{
  "openapi": "3.0.0",
  "info": {
    "description": "## Authentication\n\nMost of the API calls that Horizon 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 a local 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### Authenticating using API-ID and API-KEY\n\nThis method of authentication requires you to send your Horizon 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://horizon.evertrust.fr/api/v1/security/principals/self -H \"X-API-ID: administrator\" -H \"X-API-KEY: horizon\" -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\n\nThis method of authentication requires to have a created authorization based on an X509 certificate that has the clientAuth EKU.\nIt also requires you to have imported the CA that issued this certificate in Horizon 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://horizon.evertrust.fr/api/v1/security/principals/self --cert horizon-login-dev-guide.pem --key horizon-login-dev-guide.key -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### 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://horizon.evertrust.fr/api/v1/security/principals/self -b cookies.txt -H \"Accept: application/json\"\n```\n\n### Handling CSRF Token \n\n\nOur api are used by a frontend and require a CSRF protection.\nA CSRF token validation is needed when all of the following are true:\n\n- The request method is not GET, HEAD or OPTIONS.\n- The request has one or more Cookie or Authorization headers.\n\nReceiving the following response probably means that your request has failed the CSRF token validation:\n\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <title>Unauthorized</title>\n\n<style  type=\"text/css\">\n            html, body, pre {\n                margin: 0;\n                padding: 0;\n                font-family: Monaco, 'Lucida Console', monospace;\n                background: #ECECEC;\n            }\n            h1 {\n                margin: 0;\n                background: #333;\n                padding: 20px 45px;\n                color: #fff;\n                text-shadow: 1px 1px 1px rgba(0,0,0,.3);\n                border-bottom: 1px solid #111;\n                font-size: 28px;\n            }\n            p#detail {\n                margin: 0;\n                padding: 15px 45px;\n                background: #888;\n                border-top: 4px solid #666;\n                color: #111;\n                text-shadow: 1px 1px 1px rgba(255,255,255,.3);\n                font-size: 14px;\n                border-bottom: 1px solid #333;\n            }\n        </style>\n    </head>\n    <body>\n        <h1>Unauthorized</h1>\n        <p id=\"detail\">\n            You must be authenticated to access this page.\n        </p>\n    </body>\n</html>\n```\n\nTo avoid the CSRF token validation in api usage:\n- Authentication using API-ID and API-KEY headers should be prioritized as http basic authentication results in the creation of an Authorization header. \n- Avoid the use of cookies as api usage does not require them.\n\nIf you cannot avoid those cases, the following procedure explains how to handle the CSRF token validation. \n\nFirst you will have to retrieve a valid cookie CSRF token from the server.\n\n```shell\n $ curl https://horizon.evertrust.fr/api/v1/security/principals/self --header 'X-API-ID:administrator' --header 'X-API-KEY:horizon' -c cookies.txt\n```\n\nOnce done the file `cookies.txt` should have two entries:\n- A play session \n- A CSRF token:\n\n```text\nlocalhost\tFALSE\t/\tFALSE\t0\tcsrf-token\t456aa18162e8736047dbd878617283aa361cd83e-1708941483170-da503a15304a666a96748f5d\nlocalhost\tFALSE\t/\tFALSE\t1708942383\tPLAY_SESSION\teyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImlkZW50aWZpZXIiOiJhZG1pbmlzdHJhdG9yIiwibmFtZSI6Ikhvcml6b24gQWRtaW5pc3RyYXRvciIsImlkcFR5cGUiOiJMb2NhbCIsImlkcE5hbWUiOiJsb2NhbCJ9LCJleHAiOjE3MDg5NDIzODMsIm5iZiI6MTcwODk0MTQ4MywiaWF0IjoxNzA4OTQxNDgzfQ.79xRjdGhaVv_5mM8bpkLgcL78QCEWu08zgthP_dt9Pc\n```\n\nTo successfully authenticate to the server, both the csrf-token cookie and a `csrf-token` header containing the cookie content should be defined.\n\nSending a POST request using cookies without the `csrf-token` header will result in the forbidden html page:\n\n```shell\ncurl --location 'localhost:9000/api/v1/certificate/labels' \\\n--header 'X-API-ID: administrator' \\\n--header 'X-API-KEY: evertrust' \\\n--header 'Content-Type: application/json' \\\n-b cookies.txt \\\n--data '{\n    \"name\": \"NEW_LABEL\",\n    \"displayName\" : [],\n    \"description\": []\n}'\n```\n\nA valid authentication also copies the content in the `csrf-token` header:\n\n```shell\ncurl --location 'localhost:9000/api/v1/certificate/labels' \\\n--header 'X-API-ID: administrator' \\\n--header 'X-API-KEY: evertrust' \\\n--header 'csrf-token: 456aa18162e8736047dbd878617283aa361cd83e-1708941483170-da503a15304a666a96748f5d' \\\n--header 'Content-Type: application/json' \\\n--data '{\n    \"name\": \"NEW_LABEL\",\n    \"regex\": null,\n    \"displayName\" : [],\n    \"description\": []\n}'\n```",
    "title": "Horizon API",
    "version": "2.5.0"
  },
  "servers": [
    {
      "url": "http://localhost:9000",
      "description": "local server"
    }
  ],
  "security": [
    {
      "apiId": [],
      "apiKey": []
    },
    {
      "cookieAuth": []
    }
  ],
  "tags": [
    {
      "name": "api.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 Horizon instance."
    },
    {
      "name": "api.ca",
      "x-displayName": "Certificate Authorities",
      "description": "CA API"
    },
    {
      "name": "api.cache",
      "x-displayName": "Cache CRL",
      "description": "Cache API"
    },
    {
      "name": "api.certificate.label",
      "x-displayName": "Certificate Labels",
      "description": "Certificate Label API"
    },
    {
      "name": "api.certificate.grading.policy",
      "x-displayName": "Certificate Grading Policies",
      "description": "Certificate Grading Policy API"
    },
    {
      "name": "api.certificate.grading.ruleset",
      "x-displayName": "Certificate Grading Rulesets",
      "description": "Certificate Grading Ruleset API"
    },
    {
      "name": "api.certificate.profile",
      "x-displayName": "Certificate Profiles",
      "description": "Certificate Profile API"
    },
    {
      "name": "api.certificate",
      "x-displayName": "Certificates",
      "description": "The Certificate object represents a certificate that is known to Horizon. Horizon can manage its compliance with your corporate policies, and can also manage its lifecycle. A certificate can either be issued through Horizon or be discovered by a third-party client, such as horizon-cli. You won't be able to directly issue certificates through this API, but you'll need to use the Requests API instead."
    },
    {
      "name": "api.discovery.campaign",
      "x-displayName": "Discovery Campaigns",
      "description": "A discovery campaign is an object that is required to perform any kind of discovery operation. It holds all the discovery metadata of the certificates that were discovered under a specific campaign."
    },
    {
      "name": "api.discovery.event",
      "x-displayName": "Discovery Events",
      "description": "A discovery event is a specific event type that can only be raised through the discovery workflow."
    },
    {
      "name": "api.discovery.feed",
      "x-displayName": "Discovery Feed",
      "description": "The discovery feed allows a discovery client (like Horizon CLI) to push certificates into Horizon alongside with discovery data, let it be an unmanaged certificate that we want to be aware of or a managed one that we want to track the use of."
    },
    {
      "name": "api.license",
      "x-displayName": "License",
      "description": "License API"
    },
    {
      "name": "api.pki.connector",
      "x-displayName": "PKI Connectors",
      "description": "PKI - Connector API"
    },
    {
      "name": "api.pki.queue",
      "x-displayName": "PKI Queues",
      "description": "PKI - Queue API"
    },
    {
      "name": "api.http.httpproxy",
      "x-displayName": "HTTP Proxies",
      "description": "HTTP Proxy API"
    },
    {
      "name": "api.system.configuration",
      "x-displayName": "System configuration",
      "description": "System configuration handle global settings for Horizon"
    },
    {
      "name": "api.thirdparty.connector",
      "x-displayName": "Third Party Connectors",
      "description": "Third Party Connector API"
    },
    {
      "name": "api.request",
      "x-displayName": "Requests",
      "description": "Requests are how certificates are enrolled through Horizon. A request is linked to a profile, which specifies a PKI connector that will be used to issue the certificate, and grants rights to users to issue certificates on the given profile.\n\n## Requests lifecycle\n\nAll Horizon requests share the same lifecycle steps :\n\n1. The request is submitted by the requester;\n1. If the requester has direct permissions on the considered workflow, the request is immediately completed;\n1. If the requester only has request permissions on the considered workflow, the request is set as Pending;\n1. While the request is pending, the requester may cancel the request, putting it in the Canceled state;\n1. While the request is pending, the approver may deny the request, putting it in the Denied state;\n1. While the request is pending, the approver may accept the request, putting it in the Approved state;\n1. If the request concerns an EST or a SCEP challenge, the request stays Approved until the challenge is used, at which point it will be put in the Completed state;\n1. Otherwise, the request immediately goes from Approved to Completed.\n"
    },
    {
      "name": "api.event",
      "x-displayName": "Events",
      "description": "Event API"
    },
    {
      "name": "api.rfc5280",
      "x-displayName": "RFC5280",
      "description": "RFC5280 API"
    },
    {
      "name": "api.scheduler.task",
      "x-displayName": "Scheduled Tasks",
      "description": "Scheduled Task API"
    },
    {
      "name": "api.security.identity.local",
      "x-displayName": "Local Identities",
      "description": "A local identity represents a local Horizon account, than will both be able to use the Horizon 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 Horizon."
    },
    {
      "name": "api.security.identity.provider",
      "x-displayName": "Identity Providers",
      "description": "An Identity Provider represents a way to authenticate to Horizon. Since Horizon supports multiple authentication methods (Local account, X509, OpenID connect), it can be configured to enable or disable several of them."
    },
    {
      "name": "api.security.passwordpolicy",
      "x-displayName": "Password Policies",
      "description": "A password policy defines the rules that must be enforced for the password management in Horizon. They are used to enforce constraints on the local account, the PKCS#12 and the challenge passwords, and their generation."
    },
    {
      "name": "api.security.principal",
      "x-displayName": "Principals",
      "description": "A security principal represents a user in Horizon. It can be used to grant permissions to users, and to assign roles and teams to them."
    },
    {
      "name": "api.security.principalinfo",
      "x-displayName": "Principal Information",
      "description": "Security - Principal Information API"
    },
    {
      "name": "api.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": "api.security.team",
      "x-displayName": "Teams",
      "description": "Teams are a way to enhance the ownership capabilities of the product. They are essentially a group of principals that own objects (certificates, requests) and do not grant any permission per se."
    },
    {
      "name": "api.trigger",
      "x-displayName": "Triggers",
      "description": "Triggers are actions executed on an event.\n## Triggers and notifications \n These actions includes two categories:\n- third party synchronization\n- notifications\n\nWhile being very different on the functional side, these two categories follow the same behavior and are both configured using this API.\n"
    },
    {
      "name": "api.trustchain",
      "x-displayName": "Trust Chains",
      "description": "Trust chain API"
    },
    {
      "name": "api.wcce",
      "x-displayName": "WCCE",
      "description": "WCCE Module API"
    },
    {
      "name": "api.templatestring",
      "x-displayName": "Computation rules",
      "description": "Computation rules' testing API"
    },
    {
      "name": "api.rfc5280",
      "x-displayName": "Decoding API (RFC5280)",
      "description": "API to decode RFC5280 objects (certificates, CRLs, CSRs, ...)"
    },
    {
      "name": "api.security.credentials",
      "x-displayName": "Credentials",
      "description": "Credentials regroup all third parties authentication secrets for secure and easy management."
    }
  ],
  "paths": {
    "/api/v1/adoc": {
      "get": {
        "description": "Generate the configuration cookbook in adoc format based on the principal administration permission(s)",
        "operationId": "adoc.get",
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The Configuration cookbook"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized access"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Adoc001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Generate the configuration cookbook in adoc format",
        "tags": [
          "api.adoc"
        ]
      }
    },
    "/api/v1/caches/crls": {
      "get": {
        "description": "List the CRL cache info",
        "operationId": "cache.crl.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.cache.CachedCRLInfos"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Retrieved CRL info"
          },
          "204": {
            "description": "No CRL Cache or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cache001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the CRL cache info",
        "tags": [
          "api.cache"
        ]
      }
    },
    "/api/v1/caches/crls/{ca}": {
      "get": {
        "description": "Retrieve the CRL cache info for a specific certificate authority based on its name",
        "operationId": "cache.crl.get",
        "parameters": [
          {
            "in": "path",
            "name": "ca",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.cache.CachedCRLInfos"
                }
              }
            },
            "description": "Retrieve CRL info for the specified Certificate Authority"
          },
          "204": {
            "description": "No CRL Cache for the specified Certificate Authority"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cache002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cache001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the CRL cache info for a specific certificate authority",
        "tags": [
          "api.cache"
        ]
      }
    },
    "/api/v1/cas": {
      "get": {
        "description": "List the existing certificate authorities",
        "operationId": "ca.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.ca.CertificateAuthorityResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Certificate authority list"
          },
          "204": {
            "description": "No certificate authority defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing certificate authorities",
        "tags": [
          "api.ca"
        ]
      },
      "post": {
        "description": "Register a new certificate authority",
        "operationId": "ca.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.ca.CertificateAuthorityRequest"
              }
            }
          },
          "description": "Certificate authority to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.ca.CertificateAuthorityResponse"
                }
              }
            },
            "description": "Certificate authority successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new certificate authority",
        "tags": [
          "api.ca"
        ]
      },
      "put": {
        "description": "Update an existing certificate authority",
        "operationId": "ca.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.ca.CertificateAuthorityRequest"
              }
            }
          },
          "description": "Certificate authority to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.ca.CertificateAuthorityResponse"
                }
              }
            },
            "description": "Certificate authority successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing certificate authority",
        "tags": [
          "api.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/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing certificate authority",
        "tags": [
          "api.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": {
                  "$ref": "#/components/schemas/models.ca.CertificateAuthorityResponse"
                }
              }
            },
            "description": "The certificate authority"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing certificate authority",
        "tags": [
          "api.ca"
        ]
      }
    },
    "/api/v1/certificate/grading/policies/{name}": {
      "get": {
        "description": "Retrieve an existing grading policy based on its name",
        "operationId": "grading.policy.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.grading.policy.GradingPolicy"
                }
              }
            },
            "description": "The grading policy"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing grading policy",
        "tags": [
          "api.certificate.grading.policy"
        ]
      }
    },
    "/api/v1/certificate/grading/policies/{policy}/explain/{input}": {
      "get": {
        "description": "Explain a Grading Policy based on a certificate provided URL encoded (PEM or DER) in the URL",
        "operationId": "grading.policy.explain.url",
        "parameters": [
          {
            "in": "path",
            "name": "policy",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "input",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.grading.policy.ExplainedGradingPolicy"
                }
              }
            },
            "description": "Explained Grading Policy regarding the provided certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Explain a Grading Policy",
        "tags": [
          "api.certificate.grading.policy"
        ]
      }
    },
    "/api/v1/certificate/grading/policies/{policy}/explain": {
      "post": {
        "description": "Explain a Grading Policy based on a certificate provided in the request body",
        "operationId": "grading.policy.explain.file",
        "parameters": [
          {
            "in": "path",
            "name": "policy",
            "required": true,
            "schema": {
              "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": {
                  "$ref": "#/components/schemas/models.certificate.grading.policy.ExplainedGradingPolicy"
                }
              }
            },
            "description": "Explained Grading Policy regarding the provided certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Explain a Grading Policy",
        "tags": [
          "api.certificate.grading.policy"
        ]
      }
    },
    "/api/v1/certificate/grading/policies/{policy}/run": {
      "get": {
        "description": "Run a grading policy on every profile/discovery campaigns referenced the grading policy",
        "operationId": "grading.policy.run",
        "parameters": [
          {
            "in": "path",
            "name": "policy",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The grading policy is running (it is a slow operation that can take time)"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Run a grading policy",
        "tags": [
          "api.certificate.grading.policy"
        ]
      }
    },
    "/api/v1/certificate/grading/policies": {
      "get": {
        "description": "List the existing grading policies",
        "operationId": "grading.policy.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.certificate.grading.policy.GradingPolicy"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Grading policy list"
          },
          "204": {
            "description": "No grading policy defined"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing grading policies",
        "tags": [
          "api.certificate.grading.policy"
        ]
      }
    },
    "/api/v1/certificate/grading/rulesets/{name}": {
      "get": {
        "description": "Retrieve an existing grading rukeset based on its name",
        "operationId": "grading.ruleset.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.grading.rule.GradingRuleset"
                }
              }
            },
            "description": "The grading ruleset"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing grading ruleset",
        "tags": [
          "api.certificate.grading.ruleset"
        ]
      }
    },
    "/api/v1/certificate/grading/rulesets/{ruleset}/explain/{input}": {
      "get": {
        "description": "Explain a Grading Ruleset based on a certificate provided URL encoded (PEM or DER) in the URL",
        "operationId": "grading.ruleset.explain.url",
        "parameters": [
          {
            "in": "path",
            "name": "ruleset",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "input",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.grading.rule.ExplainedGradingRuleset"
                }
              }
            },
            "description": "Explained Grading Ruleset regarding the provided certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Explain a Grading Ruleset",
        "tags": [
          "api.certificate.grading.ruleset"
        ]
      }
    },
    "/api/v1/certificate/grading/rulesets/{ruleset}/explain": {
      "post": {
        "description": "Explain a Grading Ruleset based on a certificate provided in the request body",
        "operationId": "grading.ruleset.explain.file",
        "parameters": [
          {
            "in": "path",
            "name": "ruleset",
            "required": true,
            "schema": {
              "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": {
                  "$ref": "#/components/schemas/models.certificate.grading.rule.ExplainedGradingRuleset"
                }
              }
            },
            "description": "Explained Grading Ruleset regarding the provided certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Explain a Grading Ruleset",
        "tags": [
          "api.certificate.grading.ruleset"
        ]
      }
    },
    "/api/v1/certificate/grading/rulesets": {
      "get": {
        "description": "List the existing grading rulesets",
        "operationId": "grading.ruleset.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.certificate.grading.rule.GradingRuleset"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Grading ruleset list"
          },
          "204": {
            "description": "No grading policy defined"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GradingRuleset001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing grading rulesets",
        "tags": [
          "api.certificate.grading.ruleset"
        ]
      }
    },
    "/api/v1/certificate/labels": {
      "get": {
        "description": "List the existing labels",
        "operationId": "label.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.certificate.label.Label"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Label list"
          },
          "204": {
            "description": "No label defined or insufficient permissions"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing labels",
        "tags": [
          "api.certificate.label"
        ]
      },
      "post": {
        "description": "Register a new label",
        "operationId": "label.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.certificate.label.Label"
              }
            }
          },
          "description": "Label to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.label.Label"
                }
              }
            },
            "description": "Label successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new label",
        "tags": [
          "api.certificate.label"
        ]
      },
      "put": {
        "description": "Update an existing label",
        "operationId": "label.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.certificate.label.Label"
              }
            }
          },
          "description": "Label to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.label.Label"
                }
              }
            },
            "description": "Label successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing label",
        "tags": [
          "api.certificate.label"
        ]
      }
    },
    "/api/v1/certificate/labels/{name}": {
      "get": {
        "description": "Retrieve an existing label based on its name",
        "operationId": "label.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.certificate.label.Label"
                }
              }
            },
            "description": "The label"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing label",
        "tags": [
          "api.certificate.label"
        ]
      },
      "delete": {
        "description": "Delete an existing label based on its name",
        "operationId": "label.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Label successfully deleted"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertLabel001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing label",
        "tags": [
          "api.certificate.label"
        ]
      }
    },
    "/api/v1/certificate/profiles": {
      "get": {
        "description": "List the existing certificate profiles with the capability to filter on a list of module(s)",
        "operationId": "certificate.profile.list",
        "parameters": [
          {
            "in": "query",
            "name": "modules",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/models.acme.AcmeProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.est.EstProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.intune.IntuneProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.jamf.JamfProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.scep.ScepProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.wcce.WcceProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.webra.WebRAProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.intune.IntunePKCSProfile"
                      },
                      {
                        "$ref": "#/components/schemas/models.acme.AcmeExternalProfile"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Certificate profile list"
          },
          "204": {
            "description": "No certificate profile defined or insufficient permissions"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing certificate profiles",
        "tags": [
          "api.certificate.profile"
        ]
      },
      "post": {
        "description": "Register a new certificate profile",
        "operationId": "certificate.profile.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.acme.AcmeProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.est.EstProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.intune.IntuneProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.jamf.JamfProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.scep.ScepProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.wcce.WcceProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.intune.IntunePKCSProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.acme.AcmeExternalProfile"
                  }
                ]
              }
            }
          },
          "description": "Certificate profile to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.acme.AcmeProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntuneProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.jamf.JamfProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.wcce.WcceProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntunePKCSProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.acme.AcmeExternalProfile"
                    }
                  ]
                }
              }
            },
            "description": "Certificate profile successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new certificate profile",
        "tags": [
          "api.certificate.profile"
        ]
      },
      "put": {
        "description": "Update an existing certificate profile",
        "operationId": "certificate.profile.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.acme.AcmeProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.est.EstProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.intune.IntuneProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.jamf.JamfProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.scep.ScepProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.wcce.WcceProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.intune.IntunePKCSProfile"
                  },
                  {
                    "$ref": "#/components/schemas/models.acme.AcmeExternalProfile"
                  }
                ]
              }
            }
          },
          "description": "Certificate profile to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.acme.AcmeProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntuneProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.jamf.JamfProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.wcce.WcceProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntunePKCSProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.acme.AcmeExternalProfile"
                    }
                  ]
                }
              }
            },
            "description": "Certificate profile successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing certificate profile",
        "tags": [
          "api.certificate.profile"
        ]
      }
    },
    "/api/v1/certificate/profiles/{name}": {
      "get": {
        "description": "Retrieve a specific certificate profile based on its name",
        "operationId": "certificate.profile.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.acme.AcmeProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntuneProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.jamf.JamfProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.wcce.WcceProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntunePKCSProfile"
                    },
                    {
                      "$ref": "#/components/schemas/models.acme.AcmeExternalProfile"
                    }
                  ]
                }
              }
            },
            "description": "The certificate profile"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve a specific certificate profile",
        "tags": [
          "api.certificate.profile"
        ]
      },
      "delete": {
        "description": "Delete a certificate profile based on its name. Will also delete any role or principal permission associated to this profile",
        "operationId": "certificate.profile.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Certificate profile was successfully deleted"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertProfile001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete a certificate profile",
        "tags": [
          "api.certificate.profile"
        ]
      }
    },
    "/api/v1/discovery/events/csv": {
      "post": {
        "description": "Send a discovery event search query (in HDQL format) and return the discovery event search results in CSV format",
        "operationId": "discovery.event.csv",
        "requestBody": {
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.discovery.event.DiscoveryEventSearchQuery"
              }
            }
          },
          "description": "The discovery event search query",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/csv": {}
            },
            "description": "The discovery event search results in CSV format"
          },
          "204": {
            "description": "No discovery event found"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscEvt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Discovery event search",
        "tags": [
          "api.discovery.event"
        ]
      }
    },
    "/api/v1/events/search": {
      "post": {
        "description": "Send an event search query (in HEQL format) and return the event search results",
        "operationId": "event.search",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.event.EventSearchQuery"
              }
            }
          },
          "description": "The event search query",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.event.EventSearchResults"
                }
              }
            },
            "description": "The event search results"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Event search",
        "tags": [
          "api.event"
        ]
      }
    },
    "/api/v1/events/verify": {
      "get": {
        "description": "verify event from id:\n  - is id specified: verify only one event\n  - is from specified: verify every event from the event specified to the last event registered\n  - is to specified: verify every event from the beginning to the event specified\n  - is from and to specified: verify every event between the events specified\n",
        "operationId": "event.validate",
        "parameters": [
          {
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Specified Event(s) are valid"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.error.Error"
                }
              }
            },
            "description": "Invalid request. Possible error codes are:\n  - '***EVT-004***' : Invalid Event\n"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Event verify",
        "tags": [
          "api.event"
        ]
      }
    },
    "/api/v1/events/{id}": {
      "get": {
        "description": "Retrieve an existing event based on its id",
        "operationId": "event.get",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.event.Event"
                }
              }
            },
            "description": "The Event"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieved an existing Event",
        "tags": [
          "api.event"
        ]
      }
    },
    "/api/v1/licenses/modules": {
      "get": {
        "description": "Retrieve the license entitled modules",
        "operationId": "licenses.modules",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "The list of module activated"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the license entitled modules",
        "tags": [
          "api.license"
        ]
      }
    },
    "/api/v1/licenses": {
      "get": {
        "description": "Return the complete information regarding the license:\n   - License validity\n   - License expiration date\n   - Entitled Modules along with the holder limit (if any)\n",
        "operationId": "licenses.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.license.LicenseInfo"
                }
              }
            },
            "description": "License information"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the license information",
        "tags": [
          "api.license"
        ]
      }
    },
    "/api/v1/pki/connectors": {
      "get": {
        "description": "List the existing PKI connector(s)",
        "operationId": "pki.connector.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/models.pki.connector.stream.StreamConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.aws.AWSACMPCAConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.certeurope.CertEuropeConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.cmp.CMPConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.digicert.DigiCertConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.ejbca.EJBCAConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.entrust.EntrustConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.evertrust.IntegratedCAConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.fisid.FCMSConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.globalsign.GSAtlasConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.globalsign.GSMSSLConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.idnomic.OTPKIConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.microsoft.ADCSConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.microsoft.EverTrustADCSConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.pki.connector.nexus.NexusCMConnector"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "PKI connector list"
          },
          "204": {
            "description": "No PKI connector defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing PKI connector(s)",
        "tags": [
          "api.pki.connector"
        ]
      },
      "post": {
        "description": "Register a new PKI connector",
        "operationId": "pki.connector.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.pki.connector.stream.StreamConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.aws.AWSACMPCAConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.certeurope.CertEuropeConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.cmp.CMPConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.digicert.DigiCertConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.ejbca.EJBCAConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.entrust.EntrustConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.evertrust.IntegratedCAConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.fisid.FCMSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.globalsign.GSAtlasConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.globalsign.GSMSSLConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.idnomic.OTPKIConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.microsoft.ADCSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.microsoft.EverTrustADCSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.nexus.NexusCMConnector"
                  }
                ]
              }
            }
          },
          "description": "PKI connector to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "discriminator": {
                    "propertyName": "type"
                  },
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.pki.connector.stream.StreamConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.aws.AWSACMPCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.certeurope.CertEuropeConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.cmp.CMPConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.digicert.DigiCertConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.ejbca.EJBCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.entrust.EntrustConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.evertrust.IntegratedCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.fisid.FCMSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.globalsign.GSAtlasConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.globalsign.GSMSSLConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.idnomic.OTPKIConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.microsoft.ADCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.microsoft.EverTrustADCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.nexus.NexusCMConnector"
                    }
                  ]
                }
              }
            },
            "description": "PKI connector successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new PKI connector",
        "tags": [
          "api.pki.connector"
        ]
      },
      "put": {
        "description": "Update an existing PKI connector",
        "operationId": "pki.connector.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.pki.connector.stream.StreamConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.aws.AWSACMPCAConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.certeurope.CertEuropeConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.cmp.CMPConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.digicert.DigiCertConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.ejbca.EJBCAConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.entrust.EntrustConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.evertrust.IntegratedCAConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.fisid.FCMSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.globalsign.GSAtlasConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.globalsign.GSMSSLConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.idnomic.OTPKIConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.microsoft.ADCSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.microsoft.EverTrustADCSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.pki.connector.nexus.NexusCMConnector"
                  }
                ]
              }
            }
          },
          "description": "PKI connector to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "discriminator": {
                    "propertyName": "type"
                  },
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.pki.connector.stream.StreamConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.aws.AWSACMPCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.certeurope.CertEuropeConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.cmp.CMPConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.digicert.DigiCertConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.ejbca.EJBCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.entrust.EntrustConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.evertrust.IntegratedCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.fisid.FCMSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.globalsign.GSAtlasConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.globalsign.GSMSSLConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.idnomic.OTPKIConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.microsoft.ADCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.microsoft.EverTrustADCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.nexus.NexusCMConnector"
                    }
                  ]
                }
              }
            },
            "description": "PKI connector successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing PKI connector",
        "tags": [
          "api.pki.connector"
        ]
      }
    },
    "/api/v1/pki/connectors/{name}": {
      "get": {
        "description": "Retrieve an existing PKI connector based on its name",
        "operationId": "pki.connector.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.pki.connector.stream.StreamConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.aws.AWSACMPCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.certeurope.CertEuropeConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.cmp.CMPConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.digicert.DigiCertConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.ejbca.EJBCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.entrust.EntrustConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.evertrust.IntegratedCAConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.fisid.FCMSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.globalsign.GSAtlasConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.globalsign.GSMSSLConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.idnomic.OTPKIConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.microsoft.ADCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.microsoft.EverTrustADCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.pki.connector.nexus.NexusCMConnector"
                    }
                  ]
                }
              }
            },
            "description": "The PKI connector"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing PKI connector",
        "tags": [
          "api.pki.connector"
        ]
      },
      "delete": {
        "description": "Delete an existing PKI connector based on its name",
        "operationId": "pki.connector.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "PKI connector successfully deleted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing PKI connector",
        "tags": [
          "api.pki.connector"
        ]
      }
    },
    "/api/v1/pki/queues": {
      "get": {
        "description": "List the existing pki queue(s)",
        "operationId": "pkiqueue.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.pki.queue.PKIQueue"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Pki queue list"
          },
          "204": {
            "description": "No pki queue defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing pki queue(s)",
        "tags": [
          "api.pki.queue"
        ]
      },
      "post": {
        "description": "Register a new pki queue",
        "operationId": "pkiqueue.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.pki.queue.PKIQueue"
              }
            }
          },
          "description": "The pki queue to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.pki.queue.PKIQueue"
                }
              }
            },
            "description": "PKI queue successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new pki queue",
        "tags": [
          "api.pki.queue"
        ]
      },
      "put": {
        "description": "Update an existing pki queue",
        "operationId": "pkiqueue.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.pki.queue.PKIQueue"
              }
            }
          },
          "description": "The pki queue to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.pki.queue.PKIQueue"
                }
              }
            },
            "description": "PKI queue successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing pki queue",
        "tags": [
          "api.pki.queue"
        ]
      }
    },
    "/api/v1/pki/queues/{name}": {
      "delete": {
        "description": "Delete an existing pki queue based on its name",
        "operationId": "pkiqueue.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "PKI queue successfully deleted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing pki queue",
        "tags": [
          "api.pki.queue"
        ]
      },
      "get": {
        "description": "Retrieve an existing pki queue based on its name",
        "operationId": "pkiqueue.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.pki.queue.PKIQueue"
                }
              }
            },
            "description": "The pkiqueue"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PkiQueue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing pki queue",
        "tags": [
          "api.pki.queue"
        ]
      }
    },
    "/api/v1/proxy/httpproxies": {
      "get": {
        "description": "List the existing HTTP proxy(ies)",
        "operationId": "httpproxy.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.http.HttpProxy"
                  },
                  "type": "array"
                }
              }
            },
            "description": "HTTP proxy list"
          },
          "204": {
            "description": "No HTTP proxy defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing HTTP proxy(ies)",
        "tags": [
          "api.http.httpproxy"
        ]
      },
      "post": {
        "description": "Register a new HTTP proxy",
        "operationId": "httpproxy.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.http.HttpProxy"
              }
            }
          },
          "description": "HTTP proxy to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.http.HttpProxy"
                }
              }
            },
            "description": "HTTP proxy successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new HTTP proxy",
        "tags": [
          "api.http.httpproxy"
        ]
      },
      "put": {
        "description": "Update an existing HTTP proxy",
        "operationId": "httpproxy.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.http.HttpProxy"
              }
            }
          },
          "description": "HTTP proxy to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.http.HttpProxy"
                }
              }
            },
            "description": "HTTP proxy successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing HTTP proxy",
        "tags": [
          "api.http.httpproxy"
        ]
      }
    },
    "/api/v1/proxy/httpproxies/{name}": {
      "get": {
        "description": "Retrieve an existing HTTP proxy based on its name",
        "operationId": "httpproxy.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.http.HttpProxy"
                }
              }
            },
            "description": "The HTTP proxy"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing HTTP proxy",
        "tags": [
          "api.http.httpproxy"
        ]
      },
      "delete": {
        "description": "Delete an existing HTTP proxy based on its name",
        "operationId": "httpproxy.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "HTTP proxy successfully deleted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/HttpProxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing HTTP proxy",
        "tags": [
          "api.http.httpproxy"
        ]
      }
    },
    "/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/models.system.configuration.entries.LicenseConfiguration"
                      },
                      {
                        "$ref": "#/components/schemas/models.system.configuration.entries.InternalMonitorConfiguration"
                      },
                      {
                        "$ref": "#/components/schemas/models.system.configuration.entries.InterfaceCustomizationConfiguration"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "System configurations list"
          },
          "204": {
            "description": "No configurations defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing system configurations",
        "tags": [
          "api.system.configuration"
        ]
      },
      "put": {
        "description": "Upsert a system configuration",
        "operationId": "system.configuration.upsert",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.system.configuration.entries.LicenseConfiguration"
                  },
                  {
                    "$ref": "#/components/schemas/models.system.configuration.entries.InternalMonitorConfiguration"
                  },
                  {
                    "$ref": "#/components/schemas/models.system.configuration.entries.InterfaceCustomizationConfiguration"
                  }
                ]
              }
            }
          },
          "description": "System configuration entry to upsert",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.system.configuration.entries.LicenseConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/models.system.configuration.entries.InternalMonitorConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/models.system.configuration.entries.InterfaceCustomizationConfiguration"
                    }
                  ]
                }
              }
            },
            "description": "System configuration successfully upserted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Upsert a system configuration",
        "tags": [
          "api.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",
                "interface_customization"
              ],
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.system.configuration.entries.LicenseConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/models.system.configuration.entries.InternalMonitorConfiguration"
                    },
                    {
                      "$ref": "#/components/schemas/models.system.configuration.entries.InterfaceCustomizationConfiguration"
                    }
                  ]
                }
              }
            },
            "description": "The requested system configuration"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Upsert a system configuration",
        "tags": [
          "api.system.configuration"
        ]
      }
    },
    "/api/v1/rfc5280/detect": {
      "post": {
        "description": "Detect and parse a RFC 5280 related file (certificate bundle, certificate, crl, csr)",
        "operationId": "rfc5280.detect",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "oneOf": [
                      {
                        "format": "binary",
                        "type": "string"
                      },
                      {
                        "format": "byte",
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The file to parse",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/controllers.api.rfc5280.BundleResponse"
                    },
                    {
                      "$ref": "#/components/schemas/controllers.api.rfc5280.CertificateResponse"
                    },
                    {
                      "$ref": "#/components/schemas/controllers.api.rfc5280.CRLResponse"
                    },
                    {
                      "$ref": "#/components/schemas/controllers.api.rfc5280.CSRResponse"
                    }
                  ]
                }
              }
            },
            "description": "The RFC 5280 object type and value"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Detect and parse a RFC 5280 related file",
        "tags": [
          "api.rfc5280"
        ]
      }
    },
    "/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/fr.evertrust.certfactory.csr.CFCertificationRequest"
                }
              }
            },
            "description": "Decoded pkcs#10"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Decode a pkcs#10 (url encoded)",
        "tags": [
          "api.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/fr.evertrust.certfactory.csr.CFCertificationRequest"
                }
              }
            },
            "description": "Decoded pkcs#10"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Decode a pkcs#10 (file)",
        "tags": [
          "api.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/controllers.api.rfc5280.Pkcs12Content"
                }
              }
            },
            "description": "The content of the pkcs#12"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Extract the certificate and associated private key from a pkcs#12 (file)",
        "tags": [
          "api.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/fr.evertrust.certfactory.crt.CFCertificate"
                  },
                  "type": "array"
                }
              },
              "application/x-pem-file": {
                "schema": {
                  "type": "string"
                }
              },
              "application/x-pkcs7-certificates": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The trust chain bundle including the specified certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the Trust chain from a x509 certificate (url encoded)",
        "tags": [
          "api.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/fr.evertrust.certfactory.crt.CFCertificate"
                  },
                  "type": "array"
                }
              },
              "application/x-pem-file": {
                "schema": {
                  "type": "string"
                }
              },
              "application/x-pkcs7-certificates": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The trust chain bundle including the specified certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the Trust chain from a x509 certificate (file)",
        "tags": [
          "api.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/fr.evertrust.certfactory.crt.CFCertificate"
                }
              },
              "application/pkix-cert": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              },
              "application/x-pem-file": {
                "schema": {
                  "type": "string"
                }
              },
              "application/x-pkcs7-certificates": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The decoded x509 certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Decode a x509 certificate (url encoded)",
        "tags": [
          "api.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/fr.evertrust.certfactory.crt.CFCertificate"
                }
              },
              "application/pkix-cert": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              },
              "application/x-pem-file": {
                "schema": {
                  "type": "string"
                }
              },
              "application/x-pkcs7-certificates": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The decoded x509 certificate"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Decode a x509 certificate (file)",
        "tags": [
          "api.rfc5280"
        ]
      }
    },
    "/api/v1/scheduler/tasks": {
      "get": {
        "description": "List the existing scheduled task(s)",
        "operationId": "scheduler.task.list",
        "parameters": [
          {
            "in": "query",
            "name": "scheduledTaskType",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/models.report.ReportScheduledTask"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.ThirdPartyScheduledTask"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Scheduled task list"
          },
          "204": {
            "description": "No scheduled task defined or insufficient permissions"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing scheduled task(s)",
        "tags": [
          "api.scheduler.task"
        ]
      },
      "post": {
        "description": "Register a new scheduled task",
        "operationId": "scheduler.task.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.report.ReportScheduledTask"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.ThirdPartyScheduledTask"
                  }
                ]
              }
            }
          },
          "description": "Scheduled task to register",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.report.ReportScheduledTask"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ThirdPartyScheduledTask"
                    }
                  ]
                }
              }
            },
            "description": "Scheduled task successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new scheduled task",
        "tags": [
          "api.scheduler.task"
        ]
      },
      "put": {
        "description": "Update an existing scheduled task",
        "operationId": "scheduler.task.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.report.ReportScheduledTask"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.ThirdPartyScheduledTask"
                  }
                ]
              }
            }
          },
          "description": "Scheduled task to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.report.ReportScheduledTask"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ThirdPartyScheduledTask"
                    }
                  ]
                }
              }
            },
            "description": "Scheduled task successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing scheduled task",
        "tags": [
          "api.scheduler.task"
        ]
      }
    },
    "/api/v1/scheduler/tasks/{id}/run": {
      "get": {
        "description": "Run an existing scheduled task based on its id",
        "operationId": "scheduler.task.run",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Scheduled task successfully started"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Run an existing scheduled task",
        "tags": [
          "api.scheduler.task"
        ]
      }
    },
    "/api/v1/scheduler/tasks/{id}": {
      "get": {
        "description": "Retrieve an existing scheduled task based on its id",
        "operationId": "scheduler.task.get",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.report.ReportScheduledTask"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ThirdPartyScheduledTask"
                    }
                  ]
                }
              }
            },
            "description": "The scheduled task"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing scheduled task",
        "tags": [
          "api.scheduler.task"
        ]
      },
      "delete": {
        "description": "Delete an existing scheduled task based on its id",
        "operationId": "scheduler.task.delete",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Scheduled task successfully deleted"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SchedTask001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing scheduled task",
        "tags": [
          "api.scheduler.task"
        ]
      }
    },
    "/api/v1/security/identity/locals": {
      "get": {
        "operationId": "security.identity.local.list",
        "tags": [
          "api.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/models.security.identity.local.LocalIdentity"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No local identity defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.identity.local.add",
        "tags": [
          "api.security.identity.local"
        ],
        "summary": "Create a local identity",
        "description": "Create a local identity. By default, a local identity doesn't have a password and therefore cannot log in to Horizon. To set a password, call the [set password endpoint](#tag/api.security.identity.local/operation/security.identity.local.password.set) after creating the local identity.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.security.identity.local.LocalIdentityOnAdd"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Local identity successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.identity.local.LocalIdentity"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the local identity",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.identity.local.update",
        "tags": [
          "api.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/models.security.identity.local.LocalIdentity"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Local identity successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.identity.local.LocalIdentity"
                }
              }
            }
          },
          "400": {
            "description": "Unable to update local identity",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "security.identity.local.password.set",
        "tags": [
          "api.security.identity.local"
        ],
        "summary": "Set the password for a local identity",
        "description": "You can define the password that will be used by this local identity to log in to the web UI or use APIs. You must have the right management permissions to perform this action, and the password must meet the local identity provider's password policy requirements, if any has been defined.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/controllers.api.security.identity.local.SetPasswordRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Local identity's successfully set"
          },
          "400": {
            "description": "Unable to set local identity password",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/identity/locals/{identifier}": {
      "get": {
        "operationId": "security.identity.local.get",
        "tags": [
          "api.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/models.security.identity.local.LocalIdentity"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "description": "Local identity identifier.",
            "example": "administrator",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "operationId": "security.identity.local.delete",
        "tags": [
          "api.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/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "description": "Local identity identifier.",
            "example": "administrator",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/security/identity/locals/password/{identifier}": {
      "get": {
        "operationId": "security.identity.local.password.reset.request",
        "tags": [
          "api.security.identity.local"
        ],
        "summary": "Request a password reset",
        "description": "This is the first step in the password reset flow. The user will receive a reset UUID by email that can be used to complete the password reset request.",
        "responses": {
          "201": {
            "description": "Password reset request successfully registered"
          },
          "401": {
            "description": "Bad request error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId011"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "description": "Local identity identifier",
            "example": "administrator",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/security/identity/locals/password": {
      "post": {
        "operationId": "security.identity.local.password.reset",
        "tags": [
          "api.security.identity.local"
        ],
        "summary": "Reset a password",
        "description": "This is the second step of the password reset flow. Following a password reset request, the user will receive a reset UUID by email. They can then send this UUID and a new password to reset their password.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/controllers.api.security.identity.local.ResetPasswordRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Local identity's password successfully reset"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId011"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/identity/providers/dynamic/enabled": {
      "get": {
        "operationId": "security.identity.provider.enabled",
        "tags": [
          "api.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/controllers.api.security.identity.provider.EnabledIdentityProvider"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No enabled identity provider"
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Identity Provider Error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "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": [
          "api.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/models.security.identity.provider.local.LocalIdentityProvider"
                      },
                      {
                        "$ref": "#/components/schemas/models.security.identity.provider.oidc.OidcIdentityProvider"
                      }
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "No identity provider defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.identity.provider.add",
        "tags": [
          "api.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/models.security.identity.provider.local.LocalIdentityProvider"
                  },
                  {
                    "$ref": "#/components/schemas/models.security.identity.provider.oidc.OidcIdentityProvider"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Identity provider successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.security.identity.provider.oidc.OidcIdentityProvider"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the identity provider",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.identity.provider.update",
        "tags": [
          "api.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/models.security.identity.provider.local.LocalIdentityProvider"
                      }
                    ]
                  },
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/models.security.identity.provider.oidc.OidcIdentityProvider"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated identity provider",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.security.identity.provider.oidc.OidcIdentityProvider"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to update identity provider",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Identity provider not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/identity/providers/{name}": {
      "get": {
        "operationId": "security.identity.provider.get",
        "tags": [
          "api.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/models.security.identity.provider.local.LocalIdentityProvider"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.identity.provider.oidc.OidcIdentityProvider"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Identity provider not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "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": [
          "api.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/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Identity provider not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The internal name of the identity provider to retrieve"
          }
        ]
      }
    },
    "/api/v1/security/identity/providers/search": {
      "post": {
        "operationId": "security.identity.provider.search",
        "tags": [
          "api.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/controllers.api.security.identity.provider.PrincipalInfoSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The principal search results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/controllers.api.security.identity.provider.PrincipalInfoSearchResult"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No principal matching the search request"
          },
          "400": {
            "description": "Unable to search for principal",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/passwordpolicies": {
      "get": {
        "operationId": "password.policy.list",
        "tags": [
          "api.security.passwordpolicy"
        ],
        "summary": "List password policies",
        "description": "Retrieve the list of all existing password policies, including the default one (Horizon-Default)",
        "responses": {
          "200": {
            "description": "Password policy list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No password policy defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "password.policy.add",
        "tags": [
          "api.security.passwordpolicy"
        ],
        "summary": "Create a password policy",
        "description": "Create a new password policy. By default, Horizon has a default password policy named 'Horizon-Default' that enforces 16 bytes passwords",
        "requestBody": {
          "description": "The password policy to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Password policy successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the password policy",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "password.policy.update",
        "tags": [
          "api.security.passwordpolicy"
        ],
        "summary": "Update a password policy",
        "description": "Update an existing password policy based on its internal name",
        "requestBody": {
          "description": "The password policy to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Password policy successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
                }
              }
            }
          },
          "400": {
            "description": "Unable to update the password policy",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Password policy not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/passwordpolicies/{name}": {
      "get": {
        "operationId": "password.policy.get",
        "tags": [
          "api.security.passwordpolicy"
        ],
        "summary": "Retrieve a password policy",
        "description": "Retrieve an existing password policy based on its internal name",
        "responses": {
          "200": {
            "description": "The password policy",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Password policy not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The internal name of the password policy to retrieve"
          }
        ]
      },
      "delete": {
        "operationId": "password.policy.delete",
        "tags": [
          "api.security.passwordpolicy"
        ],
        "summary": "Delete a password policy",
        "description": "Delete an existing password policy based on its internal name",
        "responses": {
          "204": {
            "description": "Password policy successfully deleted"
          },
          "400": {
            "description": "Unable to Delete the password policy",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Password policy not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The internal name of the password policy to delete"
          }
        ]
      }
    },
    "/api/v1/security/passwordpolicies/{name}/generate": {
      "get": {
        "operationId": "password.policy.generate",
        "tags": [
          "api.security.passwordpolicy"
        ],
        "summary": "Generate a password with a password policy",
        "description": "Generate a random password compliant with a given password policy. If the given policy does not exist, generate a password based on default password policy (Horizon-Default)",
        "responses": {
          "200": {
            "description": "The generated password",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "description": "The generated password, returned as a plain-text string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/PasswordPolicy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The internal name of the password policy that the generated password must comply with"
          }
        ]
      }
    },
    "/api/v1/security/principalinfos": {
      "post": {
        "operationId": "security.principal.info.add",
        "tags": [
          "api.security.principalinfo"
        ],
        "summary": "Create a new principal",
        "description": "Create a new principal in Horizon",
        "requestBody": {
          "description": "The principal's information to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/models.security.principal.PrincipalInfo"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Principal information successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/models.security.principal.PrincipalInfo"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the principal",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.principal.info.update",
        "tags": [
          "api.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/models.security.principal.PrincipalInfo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Principal information successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.principal.PrincipalInfo"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the Principal Info",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Principal Info not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/principalinfos/{identifier}": {
      "get": {
        "operationId": "scurity.principal.info.get",
        "tags": [
          "api.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/models.security.principal.PrincipalInfo"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Principal Info not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "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": [
          "api.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/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Principal Information not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "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": [
          "api.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/models.search.security.principal.PrincipalInfoSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The principal information search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.security.principal.PrincipalInfoSearchResults"
                }
              }
            }
          },
          "400": {
            "description": "Unable to find the Principal Information",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/roles": {
      "get": {
        "operationId": "security.role.list",
        "tags": [
          "api.security.role"
        ],
        "summary": "List roles",
        "description": "Retrieves a list of all existing roles",
        "responses": {
          "200": {
            "description": "Role list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/models.security.role.Role"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No role defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.role.add",
        "tags": [
          "api.security.role"
        ],
        "summary": "Create a new role",
        "description": "Create a new role in Horizon",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.security.role.Role"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Role successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.role.Role"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the role",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.role.update",
        "tags": [
          "api.security.role"
        ],
        "summary": "Update a role",
        "description": "Update an existing role",
        "requestBody": {
          "description": "The role to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.security.role.Role"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Role successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.role.Role"
                }
              }
            }
          },
          "400": {
            "description": "Unable to update role",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Role not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/roles/{name}": {
      "get": {
        "operationId": "security.role.get",
        "tags": [
          "api.security.role"
        ],
        "summary": "Retrieve a role",
        "description": "Retrieves an existing role based on its name",
        "responses": {
          "200": {
            "description": "The retrieved role",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.role.Role"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Role not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "description": "Role name",
            "example": "SuperAdmin",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "operationId": "security.role.delete",
        "tags": [
          "api.security.role"
        ],
        "summary": "Delete a role",
        "description": "Delete an existing role based on its name",
        "responses": {
          "204": {
            "description": "Role successfully deleted"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Role not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "description": "Role name",
            "example": "SuperAdmins",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/security/teams": {
      "get": {
        "operationId": "security.team.list",
        "tags": [
          "api.security.team"
        ],
        "summary": "List the team(s)",
        "description": "List all the existing team(s) in Horizon",
        "responses": {
          "200": {
            "description": "Team list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/models.security.team.Team"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No team defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.team.add",
        "tags": [
          "api.security.team"
        ],
        "summary": "Create a new team",
        "description": "Create a new team in Horizon",
        "requestBody": {
          "description": "Team to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.security.team.Team"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Team successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.team.Team"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the team",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.team.update",
        "tags": [
          "api.security.team"
        ],
        "summary": "Update a team",
        "description": "Update an existing team's information",
        "requestBody": {
          "description": "The team to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/models.security.team.Team"
                  }
                ],
                "properties": {
                  "_id": {
                    "readOnly": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Team successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.team.Team"
                }
              }
            }
          },
          "400": {
            "description": "Unable to update team",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Team not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/teams/{name}": {
      "get": {
        "operationId": "security.team.get",
        "tags": [
          "api.security.team"
        ],
        "summary": "Retrieve a team",
        "description": "Retrieve an existing team based on its name",
        "responses": {
          "200": {
            "description": "The team to retrieve",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.team.Team"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Team not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the team to retrieve",
            "example": "PKIOps"
          }
        ]
      },
      "delete": {
        "operationId": "security.team.delete",
        "tags": [
          "api.security.team"
        ],
        "summary": "Delete a team",
        "description": "Delete an existing team based on its name",
        "responses": {
          "204": {
            "description": "Team successfully deleted"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Team not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the team to delete",
            "example": "PKIOps"
          }
        ]
      }
    },
    "/api/v1/security/teams/{previousTeam}/{newTeam}": {
      "patch": {
        "operationId": "security.team.switch",
        "tags": [
          "api.security.team"
        ],
        "summary": "Transfer objects from a team to another",
        "description": "Transfers all certificate(s) and request(s) from a previous team to an existing one",
        "responses": {
          "204": {
            "description": "All objects have been successfully switched from the previous team to the new one"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Team not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Team001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "previousTeam",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the team to transfer objects from",
            "example": "WinHorizon"
          },
          {
            "in": "path",
            "name": "newTeam",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the team to transfer objects to",
            "example": "PKIOps"
          }
        ]
      }
    },
    "/api/v1/security/credentials": {
      "get": {
        "operationId": "security.credentials.list",
        "tags": [
          "api.security.credentials"
        ],
        "summary": "List credentials",
        "description": "Retrieves a list of all existing credentials",
        "responses": {
          "200": {
            "description": "Credentials list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/models.security.credentials.CertificateCredentials"
                      },
                      {
                        "$ref": "#/components/schemas/models.security.credentials.PasswordCredentials"
                      },
                      {
                        "$ref": "#/components/schemas/models.security.credentials.RawCredentials"
                      }
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "No credentials defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.credentials.add",
        "tags": [
          "api.security.credentials"
        ],
        "summary": "Create new credentials",
        "description": "Create new credentials in Horizon",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.security.credentials.CertificateCredentials"
                  },
                  {
                    "$ref": "#/components/schemas/models.security.credentials.PasswordCredentials"
                  },
                  {
                    "$ref": "#/components/schemas/models.security.credentials.RawCredentials"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Credentials successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.security.credentials.CertificateCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.credentials.PasswordCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.credentials.RawCredentials"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the credentials",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.credentials.update",
        "tags": [
          "api.security.credentials"
        ],
        "summary": "Update credentials",
        "description": "Update existing credentials",
        "requestBody": {
          "description": "The credentials to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.security.credentials.CertificateCredentials"
                  },
                  {
                    "$ref": "#/components/schemas/models.security.credentials.PasswordCredentials"
                  },
                  {
                    "$ref": "#/components/schemas/models.security.credentials.RawCredentials"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Credentials successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.security.credentials.CertificateCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.credentials.PasswordCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.credentials.RawCredentials"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to update credentials",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Credentials not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/credentials/{name}": {
      "get": {
        "operationId": "security.credentials.get",
        "tags": [
          "api.security.credentials"
        ],
        "summary": "Retrieve credentials",
        "description": "Retrieves existing credentials based on its name",
        "responses": {
          "200": {
            "description": "The retrieved credentials",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.security.credentials.CertificateCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.credentials.PasswordCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/models.security.credentials.RawCredentials"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Credentials not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "description": "Credentials name",
            "example": "SuperAdmin",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "operationId": "security.credentials.delete",
        "tags": [
          "api.security.credentials"
        ],
        "summary": "Delete credentials",
        "description": "Delete existing credentials based on its name",
        "responses": {
          "204": {
            "description": "Credentials successfully deleted"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Credentials not found",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credentials001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "description": "Credentials name",
            "example": "SuperAdmins",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/templatestring/playground": {
      "post": {
        "description": "Evaluate a computation rule and its dictionary",
        "operationId": "computationrule.eval",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/controllers.api.templatestring.TemplateStringPlaygroundRequest"
              }
            }
          },
          "description": "Playground request to evaluate",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.templatestring.TemplateStringPlaygroundResponse"
                }
              }
            },
            "description": "Dictionary and computation rule successfully evaluated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ts002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ts003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ts004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ts001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Evaluate a computation rule and its dictionary",
        "tags": [
          "api.templatestring"
        ]
      }
    },
    "/api/v1/thirdparty/connectors": {
      "get": {
        "description": "List the existing third party connector(s). The list can be filtered with type and/or module.",
        "operationId": "thirdparty.connector.list",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string",
              "enum": [
                "akv",
                "aws",
                "intune",
                "f5client",
                "jamf",
                "msad",
                "intunepkcs",
                "ldap",
                "gcm"
              ]
            }
          },
          {
            "in": "query",
            "name": "module",
            "required": false,
            "schema": {
              "enum": [
                "acme",
                "est",
                "aws",
                "f5client",
                "intune",
                "jamf",
                "scep",
                "wcce",
                "webra",
                "intunepkcs"
              ],
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/models.thirdparty.aws.AWSConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.intune.IntuneConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.jamf.JamfConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.msad.MSADConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.intune.IntunePKCSConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.gcm.GCMConnector"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPConnector"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Third party connector list"
          },
          "204": {
            "description": "No third party connector defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing third party connector(s)",
        "tags": [
          "api.thirdparty.connector"
        ]
      },
      "post": {
        "description": "Register a new third party connector",
        "operationId": "thirdparty.connector.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.thirdparty.aws.AWSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.intune.IntuneConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.jamf.JamfConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.msad.MSADConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.intune.IntunePKCSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.gcm.GCMConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPConnector"
                  }
                ]
              }
            }
          },
          "description": "Third party connector to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.thirdparty.aws.AWSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.intune.IntuneConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.jamf.JamfConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.msad.MSADConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.intune.IntunePKCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.gcm.GCMConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPConnector"
                    }
                  ]
                }
              }
            },
            "description": "Third party connector successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new third party connector",
        "tags": [
          "api.thirdparty.connector"
        ]
      },
      "put": {
        "description": "Update an existing third party connector",
        "operationId": "thirdparty.connector.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.thirdparty.aws.AWSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.intune.IntuneConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.jamf.JamfConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.msad.MSADConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.intune.IntunePKCSConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.gcm.GCMConnector"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPConnector"
                  }
                ]
              }
            }
          },
          "description": "Third party connector to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.thirdparty.aws.AWSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.intune.IntuneConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.jamf.JamfConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.msad.MSADConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.intune.IntunePKCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.gcm.GCMConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPConnector"
                    }
                  ]
                }
              }
            },
            "description": "Third party connector successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing third party connector",
        "tags": [
          "api.thirdparty.connector"
        ]
      }
    },
    "/api/v1/thirdparty/connectors/{name}": {
      "get": {
        "description": "Retrieve an existing third party connector based on its name",
        "operationId": "thirdparty.connector.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.thirdparty.aws.AWSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.intune.IntuneConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.jamf.JamfConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.msad.MSADConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.intune.IntunePKCSConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.gcm.GCMConnector"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPConnector"
                    }
                  ]
                }
              }
            },
            "description": "The third party connector"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing third party connector",
        "tags": [
          "api.thirdparty.connector"
        ]
      },
      "delete": {
        "description": "Delete an existing third party connector based on its name",
        "operationId": "thirdparty.connector.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Third party connector successfully deleted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ThirdpartyConnector001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing third party connector",
        "tags": [
          "api.thirdparty.connector"
        ]
      }
    },
    "/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/models.notification.email.EmailNotification"
                      },
                      {
                        "$ref": "#/components/schemas/models.notification.webhook.WebhookNotification"
                      },
                      {
                        "$ref": "#/components/schemas/models.notification.rest.REST"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultTrigger"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientTrigger"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.aws.AWSTrigger"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.gcm.GCMTrigger"
                      },
                      {
                        "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPTrigger"
                      },
                      {
                        "$ref": "#/components/schemas/models.intune.IntunePKCSTrigger"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Trigger list"
          },
          "204": {
            "description": "No trigger defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing trigger(s)",
        "tags": [
          "api.trigger"
        ]
      },
      "post": {
        "description": "Register a new trigger",
        "operationId": "trigger.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.notification.email.EmailNotification"
                  },
                  {
                    "$ref": "#/components/schemas/models.notification.webhook.WebhookNotification"
                  },
                  {
                    "$ref": "#/components/schemas/models.notification.rest.REST"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.aws.AWSTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.intune.IntunePKCSTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.gcm.GCMTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPTrigger"
                  }
                ]
              }
            }
          },
          "description": "The trigger to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.notification.email.EmailNotification"
                    },
                    {
                      "$ref": "#/components/schemas/models.notification.webhook.WebhookNotification"
                    },
                    {
                      "$ref": "#/components/schemas/models.notification.rest.REST"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.aws.AWSTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntunePKCSTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.gcm.GCMTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPTrigger"
                    }
                  ]
                }
              }
            },
            "description": "Trigger successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new trigger",
        "tags": [
          "api.trigger"
        ]
      },
      "put": {
        "description": "Update an existing trigger",
        "operationId": "trigger.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.notification.email.EmailNotification"
                  },
                  {
                    "$ref": "#/components/schemas/models.notification.webhook.WebhookNotification"
                  },
                  {
                    "$ref": "#/components/schemas/models.notification.rest.REST"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.aws.AWSTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.intune.IntunePKCSTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.gcm.GCMTrigger"
                  },
                  {
                    "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPTrigger"
                  }
                ]
              }
            }
          },
          "description": "Trigger to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.notification.email.EmailNotification"
                    },
                    {
                      "$ref": "#/components/schemas/models.notification.webhook.WebhookNotification"
                    },
                    {
                      "$ref": "#/components/schemas/models.notification.rest.REST"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.aws.AWSTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntunePKCSTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.gcm.GCMTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPTrigger"
                    }
                  ]
                }
              }
            },
            "description": "Trigger successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing trigger",
        "tags": [
          "api.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/models.notification.email.EmailNotification"
                    },
                    {
                      "$ref": "#/components/schemas/models.notification.webhook.WebhookNotification"
                    },
                    {
                      "$ref": "#/components/schemas/models.notification.rest.REST"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.azure.AzureKeyVaultTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.f5.F5ClientTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.aws.AWSTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.intune.IntunePKCSTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.gcm.GCMTrigger"
                    },
                    {
                      "$ref": "#/components/schemas/models.thirdparty.ldap.LDAPTrigger"
                    }
                  ]
                }
              }
            },
            "description": "The trigger"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing trigger",
        "tags": [
          "api.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/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing trigger",
        "tags": [
          "api.trigger"
        ]
      }
    },
    "/api/v1/trustchains": {
      "get": {
        "description": "List the public trust chains",
        "operationId": "trustchain.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/controllers.api.trustchain.TrustChainAnchor"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Trust chains list"
          },
          "204": {
            "description": "No trust chain"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Tc001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the public trust chains",
        "tags": [
          "api.trustchain"
        ]
      }
    },
    "/api/v1/trustchains/{name}": {
      "get": {
        "description": "Retrieve the trust chain for a specific public Certificate Authority based on the Certificate Authority name",
        "operationId": "trustchain.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.trustchain.TrustChainAnchor"
                }
              }
            },
            "description": "The trust chain"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Tc001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the trust chain for a specific public Certificate Authority",
        "tags": [
          "api.trustchain"
        ]
      }
    },
    "/api/v1/wcce/enroll": {
      "post": {
        "description": "Perform an enrollment on the WCCE module. This REST call requires to be authenticated and the *Principal* must own the *Enroll* permission on the WCCE profile associated to the forest / MS template mapping.\n",
        "operationId": "wcce.enroll",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/controllers.api.wcce.WcceEnrollmentRequest"
              }
            }
          },
          "description": "The WCCE enrollment request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.wcce.WcceEnrollmentResponse"
                }
              }
            },
            "description": "Successful WCCE enrollment"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Perform a WCCE certificate enrollment",
        "tags": [
          "api.wcce"
        ]
      }
    },
    "/api/v1/wcce/exchanges/{profile}": {
      "get": {
        "description": "Retrieve the WCCE exchange certificate on a given profile",
        "operationId": "wcce.exchange",
        "parameters": [
          {
            "in": "path",
            "name": "profile",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pkix-cert": {
                "schema": {
                  "format": "certificate pem encoded",
                  "type": "string"
                }
              }
            },
            "description": "WCCE profile exchange certificate in PEM format"
          },
          "204": {
            "description": "No exchange certificate defined"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Wcce001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the WCCE exchange certificate on a given profile",
        "tags": [
          "api.wcce"
        ]
      }
    },
    "/api/v1/wcce/forests": {
      "get": {
        "description": "List the existing WCCE forest mapping(s)",
        "operationId": "wcce.forest.mapping.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/models.wcce.WcceForestMapping"
                  },
                  "type": "array"
                }
              }
            },
            "description": "WCCE forest mapping list"
          },
          "204": {
            "description": "No WCCE Forest Mapping defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing WCCE forest mapping(s)",
        "tags": [
          "api.wcce"
        ]
      },
      "post": {
        "description": "Register a new WCCE forest mapping",
        "operationId": "wcce.forest.mapping.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.wcce.WcceForestMapping"
              }
            }
          },
          "description": "The WCCE forest mapping to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.wcce.WcceForestMapping"
                }
              }
            },
            "description": "WCCE forest mapping successfully registered"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new WCCE forest mapping",
        "tags": [
          "api.wcce"
        ]
      },
      "put": {
        "description": "Update an existing WCCE forest mapping",
        "operationId": "wcce.forest.mapping.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.wcce.WcceForestMapping"
              }
            }
          },
          "description": "The WCCE forest mapping to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.wcce.WcceForestMapping"
                }
              }
            },
            "description": "WCCE forest mapping successfully updated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing WCCE forest mapping",
        "tags": [
          "api.wcce"
        ]
      }
    },
    "/api/v1/wcce/forests/{name}": {
      "get": {
        "description": "Retrieve an existing WCCE forest mapping based on its name",
        "operationId": "wcce.forest.mapping.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.wcce.WcceForestMapping"
                }
              }
            },
            "description": "The WCCE forest mapping"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing WCCE forest mapping",
        "tags": [
          "api.wcce"
        ]
      },
      "delete": {
        "description": "Delete an existing WCCE forest mapping based on its name",
        "operationId": "wcce.forest.mapping.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "WCCE forest mapping successfully deleted"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WcceForest001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing WCCE forest mapping",
        "tags": [
          "api.wcce"
        ]
      }
    },
    "/api/v1/certificates": {
      "post": {
        "operationId": "certificate.list",
        "tags": [
          "api.certificate"
        ],
        "summary": "List certificates",
        "description": "List certificate(s) matching any ID sent",
        "requestBody": {
          "description": "The list of certificates IDs to fetch",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "example": "644796623000003800cc6c4b",
                  "type": "string",
                  "description": "The certificate id"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The certificate list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateWithPermissions"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No certificate found or insufficient permissions"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/certificates/{id}": {
      "get": {
        "operationId": "certificate.get.id",
        "tags": [
          "api.certificate"
        ],
        "summary": "Retrieve a certificate",
        "description": "Retrieves a specific certificate based on its ID",
        "responses": {
          "200": {
            "description": "The specified certificate with the specified ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateWithPermissions"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Certificate not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the certificate to retrieve",
            "example": "644796623000003800cc6c4b",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/certificates/{pem}": {
      "get": {
        "operationId": "certificate.get.pem",
        "tags": [
          "api.certificate"
        ],
        "summary": "Retrieve a certificate by PEM",
        "description": "Retrieve a specific certificate based on its PEM encoded value",
        "responses": {
          "200": {
            "description": "The specified certificate",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateWithPermissions"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Certificate not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "pem",
            "description": "The URL encoded PEM encoded value of the certificate",
            "example": "-----BEGIN%20CERTIFICATE----- ... -----END%20CERTIFICATE-----",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/certificates/run/{id}/{triggerName}/{event}": {
      "patch": {
        "operationId": "certificate.run",
        "tags": [
          "api.certificate"
        ],
        "summary": "Run a certificate trigger",
        "description": "When a trigger fails, the user might have the ability to run the trigger manually again. This is only possible when `retryable` is set to true in the `triggerResult`.",
        "responses": {
          "200": {
            "description": "The updated certificate",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateWithPermissions"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Object not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "description": "The ID of the certificate",
            "example": "644796623000003800cc6c4b",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "path",
            "description": "The name of the trigger",
            "example": "TestTrigger",
            "name": "triggerName",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "event",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "on_enroll",
                "on_revoke",
                "on_update",
                "on_recover",
                "on_migrate",
                "on_expire",
                "on_renew"
              ]
            }
          }
        ]
      }
    },
    "/api/v1/certificates/search/dictionary": {
      "get": {
        "operationId": "certificate.dictionary",
        "tags": [
          "api.certificate"
        ],
        "summary": "Retrieve the certificate search dictionary",
        "description": "Return the certificate search dictionary. The dictionary is computed based on the principal and includes:\n  - The list of certificate profiles on which the principal is authorized to search on;\n  - The list of discovery campaigns the principal is authorized to search on;\n  - The list of labels the principal is authorized to search on;\n  - The list of modules available on the Horizon instance;\n  - The list of available teams on the Horizon instance;\n  - The list of available grading policies on the Horizon instance;\n  - The list of available metadata on Horizon.\n",
        "responses": {
          "200": {
            "description": "The certificate search dictionary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateSearchDictionary"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/certificates/search": {
      "post": {
        "operationId": "certificate.search",
        "tags": [
          "api.certificate"
        ],
        "summary": "Search certificates",
        "description": "Send a certificate search query (in HCQL format) and return the certificate search results",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.certificate.CertificateSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The certificate search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateSearchResults"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/certificates/aggregate": {
      "post": {
        "operationId": "certificate.aggregate",
        "tags": [
          "api.certificate"
        ],
        "summary": "Certificate aggregation",
        "description": "Send a certificate aggregation query and return the aggregation result",
        "requestBody": {
          "description": "The certificate aggregation query",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.certificate.CertificateAggregateQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The aggregation result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.search.certificate.CertificateAggregateResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/certificates/csv": {
      "post": {
        "operationId": "certificate.csv",
        "tags": [
          "api.certificate"
        ],
        "summary": "Export certificates",
        "description": "Send a certificate search query (in HCQL format) and return the certificate search results in CSV format",
        "requestBody": {
          "description": "The certificate search query",
          "required": true,
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.certificate.CertificateSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The certificate search results in CSV format",
            "content": {
              "text/csv": {}
            }
          },
          "204": {
            "description": "No certificate found"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch002",
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/profiles": {
      "get": {
        "operationId": "request.certificate.profile",
        "tags": [
          "api.request"
        ],
        "summary": "List profiles",
        "description": "All requests on Horizon are linked to a profile, which defines a certificate template and a PKI connector which will sign the certificate.  \nBefore submitting a request (such as an enrollement or revocation request), you must choose the profile on which you want to perform the operation.  \nThis endpoint lists certificate profiles on which a principal owns a given workflow capability, such as enroll or revoke.  ",
        "responses": {
          "200": {
            "description": "The requestable certificate profile list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/controllers.api.request.RequestableCertificateProfile"
                  }
                }
              }
            }
          },
          "204": {
            "description": "Principal does not own any workflow permission on certificate profile(s)"
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "module",
            "schema": {
              "description": "Only return profiles from a given module. If not specified, all profiles will be returned.",
              "enum": [
                "acme",
                "est",
                "scep",
                "wcce",
                "webra",
                "crmp"
              ],
              "nullable": true,
              "type": "string"
            },
            "required": false
          },
          {
            "in": "query",
            "name": "workflow",
            "schema": {
              "description": "Only return profiles on which the principal owns a given workflow capability. If not specified, all profiles will be returned.",
              "enum": [
                "enroll",
                "revoke",
                "recover",
                "renew",
                "update",
                "migrate"
              ],
              "nullable": true,
              "type": "string"
            },
            "required": false
          }
        ]
      }
    },
    "/api/v1/requests/template": {
      "post": {
        "operationId": "request.template",
        "tags": [
          "api.request"
        ],
        "summary": "Retrieve a request template",
        "description": "Retrieve the template to fulfill a specific request. The template indicates the required element to include when submitting a new request",
        "requestBody": {
          "description": "The request on which to return the template",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestTemplateSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.est.EstEnrollRequestOnTemplate"
                  },
                  {
                    "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnTemplate"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request including the template",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnTemplate"
                        }
                      ],
                      "required": [
                        "profile",
                        "template"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnTemplate"
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnTemplate"
                        }
                      ],
                      "required": [
                        "profile"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnTemplate"
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestTemplateSubmit"
                        }
                      ],
                      "required": [
                        "profile"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnTemplate"
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnTemplate"
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.est.EstEnrollRequestOnTemplate"
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnTemplate"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No profile specified",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/submit": {
      "post": {
        "operationId": "request.submit",
        "tags": [
          "api.request"
        ],
        "summary": "Submit a request",
        "description": "Submit a new request",
        "requestBody": {
          "description": "The Request to submit",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.est.EstEnrollRequestOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnSubmit"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successfully submitted",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstEnrollRequestOnSubmit"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnSubmit"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertTeam001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertElem001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                400
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraImport001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraImport003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraImport004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                401
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                403
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                404
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                404
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                404
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req010"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                404
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req010"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll006"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll009"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll007"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll008"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll010"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll011"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll012"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll013"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll014"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate005"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew002"
                        },
                        {
                          "properties": {
                            "status": {
                              "enum": [
                                500
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/{id}": {
      "get": {
        "operationId": "request.get",
        "tags": [
          "api.request"
        ],
        "summary": "Retrieve a request",
        "description": "Retrieve an existing request based on its id",
        "responses": {
          "200": {
            "description": "The request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnApprove"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Request not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The request ID",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/requests/cancel": {
      "post": {
        "operationId": "request.cancel",
        "tags": [
          "api.request"
        ],
        "summary": "Cancel a request",
        "description": "Cancel an existing request",
        "requestBody": {
          "description": "The Request to cancel",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "_id": {
                    "description": "The ID of the request to cancel",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Id"
                      }
                    ]
                  },
                  "module": {
                    "$ref": "#/components/schemas/Module"
                  },
                  "workflow": {
                    "$ref": "#/components/schemas/Workflow"
                  }
                },
                "required": [
                  "_id",
                  "module",
                  "workflow"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successfully canceled",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnApprove"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/approve": {
      "post": {
        "operationId": "request.approve",
        "tags": [
          "api.request"
        ],
        "summary": "Approve a request",
        "description": "Requester that do not have the privileges to directly enroll will see their requests in the pending state after submitting them. An approver can then approve the request, which will trigger the enrollment trough the configured PKI connector.",
        "requestBody": {
          "description": "The request to approve",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.est.EstEnrollRequestOnApprove"
                  },
                  {
                    "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnApprove"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successfully approved",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnApprove"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertTeam001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertElem001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraImport001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraImport002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Request not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EstEnroll009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ScepEnroll009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll011"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll012"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll013"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraEnroll014"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRecover002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRevoke002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraMigrate004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/WebraRenew002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/deny": {
      "post": {
        "operationId": "request.deny",
        "tags": [
          "api.request"
        ],
        "summary": "Deny a request",
        "description": "Deny an existing request",
        "requestBody": {
          "description": "The request to deny",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "_id": {
                    "description": "The ID of the request to deny",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Id"
                      }
                    ]
                  },
                  "module": {
                    "$ref": "#/components/schemas/Module"
                  },
                  "workflow": {
                    "$ref": "#/components/schemas/Workflow"
                  },
                  "approverComment": {
                    "type": "string",
                    "description": "Free-text field editable by the approver to provider more context on the denial"
                  }
                },
                "required": [
                  "_id",
                  "module",
                  "workflow"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successfully denied",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.est.EstEnrollRequestOnApprove"
                    },
                    {
                      "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnApprove"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SecAuth007"
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertSearch003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/search/dictionary": {
      "get": {
        "operationId": "request.dictionary",
        "tags": [
          "api.request"
        ],
        "summary": "Retrieve the request search dictionary",
        "description": "Return the request search dictionary. The dictionary is computed based on the principal and includes:\n  - The list of certificate profiles on which the principal is authorized to search on;\n  - The list of labels the principal is authorized to search on;\n  - The list of modules available on the Horizon instance;\n  - The list of available teams on the Horizon instance;\n  - The list of available metadata on Horizon.\n",
        "responses": {
          "200": {
            "description": "The request search dictionary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.request.RequestSearchDictionary"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/search": {
      "post": {
        "operationId": "request.search",
        "tags": [
          "api.request"
        ],
        "summary": "Search requests",
        "description": "Send a request search query (in HRQL format) and return the request search results",
        "requestBody": {
          "description": "The request search query",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.request.RequestSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.request.RequestSearchResults"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/csv": {
      "post": {
        "operationId": "request.csv",
        "tags": [
          "api.request"
        ],
        "summary": "Export requests",
        "description": "Send a request search query (in HRQL format) and return the request search results in CSV format",
        "requestBody": {
          "description": "The request search query",
          "required": true,
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.request.RequestSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The request search results in CSV format",
            "content": {
              "text/csv": {}
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/requests/aggregate": {
      "post": {
        "operationId": "request.aggregate",
        "tags": [
          "api.request"
        ],
        "summary": "Request aggregation",
        "description": "Send a request aggregation query and return the aggregation result",
        "requestBody": {
          "description": "The request aggregation query",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.request.RequestAggregateQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The aggregation result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.search.request.RequestAggregateResult"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Req001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/discovery/campaigns": {
      "get": {
        "operationId": "discovery.campaign.list",
        "tags": [
          "api.discovery.campaign"
        ],
        "summary": "List discovery campaign(s)",
        "description": "List all the existing discovery campaign(s)",
        "responses": {
          "200": {
            "description": "Discovery campaign list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaign"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No discovery campaign defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "discovery.campaign.add",
        "tags": [
          "api.discovery.campaign"
        ],
        "summary": "Create a new discovery campaign",
        "description": "Create a new discovery campaign in Horizon",
        "requestBody": {
          "description": "Discovery campaign to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaign"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Discovery campaign successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaign"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the discovery campaign",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "discovery.campaign.update",
        "tags": [
          "api.discovery.campaign"
        ],
        "summary": "Update a discovery campaign",
        "description": "Update an existing discovery campaign's information",
        "requestBody": {
          "description": "Discovery campaign to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaign"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Discovery campaign successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaign"
                }
              }
            }
          },
          "400": {
            "description": "Unable to update the discovery campaign",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/discovery/campaigns/{name}": {
      "get": {
        "operationId": "discovery.campaign.get",
        "tags": [
          "api.discovery.campaign"
        ],
        "summary": "Retrieve a discovery campaign",
        "description": "Retrieve a specific discovery campaign based on its name",
        "responses": {
          "200": {
            "description": "The discovery campaign",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaign"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the discovery campaign to retrieve",
            "example": "Discovery-DMZ01"
          }
        ]
      },
      "delete": {
        "operationId": "discovery.campaign.delete",
        "tags": [
          "api.discovery.campaign"
        ],
        "summary": "Delete a discovery campaign",
        "description": "Delete an existing discovery campaign based on its name",
        "responses": {
          "204": {
            "description": "Discovery campaign successfully deleted"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the discovery campaign to delete",
            "example": "Discovery-DMZ01"
          }
        ]
      },
      "patch": {
        "operationId": "discovery.campaign.flush",
        "tags": [
          "api.discovery.campaign"
        ],
        "summary": "Flush a discovery campaign",
        "description": "Flush an existing discovery campaign based on its name. Flushing a discovery campaign will:\n  - Remove discovery info related to the considered discovery campaign from any certificate (managed or discovered);\n  - Delete any discovered certificate which is no longer associated to a discovery campaign.\n",
        "responses": {
          "204": {
            "description": "Discovery campaign successfully flushed"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the discovery campaign to flush"
          }
        ]
      }
    },
    "/api/v1/discovery/events/search": {
      "post": {
        "description": "Send a discovery event search query (in HDQL format) and return the discovery event search results",
        "operationId": "discovery.event.search",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/models.search.discovery.event.DiscoveryEventSearchQuery"
              }
            }
          },
          "description": "The discovery event search query",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/controllers.api.event.EventSearchResults"
                }
              }
            },
            "description": "The discovery event search results"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscEvt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Discovery event search",
        "tags": [
          "api.discovery.event"
        ]
      }
    },
    "/api/v1/discovery/events/{id}": {
      "get": {
        "description": "Retrieve a specific discovery event based on its id",
        "operationId": "discovery.event.get",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.discovery.event.DiscoveryEvent"
                }
              }
            },
            "description": "The discovery event"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscEvt003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscEvt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve a specific discovery event",
        "tags": [
          "api.discovery.event"
        ]
      }
    },
    "/api/v1/discovery/feed/{name}": {
      "get": {
        "operationId": "discovery.feed.session.start",
        "tags": [
          "api.discovery.feed"
        ],
        "summary": "Create a new discovery feed session",
        "description": "Create a new discovery feed session, starts it and raises the appropriate discovery event. This call will return the discovery feed session ID.",
        "responses": {
          "201": {
            "description": "The discovery feed session was successfully created and started",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/controllers.api.discovery.feed.DiscoveryFeedSession"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the discovery campaign to create a new feed session for"
          }
        ]
      }
    },
    "/api/v1/discovery/feed": {
      "post": {
        "operationId": "discovery.feed",
        "tags": [
          "api.discovery.feed"
        ],
        "summary": "Feed a discovered certificate into a discovery campaign",
        "description": "Feed a discovered certificate into a discovery campaign",
        "requestBody": {
          "description": "The discovery feed",
          "required": true,
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/controllers.api.discovery.feed.DiscoveryFeed"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Registering the certificate as a new discovered certificate"
          },
          "204": {
            "description": "Certificate was already discovered / managed. Discovery data were updated"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "discovery.feed.event.register",
        "tags": [
          "api.discovery.feed"
        ],
        "summary": "Push a new discovery event",
        "description": "Push a new discovery event for a specific discovery feed session on a discovery campaign",
        "requestBody": {
          "description": "The discovery event to push",
          "required": true,
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/models.discovery.event.DiscoveryEvent"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Discovery event successfully registered"
          },
          "204": {
            "description": "Registering discovery event for the considered status is disabled on the considered discovery campaign"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/discovery/feed/{campaign}/{id}": {
      "delete": {
        "operationId": "discovery.feed.session.end",
        "tags": [
          "api.discovery.feed"
        ],
        "summary": "End a discovery session",
        "description": "Ends an active discovery session and raises the appropriate discovery event",
        "responses": {
          "204": {
            "description": "Discovery session successfully ended"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Discovery campaign not found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscCamp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DiscFeed001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "campaign",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The name of the discovery campaign where the session was started",
            "example": "Discovery-DMZ01"
          },
          {
            "in": "path",
            "name": "id",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The discovery session ID to end",
            "example": "63fce2e13000003c008797c4"
          }
        ]
      }
    },
    "/api/v1/security/principals/self": {
      "get": {
        "operationId": "security.principal.self",
        "tags": [
          "api.security.principal"
        ],
        "summary": "Return the authenticated principal",
        "description": "Return the authenticated *principal*:\n  - The *principal* identity (identifier, name, email and identity provider);\n  - The direct permissions;\n  - The roles the principal is a member of.\n\n\nIf not authenticated, a *NoContent* is returned.\n",
        "responses": {
          "200": {
            "description": "The authenticated principal",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/models.security.principal.Principal"
                }
              }
            }
          },
          "204": {
            "description": "Anonymous access (no authentication)"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/principals/logout": {
      "get": {
        "operationId": "security.principal.logout",
        "tags": [
          "api.security.principal"
        ],
        "summary": "Log out an authenticated principal and flush any cached authorization(s)",
        "description": "Log out an authenticated Principal and flush cached authorization(s). If this method is called by an unauthenicated principal (anonymous), the REST call is nilpotent.\n",
        "responses": {
          "204": {
            "description": "Principal successfully logged out"
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/principals/authenticate": {
      "get": {
        "operationId": "security.principal.authenticate",
        "tags": [
          "api.security.principal"
        ],
        "summary": "Authenticate a principal and redirect to the specified redirect URL",
        "description": "Authenticate a principal and redirect (302) to the specified URL if authentication was successful. The redirect URL **must be URL encoded**.",
        "responses": {
          "302": {
            "description": "Principal is successfully authenticated and redirect to the specified path assuming the path is a local path"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Authentication Error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "redirect",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The URL to redirect to after successful authentication. The URL must be URL encoded."
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiId": {
        "description": "An Horizon 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)",
            "example": 400
          },
          "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"
            ]
          }
        }
      },
      "SecAuth002": {
        "title": "SEC-AUTH-002",
        "description": "Invalid credentials or principal does not exist",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid credentials or principal does not exist"
            ]
          },
          "title": {
            "enum": [
              "Invalid credentials or principal does not exist"
            ]
          }
        }
      },
      "SecAuth003": {
        "title": "SEC-AUTH-003",
        "description": "Certificate is not trusted",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate is not trusted"
            ]
          },
          "title": {
            "enum": [
              "Certificate is not trusted"
            ]
          }
        }
      },
      "SecAuth004": {
        "title": "SEC-AUTH-004",
        "description": "Certificate is expired",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate is expired"
            ]
          },
          "title": {
            "enum": [
              "Certificate is expired"
            ]
          }
        }
      },
      "SecAuth005": {
        "title": "SEC-AUTH-005",
        "description": "Certificate is revoked",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-005"
            ]
          },
          "message": {
            "enum": [
              "Certificate is revoked"
            ]
          },
          "title": {
            "enum": [
              "Certificate is revoked"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "SecAuth009": {
        "title": "SEC-AUTH-009",
        "description": "Principal not authenticated or authentication expired",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-009"
            ]
          },
          "message": {
            "enum": [
              "Principal not authenticated or authentication expired"
            ]
          },
          "title": {
            "enum": [
              "Principal not authenticated or authentication expired"
            ]
          }
        }
      },
      "SecPerm001": {
        "title": "SEC-PERM-001",
        "description": "Insufficient privileges",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PERM-001"
            ]
          },
          "message": {
            "enum": [
              "Insufficient privileges"
            ]
          },
          "title": {
            "enum": [
              "Insufficient privileges"
            ]
          }
        }
      },
      "Lic002": {
        "title": "LIC-002",
        "description": "Invalid License",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid License"
            ]
          },
          "title": {
            "enum": [
              "Invalid License"
            ]
          }
        }
      },
      "Lic004": {
        "title": "LIC-004",
        "description": "Expired License",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-004"
            ]
          },
          "message": {
            "enum": [
              "Expired License"
            ]
          },
          "title": {
            "enum": [
              "Expired License"
            ]
          }
        }
      },
      "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"
      },
      "Lic001": {
        "title": "LIC-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        }
      },
      "models.cache.CachedCRLInfos": {
        "properties": {
          "ca": {
            "type": "string"
          },
          "cRLNumber": {
            "nullable": true,
            "type": "number"
          },
          "issuerDn": {
            "type": "string",
            "nullable": true
          },
          "thisUpdate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "nextUpdate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "lastRefresh": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "nextRefresh": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "crlSize": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "ca",
          "crlSize"
        ]
      },
      "Cache001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "CACHE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "CACHE-001"
      },
      "Cache002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate authority not found",
        "properties": {
          "error": {
            "enum": [
              "CACHE-002"
            ]
          },
          "message": {
            "enum": [
              "Certificate authority not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate authority not found"
            ]
          }
        },
        "title": "CACHE-002"
      },
      "models.ca.CertificateAuthority": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "subjectKeyIdentifier": {
            "type": "string",
            "nullable": true
          },
          "responderUrl": {
            "type": "string",
            "nullable": true
          },
          "crlUrl": {
            "type": "string",
            "nullable": true
          },
          "refresh": {
            "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"
          },
          "trustedForClientAuthentication": {
            "type": "boolean"
          },
          "trustedForServerAuthentication": {
            "type": "boolean"
          },
          "outdatedRevocationStatusPolicy": {
            "type": "string",
            "enum": [
              "revoked",
              "unknown",
              "lastavailablestatus"
            ]
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "cacheTimeToIdle": {
            "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"
          },
          "public": {
            "type": "boolean"
          }
        },
        "required": [
          "_id",
          "name",
          "certificate",
          "trustedForClientAuthentication",
          "trustedForServerAuthentication",
          "outdatedRevocationStatusPolicy",
          "public"
        ]
      },
      "models.certificate.CertificateMetadata": {
        "title": "Certificate Metadata",
        "properties": {
          "key": {
            "type": "string",
            "description": "The metadata name",
            "example": "pki_connector",
            "enum": [
              "pki_connector",
              "previous_certificate_id",
              "renewed_certificate_id",
              "automation_policy",
              "gs_order_id",
              "metapki_id",
              "digicert_id",
              "entrust_id",
              "scep_transid",
              "fcms_id",
              "gsatlas_id",
              "certeurope_id",
              "digicert_order_id"
            ]
          },
          "value": {
            "description": "The metadata value",
            "type": "string",
            "example": "stream_connector"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "models.certificate.grading.policy.GradingPolicyResult": {
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the grading policy",
            "example": "Horizon-Grading-Policy"
          },
          "grade": {
            "description": "The grade awarded by the grading policy",
            "type": "string",
            "example": "A"
          }
        },
        "required": [
          "name",
          "grade"
        ]
      },
      "KeyType": {
        "title": "Keytype",
        "type": "string",
        "enum": [
          "rsa-<size>",
          "ec-secp256r1",
          "ec-secp384r1",
          "ec-secp521r1",
          "ed-Ed448",
          "ed-Ed25519"
        ],
        "example": "rsa-2048"
      },
      "models.thirdparty.ThirdPartyItem": {
        "properties": {
          "connector": {
            "description": "The third party connector name on which this certificate is synchronized",
            "type": "string",
            "example": "F5_connector"
          },
          "id": {
            "description": "The Id of this certificate on the third party",
            "type": "string",
            "example": "hrz-hrz-1099-2dc61ac089ddeaab6efab34"
          },
          "fingerprint": {
            "description": "The fingerprint of this certificate on the third party",
            "type": "string",
            "nullable": true,
            "example": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt"
          },
          "pushDate": {
            "description": "The date when the certificate was pushed to this third party",
            "type": "integer",
            "format": "epoch",
            "nullable": true,
            "example": 1681397145000
          },
          "removeDate": {
            "description": "The date when the certificate was removed from this third party (in case of revocation)",
            "type": "integer",
            "format": "epoch",
            "nullable": true,
            "example": 1681497145000
          }
        },
        "required": [
          "connector",
          "id"
        ]
      },
      "models.certificate.label.LabelData": {
        "properties": {
          "key": {
            "type": "string",
            "description": "The label's name",
            "example": "business_unit"
          },
          "value": {
            "type": "string",
            "description": "The label's value",
            "example": "BU1"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "models.discovery.DiscoveryInfo": {
        "properties": {
          "campaign": {
            "type": "string",
            "description": "The discovery campaign's name",
            "example": "zone_1_discovery"
          },
          "lastDiscoveryDate": {
            "description": "When this certificate was discovered for the last time",
            "type": "integer",
            "format": "epoch",
            "example": 1683988841000
          },
          "identifier": {
            "description": "Identifier of the user that discovered this certificate",
            "example": "CN=horizon-cli",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "campaign",
          "lastDiscoveryDate"
        ]
      },
      "models.certificate.SubjectAlternateName": {
        "properties": {
          "sanType": {
            "description": "The type of the SAN",
            "example": "DNSNAME",
            "enum": [
              "DNSNAME",
              "RFC822NAME",
              "URI",
              "IPADDRESS",
              "OTHERNAME_UPN",
              "OTHERNAME_GUID"
            ],
            "type": "string"
          },
          "value": {
            "description": "The value of the SAN",
            "example": "docs.evertrust.fr",
            "type": "string"
          }
        },
        "required": [
          "sanType",
          "value"
        ]
      },
      "models.trigger.TriggerResult": {
        "properties": {
          "name": {
            "description": "The name of the trigger that was executed",
            "type": "string",
            "example": "push_to_f5_on_enroll"
          },
          "event": {
            "description": "The event that triggered the trigger",
            "type": "string",
            "example": "on_enroll",
            "enum": [
              "on_deny_update",
              "on_cancel_migrate",
              "on_pending_renew",
              "on_submit_migrate",
              "on_cancel_update",
              "on_approve_migrate",
              "on_pending_recover",
              "on_pending_enroll",
              "on_deny_revoke",
              "on_cancel_renew",
              "on_submit_recover",
              "on_submit_enroll",
              "on_cancel_recover",
              "on_approve_revoke",
              "on_pending_update",
              "on_deny_recover",
              "on_approve_renew",
              "on_deny_migrate",
              "on_revoke",
              "on_approve_recover",
              "on_expire",
              "on_enroll",
              "on_deny_renew",
              "on_approve_update",
              "on_recover",
              "on_deny_enroll",
              "on_submit_renew",
              "on_update",
              "on_approve_enroll",
              "on_cancel_enroll",
              "on_pending_migrate",
              "on_pending_revoke",
              "on_submit_update",
              "on_submit_revoke",
              "on_migrate",
              "on_cancel_revoke",
              "on_renew"
            ]
          },
          "triggerType": {
            "description": "The type of the trigger",
            "type": "string",
            "example": "f5client",
            "enum": [
              "aws",
              "email",
              "f5client",
              "ldappub",
              "intunepkcs",
              "akv",
              "webhook"
            ]
          },
          "lastExecutionDate": {
            "description": "The last time this trigger was executed for this certificate and this event",
            "example": 1609459200000,
            "type": "integer",
            "format": "epoch"
          },
          "status": {
            "description": "The status of the trigger after its execution",
            "example": "failure",
            "type": "string",
            "enum": [
              "success",
              "failure"
            ]
          },
          "retries": {
            "description": "The number of remaining tries before the trigger is abandoned",
            "example": 4,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "nextExecutionDate": {
            "description": "The next scheduled execution time for this trigger",
            "example": 1609469200000,
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "nextDelay": {
            "description": "Time that will be waited between the next and the next+1 execution of this trigger",
            "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"
          },
          "detail": {
            "description": "Contains details on this trigger's execution",
            "example": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
            "type": "string",
            "nullable": true
          },
          "retryable": {
            "description": "Is this trigger manually retryable (can be [run](#tag/api.certificate/operation/certificate.run))",
            "example": true,
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "triggerType",
          "event",
          "lastExecutionDate",
          "status",
          "retryable"
        ]
      },
      "models.certificate.extension.CertificateExtension": {
        "properties": {
          "key": {
            "description": "The extension's type",
            "type": "string",
            "enum": [
              "ms_sid",
              "ms_template"
            ],
            "example": "ms_sid"
          },
          "value": {
            "description": "The extension's value",
            "type": "string",
            "example": "wcce_enrollment"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "models.discovery.TlsPort": {
        "properties": {
          "port": {
            "description": "The number of the port",
            "type": "integer",
            "format": "int32",
            "example": 443
          },
          "version": {
            "description": "Protocol version used",
            "example": "TLSv1.2",
            "type": "string"
          }
        },
        "required": [
          "port",
          "version"
        ]
      },
      "models.discovery.HostDiscoveryData": {
        "properties": {
          "ip": {
            "description": "The certificate's host ip",
            "example": "192.168.1.66",
            "type": "string",
            "nullable": true
          },
          "sources": {
            "description": "Information on the type of discovery that discovered this certificate",
            "example": [
              "netscan"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "hostnames": {
            "description": "The certificate's host hostnames (netscan only)",
            "example": [
              "docs.evertrust.fr"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "operatingSystems": {
            "description": "The certificate's host operating system (localscan only)",
            "example": [
              "windows"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "paths": {
            "description": "The path to the certificate on the host machine (localscan only)",
            "example": [
              "/etc/ssl/cert.crt"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "usages": {
            "description": "The path of the configuration files that were used to find the certificates",
            "example": [
              "/usr/local/nginx/conf/nginx.conf"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "tlsPorts": {
            "description": "The ports on which the certificate is exposed for https connexion",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.discovery.TlsPort"
            }
          }
        }
      },
      "models.certificate.Certificate": {
        "type": "object",
        "title": "Certificate",
        "properties": {
          "metadata": {
            "description": "The certificate's technical metadata used internally",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadata"
            }
          },
          "notAfter": {
            "description": "The certificate's expiration date in milliseconds since the epoch",
            "format": "epoch",
            "type": "integer",
            "example": 1609459200000
          },
          "thumbprint": {
            "description": "The certificate's thumbprint",
            "type": "string",
            "example": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c"
          },
          "revocationDate": {
            "description": "The certificate's revocation date in milliseconds since the epoch. This field is only present if the certificate is revoked",
            "nullable": true,
            "format": "epoch",
            "type": "integer"
          },
          "certificate": {
            "description": "The certificate's PEM-encoded content",
            "type": "string",
            "example": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----"
          },
          "dn": {
            "description": "The certificate's Distinguished Name",
            "type": "string",
            "example": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US"
          },
          "grades": {
            "description": "The certificate's grades for the enabled grading policies",
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.policy.GradingPolicyResult"
            }
          },
          "revoked": {
            "description": "Whether the certificate is revoked",
            "type": "boolean"
          },
          "issuer": {
            "description": "The certificate's issuer Distinguished Name",
            "example": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
            "type": "string"
          },
          "notBefore": {
            "description": "The certificate's start date in milliseconds since the epoch",
            "example": 1609459200000,
            "format": "epoch",
            "type": "integer"
          },
          "crlSynchronized": {
            "description": "Whether the certificate's revocation status is synchronized with a CRL",
            "nullable": true,
            "type": "boolean"
          },
          "selfSigned": {
            "description": "Whether the certificate is self-signed",
            "type": "boolean",
            "example": false
          },
          "discoveredTrusted": {
            "description": "If the certificate was discovered and is found to be issued by an existing trusted CA, this field will be set to true. If the certificate was discovered and is not found to be issued by an existing trusted CA, this field will be set to false. If the certificate was not discovered, this field will be null",
            "nullable": true,
            "type": "boolean"
          },
          "keyType": {
            "description": "The certificate's key type",
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ]
          },
          "thirdPartyData": {
            "description": "The certificate's information about synchronization with Horizon supported third parties",
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.thirdparty.ThirdPartyItem"
            }
          },
          "owner": {
            "description": "The certificate's owner. This is a reference to a local identity identifier",
            "nullable": true,
            "type": "string"
          },
          "publicKeyThumbprint": {
            "description": "The certificate's public key thumbprint",
            "example": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
            "type": "string"
          },
          "contactEmail": {
            "description": "The certificate's contact email. It will be used to send notifications about the certificate's expiration and revocation",
            "nullable": true,
            "type": "string",
            "format": "email"
          },
          "module": {
            "description": "The certificate's module",
            "example": "webra",
            "type": "string"
          },
          "profile": {
            "description": "The certificate's profile",
            "example": "DefaultProfile",
            "nullable": true,
            "type": "string"
          },
          "team": {
            "description": "The certificate's team. This is a reference to a team identifier. It will be used to determine the certificate's permissions and send notifications",
            "nullable": true,
            "type": "string"
          },
          "holderId": {
            "description": "The certificate's holder ID. This is a computed field that is used to count how many similar certificates are in use simultaneously by the same holder",
            "example": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
            "type": "string"
          },
          "labels": {
            "description": "The certificate's labels",
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.LabelData"
            }
          },
          "discoveryInfo": {
            "description": "A list of metadata containing information on how and when the certificate was discovered",
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.discovery.DiscoveryInfo"
            }
          },
          "subjectAlternateNames": {
            "description": "The certificate's Subject Alternate Names",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.SubjectAlternateName"
            }
          },
          "triggerResults": {
            "description": "The result of the execution of triggers on this certificate",
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.trigger.TriggerResult"
            }
          },
          "extensions": {
            "description": "The certificate's extensions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.extension.CertificateExtension"
            }
          },
          "serial": {
            "description": "The certificate's serial number",
            "example": 1,
            "type": "string"
          },
          "signingAlgorithm": {
            "description": "The certificate's signing algorithm",
            "example": "SHA256WITHRSA",
            "type": "string"
          },
          "discoveryData": {
            "description": "A list of metadata containing information on where the certificate was discovered",
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.discovery.HostDiscoveryData"
            }
          },
          "_id": {
            "type": "string",
            "description": "Internal ID",
            "example": "644142f62a00003d0092d37e",
            "readOnly": true
          },
          "revocationReason": {
            "description": "The certificate's revocation reason",
            "nullable": true,
            "type": "string",
            "enum": [
              "UNSPECIFIED",
              "KEYCOMPROMISE",
              "CACOMPROMISE",
              "AFFILIATIONCHANGE",
              "SUPERSEDED",
              "CESSATIONOFOPERATION"
            ]
          }
        },
        "required": [
          "_id",
          "module",
          "certificate",
          "thumbprint",
          "selfSigned",
          "publicKeyThumbprint",
          "dn",
          "serial",
          "issuer",
          "notBefore",
          "notAfter",
          "revoked",
          "keyType",
          "signingAlgorithm",
          "subjectAlternateNames",
          "metadata",
          "holderId"
        ]
      },
      "models.ca.CertificateAuthorityResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/models.ca.CertificateAuthority"
          }
        ],
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          }
        }
      },
      "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"
      },
      "models.ca.CertificateAuthorityRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/models.ca.CertificateAuthority"
          }
        ],
        "properties": {
          "certificate": {
            "type": "string"
          }
        }
      },
      "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"
      },
      "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"
      },
      "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"
      },
      "Ca005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced Certificate Authority",
        "properties": {
          "error": {
            "enum": [
              "CA-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced Certificate Authority"
            ]
          },
          "title": {
            "enum": [
              "Referenced Certificate Authority"
            ]
          }
        },
        "title": "CA-005"
      },
      "models.common.LocalizedString": {
        "title": "LocalizedString",
        "properties": {
          "lang": {
            "description": "The ISO 3166-1 (2-letters) code of the language used for the value",
            "example": "en",
            "type": "string"
          },
          "value": {
            "description": "The localized value",
            "example": "Value In English",
            "type": "string"
          }
        },
        "required": [
          "lang",
          "value"
        ]
      },
      "models.certificate.grading.policy.WeightedGradingRuleset": {
        "properties": {
          "ruleset": {
            "type": "string"
          },
          "weight": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "ruleset",
          "weight"
        ]
      },
      "models.certificate.grading.policy.GradingPolicy": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "rulesets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.policy.WeightedGradingRuleset"
            }
          }
        },
        "required": [
          "_id",
          "name",
          "rulesets"
        ]
      },
      "GradingPolicy003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Grading Policy not found",
        "properties": {
          "error": {
            "enum": [
              "GRADING-POLICY-003"
            ]
          },
          "message": {
            "enum": [
              "Grading Policy not found"
            ]
          },
          "title": {
            "enum": [
              "Grading Policy not found"
            ]
          }
        },
        "title": "GRADING-POLICY-003"
      },
      "GradingPolicy001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "GRADING-POLICY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "GRADING-POLICY-001"
      },
      "models.certificate.grading.rule.ExplainedGradingRule": {
        "properties": {
          "description": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "score": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "obtained": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "condition": {
            "type": "string"
          },
          "apply": {
            "type": "boolean"
          },
          "eval": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "description",
          "condition",
          "apply"
        ]
      },
      "models.certificate.grading.rule.ExplainedGradingRuleset": {
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "certificate": {
            "nullable": true,
            "type": "string"
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "apply": {
            "type": "boolean"
          },
          "max": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "obtained": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "score": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "explained": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.rule.ExplainedGradingRule"
            }
          }
        },
        "required": [
          "name",
          "apply"
        ]
      },
      "models.certificate.grading.policy.ExplainedGradingPolicy": {
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "rulesets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.policy.WeightedGradingRuleset"
            }
          },
          "certificate": {
            "type": "string"
          },
          "score": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "grade": {
            "type": "string",
            "nullable": true
          },
          "explained": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.rule.ExplainedGradingRuleset"
            }
          }
        },
        "required": [
          "name",
          "rulesets",
          "certificate"
        ]
      },
      "GradingPolicy005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid X509 certificate",
        "properties": {
          "error": {
            "enum": [
              "GRADING-POLICY-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid X509 certificate"
            ]
          },
          "title": {
            "enum": [
              "Invalid X509 certificate"
            ]
          }
        },
        "title": "GRADING-POLICY-005"
      },
      "models.certificate.grading.rule.GradingRule": {
        "properties": {
          "description": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "condition": {
            "type": "string"
          },
          "score": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "description",
          "condition",
          "score"
        ]
      },
      "models.certificate.grading.rule.GradingRuleset": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.rule.GradingRule"
            }
          }
        },
        "required": [
          "_id",
          "name",
          "rules"
        ]
      },
      "GradingRuleset003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Grading Ruleset not found",
        "properties": {
          "error": {
            "enum": [
              "GRADING-RULESET-003"
            ]
          },
          "message": {
            "enum": [
              "Grading Ruleset not found"
            ]
          },
          "title": {
            "enum": [
              "Grading Ruleset not found"
            ]
          }
        },
        "title": "GRADING-RULESET-003"
      },
      "GradingRuleset001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "GRADING-RULESET-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "GRADING-RULESET-001"
      },
      "GradingRuleset005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid X509 certificate",
        "properties": {
          "error": {
            "enum": [
              "GRADING-RULESET-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid X509 certificate"
            ]
          },
          "title": {
            "enum": [
              "Invalid X509 certificate"
            ]
          }
        },
        "title": "GRADING-RULESET-005"
      },
      "Id": {
        "title": "Internal ID",
        "description": "Object internal ID",
        "type": "string",
        "example": "6448d56b310000400063f014"
      },
      "models.certificate.label.Label": {
        "properties": {
          "_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "readOnly": true
          },
          "name": {
            "description": "Technical name of the label",
            "example": "business_unit",
            "type": "string"
          },
          "displayName": {
            "description": "Display names of the label",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "description": "Localized descriptions of the label",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "_id",
          "name"
        ]
      },
      "CertLabel005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced Label",
        "properties": {
          "error": {
            "enum": [
              "CERT-LABEL-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced Label"
            ]
          },
          "title": {
            "enum": [
              "Referenced Label"
            ]
          }
        },
        "title": "CERT-LABEL-005"
      },
      "CertLabel001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "CERT-LABEL-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "CERT-LABEL-001"
      },
      "CertLabel002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Label",
        "properties": {
          "error": {
            "enum": [
              "CERT-LABEL-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Label"
            ]
          },
          "title": {
            "enum": [
              "Invalid Label"
            ]
          }
        },
        "title": "CERT-LABEL-002"
      },
      "CertLabel003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Label not found",
        "properties": {
          "error": {
            "enum": [
              "CERT-LABEL-003"
            ]
          },
          "message": {
            "enum": [
              "Label not found"
            ]
          },
          "title": {
            "enum": [
              "Label not found"
            ]
          }
        },
        "title": "CERT-LABEL-003"
      },
      "CertLabel004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Label already exists",
        "properties": {
          "error": {
            "enum": [
              "CERT-LABEL-004"
            ]
          },
          "message": {
            "enum": [
              "Label already exists"
            ]
          },
          "title": {
            "enum": [
              "Label already exists"
            ]
          }
        },
        "title": "CERT-LABEL-004"
      },
      "models.acme.DirectoryMeta": {
        "properties": {
          "termsOfService": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "caaIdentities": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "externalAccountRequired": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "models.certificate.CertificateRequestConstraints": {
        "properties": {
          "allowedDomains": {
            "type": "string",
            "nullable": true
          },
          "allowedEmailDomains": {
            "type": "string",
            "nullable": true
          },
          "allowedDnsDomains": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "models.certificate.profile.MaxCertificatePerHolderPolicy": {
        "properties": {
          "max": {
            "type": "integer",
            "format": "int32"
          },
          "behavior": {
            "type": "string",
            "enum": [
              "revoke",
              "reject"
            ]
          },
          "revocationReason": {
            "type": "string",
            "nullable": true,
            "enum": [
              "UNSPECIFIED",
              "KEYCOMPROMISE",
              "CACOMPROMISE",
              "AFFILIATIONCHANGE",
              "SUPERSEDED",
              "CESSATIONOFOPERATION"
            ]
          }
        },
        "required": [
          "max",
          "behavior"
        ]
      },
      "models.security.access.EnforcedIdentityProvider": {
        "title": "Enforced identity providers",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Local",
              "OpenId",
              "X509",
              "Pop"
            ],
            "description": "The type of identity provider to be enforced",
            "example": "Local"
          },
          "name": {
            "type": "string",
            "description": "The name of the identity provider to be enforced",
            "example": "local"
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "models.security.access.AuthorizationLevel": {
        "properties": {
          "accessLevel": {
            "type": "string",
            "enum": [
              "everyone",
              "authenticated",
              "authorized"
            ],
            "description": "The access level required to perform the action",
            "example": "authenticated"
          },
          "enforcedIdentityProviders": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.security.access.EnforcedIdentityProvider"
            },
            "description": "The different identity providers that can be enforced to perform the action"
          }
        },
        "required": [
          "accessLevel"
        ]
      },
      "models.certificate.profile.CertificateProfileAuthorizationLevels": {
        "properties": {
          "enroll": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "enrollApi": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "requestEnroll": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "approveEnroll": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "revoke": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "requestRevoke": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "approveRevoke": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "update": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "requestUpdate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "approveUpdate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "recover": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "recoverApi": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "requestRecover": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "approveRecover": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "migrate": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "requestMigrate": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "approveMigrate": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "renew": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "renewApi": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "requestRenew": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "approveRenew": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          },
          "auditRequest": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ]
          }
        },
        "required": [
          "revoke",
          "requestRevoke",
          "approveRevoke",
          "search",
          "update",
          "requestUpdate",
          "approveUpdate"
        ]
      },
      "models.certificate.profile.CertificateProfileAsynchronousTrigger": {
        "properties": {
          "name": {
            "type": "string"
          },
          "activationDate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "models.certificate.profile.CertificateProfileTriggers": {
        "properties": {
          "onEnroll": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onSubmitEnroll": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onCancelEnroll": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onApproveEnroll": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onDenyEnroll": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onPendingEnroll": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          },
          "onRevoke": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onSubmitRevoke": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onCancelRevoke": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onApproveRevoke": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onDenyRevoke": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onPendingRevoke": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          },
          "onUpdate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onSubmitUpdate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onCancelUpdate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onApproveUpdate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onDenyUpdate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onPendingUpdate": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          },
          "onRecover": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onSubmitRecover": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onCancelRecover": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onApproveRecover": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onDenyRecover": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onPendingRecover": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          },
          "onMigrate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onSubmitMigrate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onCancelMigrate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onApproveMigrate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onDenyMigrate": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onPendingMigrate": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          },
          "onExpire": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          },
          "onRenew": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onSubmitRenew": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onCancelRenew": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onApproveRenew": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onDenyRenew": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "onPendingRenew": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAsynchronousTrigger"
            }
          }
        }
      },
      "models.request.RequestsPolicy": {
        "properties": {
          "enroll": {
            "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"
          },
          "revoke": {
            "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"
          },
          "recover": {
            "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"
          },
          "update": {
            "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"
          },
          "migrate": {
            "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"
          },
          "renew": {
            "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"
          }
        }
      },
      "models.certificate.profile.CertificateProfileSelfPermissions": {
        "properties": {
          "selfRecover": {
            "type": "boolean",
            "nullable": true
          },
          "selfUpdate": {
            "type": "boolean"
          },
          "selfRevoke": {
            "type": "boolean"
          },
          "selfRenew": {
            "type": "boolean"
          },
          "selfPopRenew": {
            "type": "boolean"
          },
          "selfPopRevoke": {
            "type": "boolean"
          },
          "selfPopUpdate": {
            "type": "boolean"
          }
        },
        "required": [
          "selfUpdate",
          "selfRevoke",
          "selfRenew",
          "selfPopRenew",
          "selfPopRevoke",
          "selfPopUpdate"
        ]
      },
      "models.templatestring.TemplateString": {
        "title": "TemplateString",
        "properties": {
          "value": {
            "description": "A computation rule that will dynamically generate a string value from the request's context",
            "externalDocs": {
              "description": "Computation rules guide",
              "url": "https://docs.evertrust.fr/horizon/admin-guide/-/other/template_string"
            },
            "type": "string",
            "example": "{{csr.subject.cn.1}}"
          }
        },
        "required": [
          "value"
        ]
      },
      "models.certificate.template.DNElement": {
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "type": "boolean"
          },
          "editableByRequester": {
            "type": "boolean",
            "nullable": true
          },
          "editableByApprover": {
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "mandatory"
        ]
      },
      "models.certificate.template.SANElement": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "RFC822NAME",
              "DNSNAME",
              "URI",
              "IPADDRESS",
              "OTHERNAME_UPN",
              "OTHERNAME_GUID"
            ]
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "editableByRequester": {
            "type": "boolean",
            "nullable": true
          },
          "editableByApprover": {
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "type": "string",
            "nullable": true
          },
          "min": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "models.certificate.extension.ExtensionElement": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "ms_sid",
              "ms_template"
            ]
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "type": "boolean"
          },
          "editableByRequester": {
            "type": "boolean",
            "nullable": true
          },
          "editableByApprover": {
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "mandatory"
        ]
      },
      "models.certificate.template.OwnerPolicy": {
        "properties": {
          "editableByRequester": {
            "type": "boolean"
          },
          "editableByApprover": {
            "type": "boolean"
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "type": "boolean"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "editableByRequester",
          "editableByApprover",
          "mandatory"
        ]
      },
      "models.certificate.template.TeamPolicy": {
        "properties": {
          "editableByRequester": {
            "type": "boolean"
          },
          "editableByApprover": {
            "type": "boolean"
          },
          "regex": {
            "type": "string",
            "nullable": true
          },
          "whitelist": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "type": "boolean"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "editableByRequester",
          "editableByApprover",
          "mandatory"
        ]
      },
      "models.certificate.template.MetadataPolicy": {
        "properties": {
          "metadata": {
            "type": "string",
            "enum": [
              "gs_order_id",
              "renewed_certificate_id",
              "metapki_id",
              "pki_connector",
              "digicert_id",
              "entrust_id",
              "scep_transid",
              "fcms_id",
              "previous_certificate_id",
              "gsatlas_id",
              "certeurope_id",
              "digicert_order_id",
              "automation_policy",
              "contact_email"
            ]
          },
          "editableByRequester": {
            "type": "boolean"
          },
          "editableByApprover": {
            "type": "boolean"
          }
        },
        "required": [
          "metadata",
          "editableByRequester",
          "editableByApprover"
        ]
      },
      "models.certificate.label.LabelElement": {
        "title": "Label",
        "properties": {
          "label": {
            "description": "The name of the label",
            "example": "BU",
            "type": "string"
          },
          "value": {
            "description": "The default value of the label element",
            "type": "string",
            "nullable": true,
            "example": "business_unit_1"
          },
          "computationRule": {
            "description": "The computation rule of the label element",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "description": "Whether the label element is mandatory to submit a request",
            "type": "boolean",
            "nullable": true
          },
          "editableByRequester": {
            "description": "Whether the label element is editable by the requester",
            "type": "boolean",
            "nullable": true
          },
          "editableByApprover": {
            "description": "Whether the label element is editable by the approver",
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "description": "The regex used to validate the label element",
            "type": "string",
            "nullable": true,
            "example": "^.*aregex$"
          },
          "enum": {
            "description": "The whitelist used to validate the label element",
            "type": "array",
            "nullable": true,
            "example": [
              "business_unit_1",
              "business_unit_2"
            ],
            "items": {
              "type": "string"
            }
          },
          "suggestions": {
            "description": "The suggestions used to recommend the label element values",
            "type": "array",
            "nullable": true,
            "example": [
              "business_unit_2",
              "business_unit_3"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "label"
        ]
      },
      "models.certificate.template.ContactEmailPolicy": {
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "type": "boolean"
          },
          "editableByRequester": {
            "type": "boolean",
            "nullable": true
          },
          "editableByApprover": {
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "type": "string",
            "nullable": true
          },
          "whitelist": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "mandatory"
        ]
      },
      "models.certificate.template.CertificateTemplate": {
        "properties": {
          "subject": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.DNElement"
            }
          },
          "sans": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.SANElement"
            }
          },
          "extensions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.extension.ExtensionElement"
            }
          },
          "ownerPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.OwnerPolicy"
              }
            ]
          },
          "teamPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.TeamPolicy"
              }
            ]
          },
          "metadataPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.MetadataPolicy"
            }
          },
          "labels": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.LabelElement"
            }
          },
          "contactEmailPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.ContactEmailPolicy"
              }
            ]
          }
        }
      },
      "models.certificate.profile.CertificateProfileCryptoPolicy": {
        "title": "Certificate profile crypto policy",
        "properties": {
          "centralized": {
            "description": "Whether this profile supports centralized enrollment",
            "type": "boolean"
          },
          "decentralized": {
            "description": "Whether this profile supports decentralized enrollment",
            "type": "boolean"
          },
          "defaultKeyType": {
            "description": "Default key type used for centralized enrollment",
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ],
            "nullable": true
          },
          "authorizedKeyTypes": {
            "description": "List of authorized key types for enrollment",
            "example": [
              "rsa-2048",
              "rsa-3072",
              "rsa-4096"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/KeyType"
                }
              ]
            }
          },
          "preferredEnrollmentMode": {
            "description": "If both centralized and decentralized enrollment are supported, this is the preferred mode",
            "type": "string",
            "nullable": true,
            "enum": [
              "centralized",
              "decentralized"
            ]
          },
          "escrow": {
            "description": "Whether this profile will escrow the certificate private keys",
            "type": "boolean"
          },
          "p12passwordPolicy": {
            "description": "Password policy for the P12 file",
            "type": "string",
            "nullable": true
          },
          "p12passwordMode": {
            "description": "Whether the user will be required to input their PKCS#12 password upon enrollment",
            "type": "string",
            "nullable": true,
            "enum": [
              "random",
              "manual"
            ]
          },
          "p12storeEncryptionType": {
            "description": "Encryption type for the P12 file",
            "example": "AES",
            "nullable": true,
            "type": "string"
          },
          "showP12PasswordOnEnroll": {
            "description": "Whether the PKCS#12 password will be displayed to the user upon enrollment",
            "type": "boolean",
            "nullable": true
          },
          "showP12OnEnroll": {
            "description": "Whether the PKCS#12 file will be displayed to the user upon enrollment",
            "type": "boolean",
            "nullable": true
          },
          "showP12PasswordOnRecover": {
            "description": "Whether the PKCS#12 password will be displayed to the user upon recovery",
            "type": "boolean",
            "nullable": true
          },
          "showP12OnRecover": {
            "description": "Whether the PKCS#12 file will be displayed to the user upon recovery",
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "centralized",
          "decentralized",
          "escrow"
        ]
      },
      "models.acme.AcmeProfile": {
        "title": "ACME Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "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": "5 seconds"
          },
          "meta": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.acme.DirectoryMeta"
              }
            ]
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "authorizationMethods": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "pkiConnector": {
            "type": "string"
          },
          "http01Port": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tlsAlpn01Port": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "authorizeShortName": {
            "type": "boolean"
          },
          "authorizeEmptyContact": {
            "type": "boolean"
          },
          "defaultContacts": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "verifyRetryCount": {
            "type": "integer",
            "format": "int32"
          },
          "verifyRetryDelay": {
            "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"
          },
          "requireTermsOfService": {
            "type": "boolean"
          },
          "renewalPeriod": {
            "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"
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "maxDnsName": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "timeout",
          "pkiConnector",
          "authorizeShortName",
          "authorizeEmptyContact",
          "verifyRetryCount",
          "verifyRetryDelay",
          "requireTermsOfService",
          "authorizationLevels",
          "requestsPolicy",
          "selfPermissions",
          "cryptoPolicy"
        ]
      },
      "models.est.EstProfile": {
        "title": "EST Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "ca": {
            "type": "string"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "pkiConnector": {
            "type": "string"
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationMode": {
            "type": "string",
            "enum": [
              "authorized",
              "x509",
              "challenge"
            ]
          },
          "dnWhitelist": {
            "type": "boolean"
          },
          "enrollAuthorizedCas": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "renewalAuthorizedCas": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "renewalPeriod": {
            "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"
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "passwordPolicy": {
            "type": "string",
            "nullable": true
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "ca",
          "pkiConnector",
          "authorizationMode",
          "dnWhitelist",
          "authorizationLevels",
          "requestsPolicy",
          "cryptoPolicy",
          "selfPermissions"
        ]
      },
      "models.intune.IntuneProfile": {
        "title": "Intune Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "mode": {
            "type": "string",
            "enum": [
              "ca",
              "ra"
            ]
          },
          "thirdPartyConnector": {
            "type": "string"
          },
          "pkiConnector": {
            "type": "string"
          },
          "renewalPeriod": {
            "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"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "scepRA": {
            "type": "string"
          },
          "caps": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AES",
                "SHA-256",
                "Renewal",
                "SHA-512",
                "SHA-1",
                "DES3"
              ]
            }
          },
          "postPKIOperation": {
            "type": "boolean",
            "nullable": true
          },
          "encryptionAlgorithm": {
            "type": "string"
          },
          "deviceIdField": {
            "nullable": true,
            "type": "string"
          },
          "deviceIdSeparator": {
            "type": "string",
            "nullable": true
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "mode",
          "thirdPartyConnector",
          "pkiConnector",
          "scepRA",
          "caps",
          "encryptionAlgorithm",
          "authorizationLevels",
          "requestsPolicy",
          "selfPermissions",
          "cryptoPolicy"
        ]
      },
      "models.jamf.JamfProfile": {
        "title": "JAMF Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "mode": {
            "type": "string",
            "enum": [
              "ca",
              "ra"
            ]
          },
          "thirdPartyConnector": {
            "type": "string"
          },
          "pkiConnector": {
            "type": "string"
          },
          "renewalPeriod": {
            "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"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "scepRA": {
            "type": "string"
          },
          "caps": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AES",
                "SHA-256",
                "Renewal",
                "SHA-512",
                "SHA-1",
                "DES3"
              ]
            }
          },
          "postPKIOperation": {
            "type": "boolean",
            "nullable": true
          },
          "encryptionAlgorithm": {
            "type": "string"
          },
          "deviceIdField": {
            "nullable": true,
            "type": "string"
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "passwordPolicy": {
            "type": "string",
            "nullable": true
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "mode",
          "thirdPartyConnector",
          "pkiConnector",
          "scepRA",
          "caps",
          "encryptionAlgorithm",
          "authorizationLevels",
          "requestsPolicy",
          "selfPermissions",
          "cryptoPolicy"
        ]
      },
      "models.scep.ScepProfile": {
        "title": "SCEP Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "mode": {
            "type": "string",
            "enum": [
              "ca",
              "ra"
            ]
          },
          "scepRA": {
            "type": "string"
          },
          "caps": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AES",
                "SHA-256",
                "Renewal",
                "SHA-512",
                "SHA-1",
                "DES3"
              ]
            }
          },
          "postPKIOperation": {
            "type": "boolean",
            "nullable": true
          },
          "encryptionAlgorithm": {
            "type": "string"
          },
          "pkiConnector": {
            "type": "string"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "renewalPeriod": {
            "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"
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "dnWhitelist": {
            "type": "boolean"
          },
          "authorizationMode": {
            "description": "The authorization mode for this profile:\n- `challenge`: a SCEP challenge must be used when submitting a request. \n- `authorized`: the challenge does not come from the challenge but are credentials 'login:password' hex encoded of an account with enroll permissions.\n- `ndes`: challenge requests are automatically generated by an account with enroll permissions.\n",
            "type": "string",
            "enum": [
              "challenge",
              "authorized",
              "ndes"
            ]
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "passwordPolicy": {
            "type": "string",
            "nullable": true
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "mode",
          "scepRA",
          "caps",
          "encryptionAlgorithm",
          "pkiConnector",
          "dnWhitelist",
          "authorizationMode",
          "authorizationLevels",
          "requestsPolicy",
          "selfPermissions",
          "cryptoPolicy"
        ]
      },
      "models.wcce.WcceProfile": {
        "title": "WCCE Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "pkiConnector": {
            "type": "string"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "exchangeCertificate": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "pkiConnector",
          "authorizationLevels",
          "requestsPolicy",
          "selfPermissions",
          "cryptoPolicy"
        ]
      },
      "models.webra.WebRAProfile": {
        "title": "WebRA Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "pkiConnector": {
            "type": "string"
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "renewalPeriod": {
            "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"
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "pkiConnector",
          "authorizationLevels",
          "requestsPolicy",
          "cryptoPolicy",
          "selfPermissions"
        ]
      },
      "models.intune.IntunePKCSProfile": {
        "title": "Intune PKCS Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "pkiConnector": {
            "type": "string"
          },
          "thirdPartyConnector": {
            "type": "string"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "csrDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "pkiConnector",
          "thirdPartyConnector",
          "authorizationLevels",
          "requestsPolicy",
          "cryptoPolicy",
          "selfPermissions"
        ]
      },
      "models.acme.AcmeExternalProfile": {
        "title": "ACME External Profile",
        "properties": {
          "_id": {
            "type": "string"
          },
          "module": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "constraints": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateRequestConstraints"
              }
            ]
          },
          "authorizationMethods": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "pkiConnector": {
            "type": "string"
          },
          "acmeUrl": {
            "type": "string"
          },
          "requireEAB": {
            "type": "boolean"
          },
          "maxCertificatePerHolderPolicy": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.MaxCertificatePerHolderPolicy"
              }
            ]
          },
          "authorizedCas": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "renewalPeriod": {
            "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"
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileAuthorizationLevels"
              }
            ]
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileTriggers"
              }
            ]
          },
          "requestsPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.request.RequestsPolicy"
              }
            ]
          },
          "selfPermissions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileSelfPermissions"
              }
            ]
          },
          "certificateTemplate": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.template.CertificateTemplate"
              }
            ]
          },
          "cryptoPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "_id",
          "module",
          "name",
          "enabled",
          "timeout",
          "pkiConnector",
          "authorizeShortName",
          "authorizeEmptyContact",
          "verifyRetryCount",
          "verifyRetryDelay",
          "requireTermsOfService",
          "authorizationLevels",
          "requestsPolicy",
          "selfPermissions",
          "cryptoPolicy"
        ]
      },
      "CertProfile005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Module",
        "properties": {
          "error": {
            "enum": [
              "CERT-PROFILE-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid Module"
            ]
          },
          "title": {
            "enum": [
              "Invalid Module"
            ]
          }
        },
        "title": "CERT-PROFILE-005"
      },
      "CertProfile001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "CERT-PROFILE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "CERT-PROFILE-001"
      },
      "CertProfile002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Certificate Profile",
        "properties": {
          "error": {
            "enum": [
              "CERT-PROFILE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate Profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate Profile"
            ]
          }
        },
        "title": "CERT-PROFILE-002"
      },
      "CertProfile003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Profile not found",
        "properties": {
          "error": {
            "enum": [
              "CERT-PROFILE-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate Profile not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate Profile not found"
            ]
          }
        },
        "title": "CERT-PROFILE-003"
      },
      "CertProfile004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Profile already exists",
        "properties": {
          "error": {
            "enum": [
              "CERT-PROFILE-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate Profile already exists"
            ]
          },
          "title": {
            "enum": [
              "Certificate Profile already exists"
            ]
          }
        },
        "title": "CERT-PROFILE-004"
      },
      "CertProfile006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced Certificate Profile",
        "properties": {
          "error": {
            "enum": [
              "CERT-PROFILE-006"
            ]
          },
          "message": {
            "enum": [
              "Referenced Certificate Profile"
            ]
          },
          "title": {
            "enum": [
              "Referenced Certificate Profile"
            ]
          }
        },
        "title": "CERT-PROFILE-006"
      },
      "models.search.SortElement": {
        "title": "SortElement",
        "properties": {
          "element": {
            "example": "notBefore",
            "description": "The name of the field the query should be sorted by. Must be one of the `fields` of the search query",
            "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"
        ]
      },
      "models.search.discovery.event.DiscoveryEventSearchQuery": {
        "properties": {
          "query": {
            "type": "string",
            "nullable": true
          },
          "sortedBy": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.search.SortElement"
            }
          },
          "pageIndex": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "withCount": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "Hql001": {
        "title": "HQL-001",
        "description": "Invalid HQL query",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "HQL-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid HQL query"
            ]
          },
          "title": {
            "enum": [
              "Invalid HQL query"
            ]
          }
        }
      },
      "DiscEvt001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "DISC-EVT-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "DISC-EVT-001"
      },
      "models.search.event.EventSearchQuery": {
        "properties": {
          "query": {
            "type": "string",
            "nullable": true
          },
          "sortedBy": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.search.SortElement"
            }
          },
          "pageIndex": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "withCount": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "models.event.EventDetail": {
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "models.search.event.EventSearchResult": {
        "properties": {
          "_id": {
            "nullable": true,
            "type": "string"
          },
          "code": {
            "type": "string",
            "nullable": true,
            "enum": [
              "LIFECYCLE-ENROLL",
              "TRIGGER-NOTIFICATION",
              "LICENSE-LIMIT-REACHED",
              "REQUEST-APPROVE",
              "LIFECYCLE-MIGRATE",
              "SEC-PASSWORD-POLICY-UPDATE",
              "REQUEST-DENY",
              "DISCOVERY-CAMPAIGN-FLUSH",
              "BOOTSTRAP-ADMINISTRATOR-ACCOUNT",
              "SEC-ROLE-ADD",
              "SCHEDULED-TASK-COMPLETE",
              "SEC-LOCAL-IDENTITY-UPDATE",
              "SEC-LOCAL-IDENTITY-DELETE",
              "CRMP-RETRIEVE",
              "ACTOR",
              "CA-CERT-SYNC",
              "TRIGGER-DELETE",
              "CONF-DELETE",
              "REQUEST-SUBMIT",
              "SCEP-PKI-CLIENT",
              "REQUEST-TEMPLATE",
              "SCEP-PKI-OPERATION",
              "SYNC-RENEW",
              "ACME-CHALLENGE-VERIFY",
              "SCEP-REVOKE-ON-RENEW",
              "TEAM-SWITCH",
              "ACME-ACCOUNT-KEY-CHANGE",
              "BOOTSTRAP-LOCAL-IDENTITY-PROVIDER",
              "SEC-TEAM-UPDATE",
              "EST-SIMPLE-ENROLL",
              "SCEP-NDES-EMULATION",
              "GRADING-END",
              "EST-CACERTS",
              "BOOTSTRAP-ADMINISTRATOR-PRINCIPAL",
              "LIFECYCLE-MAX-CERT-PER-HOLDER",
              "CONF-ADD",
              "EST-SIMPLE-REENROLL",
              "TRIGGER-PUSH",
              "ACME-ORDER-NEW",
              "SEC-AUTHORIZATION-UPDATE",
              "GRADING-START",
              "ACME-REVOKE",
              "SCHEDULED-TASK-RUN",
              "SEC-PASSWORD-POLICY-DELETE",
              "WCCE-ENROLL",
              "ACME-CHALLENGE-REQUEST-VERIFY",
              "ACME-ACCOUNT-UPDATE",
              "SYNC-REVOKE",
              "CRMP-PROFILE-PROPERTIES",
              "SCEP-GET-CA-CERT",
              "SEC-TEAM-DELETE",
              "SEC-AUTHORIZATION-DELETE",
              "CONF-UPDATE",
              "REQUEST-CANCEL",
              "ACME-ACCOUNT-REGISTER",
              "TRIGGER-EMAIL",
              "SEC-AUTHORIZATION-ADD",
              "SERVICE-STOP",
              "GRADING-ERROR",
              "SEC-AUTHENTICATION",
              "PKI-CONNECTOR",
              "SUPERVISOR",
              "SEC-LOCAL-IDENTITY-ADD",
              "TRIGGER-REMOVE",
              "BOOTSTRAP-GRADING-RULESET",
              "LIFECYCLE-UPDATE",
              "CRMP-LIST",
              "SEC-IDENTITY-PROVIDER-DELETE",
              "CRMP-BAD-REQUEST",
              "CRMP-AUTHENTICATION",
              "CRMP-RECOVER",
              "SERVICE-START",
              "SEC-ROLE-UPDATE",
              "SEC-IDENTITY-PROVIDER-UPDATE",
              "CA-CRL-UPDATE",
              "SEC-TEAM-ADD",
              "ACME-ORDER-UPDATE",
              "SEC-LOCAL-IDENTITY-RESET",
              "CRMP-REVOKE",
              "EST-REVOKE-ON-RENEW",
              "LIFECYCLE-RECOVER",
              "ACME-ORDER-FINALIZE",
              "CRMP-ENROLL",
              "LICENSE-ERROR",
              "SCEP-ENROLL",
              "SYNC-ENROLL",
              "SEC-PASSWORD-POLICY-ADD",
              "BOOTSTRAP-GRADING-POLICY",
              "SEC-IDENTITY-PROVIDER-ADD",
              "ACME-ORDER-CERTIFICATE",
              "LIFECYCLE-REVOKE",
              "SCEP-RENEW",
              "SCEP-GET-CERT-INITIAL",
              "SEC-TEAM-SWITCH",
              "ACME-AUTHORIZATION-DEACTIVATE",
              "SEC-ROLE-DELETE",
              "LIFECYCLE-ESCROW",
              "LIFECYCLE-RENEW"
            ]
          },
          "details": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.event.EventDetail"
            }
          },
          "module": {
            "type": "string",
            "nullable": true,
            "enum": [
              "aws",
              "security",
              "event",
              "acme",
              "service",
              "configuration",
              "bootstrap",
              "est",
              "actor",
              "thirdparty",
              "request",
              "webra",
              "f5client",
              "grading",
              "jamf",
              "ca",
              "intunepkcs",
              "intune",
              "license",
              "crmp",
              "scheduler",
              "wcce",
              "scep"
            ]
          },
          "node": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "removeAt": {
            "nullable": true,
            "type": "integer",
            "format": "epoch"
          },
          "seal": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true,
            "enum": [
              "warning",
              "failure",
              "success"
            ]
          }
        }
      },
      "controllers.api.event.EventSearchResults": {
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.search.event.EventSearchResult"
            }
          },
          "pageIndex": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "hasMore": {
            "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"
      },
      "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"
      },
      "Evt004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Event",
        "properties": {
          "error": {
            "enum": [
              "EVT-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid Event"
            ]
          },
          "title": {
            "enum": [
              "Invalid Event"
            ]
          }
        },
        "title": "EVT-004"
      },
      "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"
      },
      "models.error.Error": {
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "detail": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "error",
          "message"
        ]
      },
      "models.event.Event": {
        "properties": {
          "_id": {
            "nullable": true,
            "type": "string"
          },
          "code": {
            "type": "string",
            "enum": [
              "LIFECYCLE-ENROLL",
              "TRIGGER-NOTIFICATION",
              "LICENSE-LIMIT-REACHED",
              "REQUEST-APPROVE",
              "LIFECYCLE-MIGRATE",
              "SEC-PASSWORD-POLICY-UPDATE",
              "REQUEST-DENY",
              "DISCOVERY-CAMPAIGN-FLUSH",
              "BOOTSTRAP-ADMINISTRATOR-ACCOUNT",
              "SEC-ROLE-ADD",
              "SCHEDULED-TASK-COMPLETE",
              "SEC-LOCAL-IDENTITY-UPDATE",
              "SEC-LOCAL-IDENTITY-DELETE",
              "CRMP-RETRIEVE",
              "ACTOR",
              "CA-CERT-SYNC",
              "TRIGGER-DELETE",
              "CONF-DELETE",
              "REQUEST-SUBMIT",
              "SCEP-PKI-CLIENT",
              "REQUEST-TEMPLATE",
              "SCEP-PKI-OPERATION",
              "SYNC-RENEW",
              "ACME-CHALLENGE-VERIFY",
              "SCEP-REVOKE-ON-RENEW",
              "TEAM-SWITCH",
              "ACME-ACCOUNT-KEY-CHANGE",
              "BOOTSTRAP-LOCAL-IDENTITY-PROVIDER",
              "SEC-TEAM-UPDATE",
              "EST-SIMPLE-ENROLL",
              "SCEP-NDES-EMULATION",
              "GRADING-END",
              "EST-CACERTS",
              "BOOTSTRAP-ADMINISTRATOR-PRINCIPAL",
              "LIFECYCLE-MAX-CERT-PER-HOLDER",
              "CONF-ADD",
              "EST-SIMPLE-REENROLL",
              "TRIGGER-PUSH",
              "ACME-ORDER-NEW",
              "SEC-AUTHORIZATION-UPDATE",
              "GRADING-START",
              "ACME-REVOKE",
              "SCHEDULED-TASK-RUN",
              "SEC-PASSWORD-POLICY-DELETE",
              "WCCE-ENROLL",
              "ACME-CHALLENGE-REQUEST-VERIFY",
              "ACME-ACCOUNT-UPDATE",
              "SYNC-REVOKE",
              "CRMP-PROFILE-PROPERTIES",
              "SCEP-GET-CA-CERT",
              "SEC-TEAM-DELETE",
              "SEC-AUTHORIZATION-DELETE",
              "CONF-UPDATE",
              "REQUEST-CANCEL",
              "ACME-ACCOUNT-REGISTER",
              "TRIGGER-EMAIL",
              "SEC-AUTHORIZATION-ADD",
              "SERVICE-STOP",
              "GRADING-ERROR",
              "SEC-AUTHENTICATION",
              "PKI-CONNECTOR",
              "SUPERVISOR",
              "SEC-LOCAL-IDENTITY-ADD",
              "TRIGGER-REMOVE",
              "BOOTSTRAP-GRADING-RULESET",
              "LIFECYCLE-UPDATE",
              "CRMP-LIST",
              "SEC-IDENTITY-PROVIDER-DELETE",
              "CRMP-BAD-REQUEST",
              "CRMP-AUTHENTICATION",
              "CRMP-RECOVER",
              "SERVICE-START",
              "SEC-ROLE-UPDATE",
              "SEC-IDENTITY-PROVIDER-UPDATE",
              "CA-CRL-UPDATE",
              "SEC-TEAM-ADD",
              "ACME-ORDER-UPDATE",
              "SEC-LOCAL-IDENTITY-RESET",
              "CRMP-REVOKE",
              "EST-REVOKE-ON-RENEW",
              "LIFECYCLE-RECOVER",
              "ACME-ORDER-FINALIZE",
              "CRMP-ENROLL",
              "LICENSE-ERROR",
              "SCEP-ENROLL",
              "SYNC-ENROLL",
              "SEC-PASSWORD-POLICY-ADD",
              "BOOTSTRAP-GRADING-POLICY",
              "SEC-IDENTITY-PROVIDER-ADD",
              "ACME-ORDER-CERTIFICATE",
              "LIFECYCLE-REVOKE",
              "SCEP-RENEW",
              "SCEP-GET-CERT-INITIAL",
              "SEC-TEAM-SWITCH",
              "ACME-AUTHORIZATION-DEACTIVATE",
              "SEC-ROLE-DELETE",
              "LIFECYCLE-ESCROW",
              "LIFECYCLE-RENEW"
            ]
          },
          "details": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.event.EventDetail"
            }
          },
          "module": {
            "type": "string",
            "enum": [
              "aws",
              "security",
              "event",
              "acme",
              "service",
              "configuration",
              "bootstrap",
              "est",
              "actor",
              "thirdparty",
              "request",
              "webra",
              "f5client",
              "grading",
              "jamf",
              "ca",
              "intunepkcs",
              "intune",
              "license",
              "crmp",
              "scheduler",
              "wcce",
              "scep"
            ]
          },
          "node": {
            "type": "string"
          },
          "timestamp": {
            "type": "integer",
            "format": "epoch"
          },
          "removeAt": {
            "nullable": true,
            "type": "integer",
            "format": "epoch"
          },
          "seal": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "warning",
              "failure",
              "success"
            ]
          }
        },
        "required": [
          "code",
          "module",
          "node",
          "timestamp",
          "status"
        ]
      },
      "controllers.api.license.ModuleLicenseInfo": {
        "properties": {
          "module": {
            "type": "string"
          },
          "items": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "module",
          "items"
        ]
      },
      "controllers.api.license.LibraryInfo": {
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "version"
        ]
      },
      "controllers.api.license.LicenseInfo": {
        "properties": {
          "isValid": {
            "type": "boolean"
          },
          "expiration": {
            "nullable": true,
            "type": "integer",
            "format": "epoch"
          },
          "version": {
            "type": "string"
          },
          "buildTime": {
            "type": "integer",
            "format": "int64"
          },
          "modules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/controllers.api.license.ModuleLicenseInfo"
            }
          },
          "libraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/controllers.api.license.LibraryInfo"
            }
          }
        },
        "required": [
          "isValid",
          "version",
          "buildTime",
          "modules",
          "libraries"
        ]
      },
      "models.pki.connector.stream.StreamConnector": {
        "title": "Stream",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "stream"
            ]
          },
          "endPoint": {
            "type": "string",
            "description": "Stream's base endpoint"
          },
          "template": {
            "type": "string",
            "description": "Stream's certificate template to use for enrollment"
          },
          "ca": {
            "type": "string",
            "description": "Stream's technical name of the CA on which to enroll"
          },
          "loginCredentials": {
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI. Only one of `loginCredentials` and `authenticationCredentials` can be specified.",
            "type": "string",
            "nullable": true
          },
          "authenticationCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI. Only one of `loginCredentials` and `authenticationCredentials` can be specified.",
            "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "template",
          "ca"
        ]
      },
      "models.pki.connector.aws.AWSACMPCAConnector": {
        "title": "AWS ACM PCA",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "awsacmpca"
            ]
          },
          "region": {
            "type": "string"
          },
          "caArn": {
            "type": "string"
          },
          "accessCredentials": {
            "type": "string",
            "nullable": true,
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing Access Key Id and Secret Access Key. If not defined, an account present in environment variables can be used."
          },
          "templateArn": {
            "type": "string",
            "nullable": true
          },
          "roleArn": {
            "type": "string",
            "nullable": true
          },
          "validDays": {
            "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"
          },
          "retryInterval": {
            "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"
          },
          "signingHash": {
            "type": "string",
            "nullable": true
          },
          "certificateUsage": {
            "type": "string",
            "nullable": true
          },
          "caPolicyOid": {
            "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "region",
          "caArn"
        ]
      },
      "models.pki.connector.certeurope.CertEuropeConnector": {
        "title": "CertEurope",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "certeurope"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "loginCredentials": {
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use for technical account on the PKI",
            "type": "string"
          },
          "offerId": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "revReason": {
            "type": "string",
            "nullable": true
          },
          "retryInterval": {
            "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"
          },
          "authenticationCredentials": {
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string",
            "example": "myCertificateCredentials"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "loginCredentials",
          "offerId",
          "authenticationCredentials",
          "organizationId"
        ]
      },
      "models.pki.connector.cmp.CMPConnector": {
        "title": "CS-Novidy's TrustyKey",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "cmp"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "issuerCADN": {
            "type": "string"
          },
          "issuerCACert": {
            "type": "string"
          },
          "signerCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to sign on the PKI",
            "type": "string"
          },
          "emailMap": {
            "type": "string",
            "nullable": true
          },
          "sanDnsMap": {
            "type": "string",
            "nullable": true
          },
          "cnMap": {
            "type": "string",
            "nullable": true
          },
          "profileMap": {
            "type": "string",
            "nullable": true
          },
          "issuerMap": {
            "type": "string",
            "nullable": true
          },
          "legacyCMPStyle": {
            "type": "boolean",
            "nullable": true
          },
          "authenticationCredentials": {
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "profile",
          "issuerCADN",
          "issuerCACert",
          "signerCredentials",
          "authenticationCredentials"
        ]
      },
      "models.pki.connector.digicert.DigiCertConnector": {
        "title": "DigiCert CertCentral",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "digicert"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "apiCredentials": {
            "example": "myRawCredentials",
            "type": "string",
            "description": "Name of the `raw` [credentials](#tag/api.security.credentials) containing the API key to authenticate on the PKI"
          },
          "organizationId": {
            "type": "integer",
            "format": "int32"
          },
          "caCertId": {
            "type": "string",
            "nullable": true
          },
          "retryInterval": {
            "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"
          },
          "skipApproval": {
            "type": "boolean",
            "nullable": true
          },
          "customConnectorDataMapping": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "apiCredentials",
          "organizationId"
        ]
      },
      "models.pki.connector.ejbca.EJBCAConnector": {
        "title": "EJBCA",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "ejbca"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "caName": {
            "type": "string"
          },
          "eeProfile": {
            "type": "string",
            "nullable": true
          },
          "authenticationCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "profile",
          "caName",
          "authenticationCredentials"
        ]
      },
      "models.pki.connector.entrust.EntrustConnector": {
        "title": "Entrust Certificate Services",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "entrust"
            ]
          },
          "loginCredentials": {
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use for technical account on the PKI",
            "type": "string"
          },
          "certType": {
            "type": "string"
          },
          "requesterDefaultMail": {
            "type": "string"
          },
          "requesterName": {
            "type": "string",
            "nullable": true
          },
          "requesterPhone": {
            "type": "string",
            "nullable": true
          },
          "certLifetime": {
            "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"
          },
          "clientId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "authenticationCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "loginCredentials",
          "authenticationCredentials",
          "certType",
          "requesterDefaultMail"
        ]
      },
      "models.secret.SecretString": {
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "description": "Value of the secret that will be passed to Horizon",
            "example": "zxNT49BtECRYaRYx ..."
          }
        }
      },
      "models.pki.connector.evertrust.IntegratedCAConnector": {
        "title": "Integrated connector",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "integrated"
            ]
          },
          "caKey": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          },
          "caCert": {
            "type": "string",
            "nullable": true
          },
          "crlPath": {
            "type": "string",
            "nullable": true
          },
          "crlLifetime": {
            "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"
          },
          "certType": {
            "type": "string",
            "nullable": true
          },
          "signAlg": {
            "type": "string",
            "nullable": true
          },
          "crtLifetime": {
            "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"
          },
          "crtBackDate": {
            "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": {
            "type": "boolean",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type"
        ]
      },
      "models.pki.connector.fisid.FCMSConnector": {
        "title": "FISid",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "fcms"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "apiCredentials": {
            "example": "myRawCredentials",
            "type": "string",
            "description": "Name of the `raw` [credentials](#tag/api.security.credentials) containing the API key to authenticate on the PKI"
          },
          "templateId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultOwner": {
            "type": "string"
          },
          "authenticationDomainId": {
            "type": "integer",
            "format": "int32"
          },
          "ownerGroups": {
            "type": "string",
            "nullable": true
          },
          "deleteOnRevoke": {
            "type": "boolean"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "apiCredentials",
          "templateId",
          "defaultOwner",
          "authenticationDomainId",
          "deleteOnRevoke"
        ]
      },
      "models.pki.connector.globalsign.GSAtlasConnector": {
        "title": "GlobalSign Atlas",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "gsatlas"
            ]
          },
          "loginCredentials": {
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use for technical account on the PKI",
            "type": "string"
          },
          "hashAlgorithm": {
            "type": "string",
            "nullable": true
          },
          "certificateUsage": {
            "type": "string",
            "nullable": true
          },
          "retryInterval": {
            "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"
          },
          "authenticationCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "loginCredentials",
          "authenticationCredentials"
        ]
      },
      "models.pki.connector.globalsign.GSMSSLConnector": {
        "title": "GlobalSign MSSL",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "gsmssl"
            ]
          },
          "endpointType": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "loginCredentials": {
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use for technical account on the PKI",
            "type": "string"
          },
          "domainId": {
            "type": "string"
          },
          "certificateValidity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultEmail": {
            "type": "string",
            "nullable": true
          },
          "defaultPhone": {
            "type": "string",
            "nullable": true
          },
          "retryInterval": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endpointType",
          "profile",
          "loginCredentials",
          "domainId"
        ]
      },
      "models.pki.connector.idnomic.OTPKIConnector": {
        "title": "OpenTrust PKI",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "otpki"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "emailMap": {
            "type": "string",
            "nullable": true
          },
          "sanDnsMap": {
            "type": "string",
            "nullable": true
          },
          "sanEmailMap": {
            "type": "string",
            "nullable": true
          },
          "uidMap": {
            "type": "string",
            "nullable": true
          },
          "zone": {
            "type": "string",
            "nullable": true
          },
          "authenticationCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "profile",
          "authenticationCredentials"
        ]
      },
      "models.pki.connector.microsoft.ADCSConnector": {
        "title": "ADCS (deprecated)",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "msadcs"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "loginCredentials": {
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use for technical account on the PKI",
            "type": "string"
          },
          "enrollmentCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to enroll on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "profile",
          "loginCredentials",
          "enrollmentCredentials"
        ]
      },
      "models.pki.connector.microsoft.EverTrustADCSConnector": {
        "title": "EVERTRUST ADCS",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "evtadcs"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "caConfig": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "loginCredentials": {
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) to use for technical account on the PKI",
            "type": "string"
          },
          "enrollmentCredentials": {
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to enroll on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "caConfig",
          "profile",
          "domain",
          "loginCredentials",
          "enrollmentCredentials"
        ]
      },
      "models.pki.connector.nexus.NexusCMConnector": {
        "title": "Nexus Certificate Manager",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "nexuscm"
            ]
          },
          "endPoint": {
            "type": "string"
          },
          "endPointIssuingCA": {
            "type": "string"
          },
          "procedure": {
            "type": "string"
          },
          "authenticationCredentials": {
            "example": "myCertificateCredentials",
            "description": "Name of the `certificate` [credentials](#tag/api.security.credentials) to use to authenticate on the PKI",
            "type": "string"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "endPoint",
          "endPointIssuingCA",
          "procedure",
          "authenticationCredentials"
        ]
      },
      "PkiConnector001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "PKI-CONNECTOR-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "PKI-CONNECTOR-001"
      },
      "PkiConnector002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid PKI Connector",
        "properties": {
          "error": {
            "enum": [
              "PKI-CONNECTOR-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid PKI Connector"
            ]
          },
          "title": {
            "enum": [
              "Invalid PKI Connector"
            ]
          }
        },
        "title": "PKI-CONNECTOR-002"
      },
      "PkiConnector003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "PKI Connector not found",
        "properties": {
          "error": {
            "enum": [
              "PKI-CONNECTOR-003"
            ]
          },
          "message": {
            "enum": [
              "PKI Connector not found"
            ]
          },
          "title": {
            "enum": [
              "PKI Connector not found"
            ]
          }
        },
        "title": "PKI-CONNECTOR-003"
      },
      "PkiConnector004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "PKI Connector already exists",
        "properties": {
          "error": {
            "enum": [
              "PKI-CONNECTOR-004"
            ]
          },
          "message": {
            "enum": [
              "PKI Connector already exists"
            ]
          },
          "title": {
            "enum": [
              "PKI Connector already exists"
            ]
          }
        },
        "title": "PKI-CONNECTOR-004"
      },
      "PkiConnector005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced PKI Connector",
        "properties": {
          "error": {
            "enum": [
              "PKI-CONNECTOR-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced PKI Connector"
            ]
          },
          "title": {
            "enum": [
              "Referenced PKI Connector"
            ]
          }
        },
        "title": "PKI-CONNECTOR-005"
      },
      "models.pki.queue.PKIQueue": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "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"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "_id",
          "name",
          "clusterWide",
          "size"
        ]
      },
      "PkiQueue001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "PKI-QUEUE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "PKI-QUEUE-001"
      },
      "PkiQueue002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid PKI Queue",
        "properties": {
          "error": {
            "enum": [
              "PKI-QUEUE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid PKI Queue"
            ]
          },
          "title": {
            "enum": [
              "Invalid PKI Queue"
            ]
          }
        },
        "title": "PKI-QUEUE-002"
      },
      "PkiQueue003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "PKI Queue not found",
        "properties": {
          "error": {
            "enum": [
              "PKI-QUEUE-003"
            ]
          },
          "message": {
            "enum": [
              "PKI Queue not found"
            ]
          },
          "title": {
            "enum": [
              "PKI Queue not found"
            ]
          }
        },
        "title": "PKI-QUEUE-003"
      },
      "PkiQueue004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "PKI Queue already exists",
        "properties": {
          "error": {
            "enum": [
              "PKI-QUEUE-004"
            ]
          },
          "message": {
            "enum": [
              "PKI Queue already exists"
            ]
          },
          "title": {
            "enum": [
              "PKI Queue already exists"
            ]
          }
        },
        "title": "PKI-QUEUE-004"
      },
      "PkiQueue005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced PKI Queue",
        "properties": {
          "error": {
            "enum": [
              "PKI-QUEUE-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced PKI Queue"
            ]
          },
          "title": {
            "enum": [
              "Referenced PKI Queue"
            ]
          }
        },
        "title": "PKI-QUEUE-005"
      },
      "models.http.HttpProxy": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "_id",
          "name",
          "host",
          "port"
        ]
      },
      "HttpProxy001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "HTTP-PROXY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "HTTP-PROXY-001"
      },
      "HttpProxy002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Proxy",
        "properties": {
          "error": {
            "enum": [
              "HTTP-PROXY-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Proxy"
            ]
          },
          "title": {
            "enum": [
              "Invalid Proxy"
            ]
          }
        },
        "title": "HTTP-PROXY-002"
      },
      "HttpProxy003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Proxy not found",
        "properties": {
          "error": {
            "enum": [
              "HTTP-PROXY-003"
            ]
          },
          "message": {
            "enum": [
              "Proxy not found"
            ]
          },
          "title": {
            "enum": [
              "Proxy not found"
            ]
          }
        },
        "title": "HTTP-PROXY-003"
      },
      "HttpProxy004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Proxy already exists",
        "properties": {
          "error": {
            "enum": [
              "HTTP-PROXY-004"
            ]
          },
          "message": {
            "enum": [
              "Proxy already exists"
            ]
          },
          "title": {
            "enum": [
              "Proxy already exists"
            ]
          }
        },
        "title": "HTTP-PROXY-004"
      },
      "HttpProxy005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced Proxy",
        "properties": {
          "error": {
            "enum": [
              "HTTP-PROXY-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced Proxy"
            ]
          },
          "title": {
            "enum": [
              "Referenced Proxy"
            ]
          }
        },
        "title": "HTTP-PROXY-005"
      },
      "models.system.configuration.entries.LicenseTriggers": {
        "title": "License Triggers",
        "properties": {
          "onLicenseExpiration": {
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of the triggers to execute when the license expires",
            "example": [
              "expirationTrigger"
            ]
          },
          "onLicenseUsage": {
            "nullable": true,
            "type": "array",
            "example": [
              "licenseTrigger"
            ],
            "items": {
              "type": "string"
            },
            "description": "Names of the triggers to execute when the license usage exceeds threshold"
          }
        }
      },
      "models.system.configuration.entries.LicenseConfiguration": {
        "title": "License Configuration",
        "properties": {
          "_id": {
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "license"
            ],
            "description": "The type of the configuration entry"
          },
          "triggers": {
            "nullable": true,
            "type": "object",
            "description": "Triggers to execute on license events",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.system.configuration.entries.LicenseTriggers"
              }
            ]
          }
        },
        "required": [
          "_id",
          "type"
        ]
      },
      "models.system.configuration.entries.InternalMonitorConfiguration": {
        "title": "Internal Monitor Configuration",
        "properties": {
          "_id": {
            "readOnly": true,
            "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"
        ]
      },
      "models.system.configuration.entries.InterfaceCustomizationConfiguration": {
        "title": "Interface Customization Configuration",
        "properties": {
          "_id": {
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "interface_customization"
            ],
            "description": "The type of the configuration entry"
          },
          "logo": {
            "nullable": true,
            "example": "MIIZ....",
            "type": "string",
            "description": "A logo to display on the product, base64 encoded"
          },
          "headerStart": {
            "example": "abcdef",
            "nullable": true,
            "type": "string",
            "description": "The HTML color code for the left side of the banner gradient"
          },
          "headerEnd": {
            "example": "fedcba",
            "nullable": true,
            "type": "string",
            "description": "The HTML color code for the right side of the banner gradient"
          }
        },
        "required": [
          "_id",
          "type"
        ]
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "fr.evertrust.certfactory.ext.CFDistinguishedName": {
        "title": "CFDistinguishedName",
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "fr.evertrust.certfactory.crt.CFCertificate": {
        "title": "CFCertificate",
        "type": "object",
        "properties": {
          "dn": {
            "type": "string"
          },
          "dnElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/fr.evertrust.certfactory.ext.CFDistinguishedName"
            }
          },
          "issuerDn": {
            "type": "string"
          },
          "serial": {
            "type": "string"
          },
          "notBefore": {
            "type": "integer",
            "format": "epoch"
          },
          "notAfter": {
            "type": "integer",
            "format": "epoch"
          },
          "keyType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ]
          },
          "signingAlgorithm": {
            "type": "string"
          },
          "pem": {
            "type": "string"
          },
          "subjectKeyIdentifier": {
            "type": "string"
          },
          "authorityKeyIdentifier": {
            "type": "string"
          },
          "certificateThumbprint": {
            "type": "string"
          },
          "keyUsages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isKeyUsagesCritical": {
            "type": "boolean"
          },
          "extendedKeyUsages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isExtendedKeyUsagesCritical": {
            "type": "boolean"
          },
          "selfSigned": {
            "type": "boolean"
          },
          "basicConstraints": {
            "type": "object",
            "properties": {
              "isCa": {
                "type": "boolean"
              },
              "pathLen": {
                "type": "integer"
              }
            },
            "required": [
              "isCa"
            ]
          },
          "sans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.SubjectAlternateName"
            }
          },
          "extensions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "value"
              ]
            }
          },
          "crldps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "aias": {
            "type": "object",
            "properties": {
              "crt": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "ocsp": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "policies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "oid": {
                  "type": "string"
                },
                "urls": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "oid"
              ]
            }
          }
        },
        "required": [
          "dn",
          "dnElements",
          "issuerDn",
          "serial",
          "notBefore",
          "notAfter",
          "keyType",
          "signingAlgorithm",
          "pem",
          "subjectKeyIdentifier",
          "certificateThumbprint",
          "isKeyUsagesCritical",
          "isExtendedKeyUsagesCritical",
          "selfSigned"
        ]
      },
      "controllers.api.rfc5280.BundleResponse": {
        "title": "Bundle response",
        "properties": {
          "type": {
            "enum": [
              "bundle"
            ],
            "type": "string"
          },
          "value": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/fr.evertrust.certfactory.crt.CFCertificate"
                }
              ]
            }
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "controllers.api.rfc5280.CertificateResponse": {
        "title": "Certificate response",
        "properties": {
          "type": {
            "enum": [
              "certificate"
            ],
            "type": "string"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/fr.evertrust.certfactory.crt.CFCertificate"
              }
            ]
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "fr.evertrust.certfactory.crl.CFCrl": {
        "title": "CFCrl",
        "type": "object",
        "properties": {
          "number": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "enum": [
              1,
              2
            ]
          },
          "issuer": {
            "type": "string"
          },
          "thisUpdate": {
            "type": "integer",
            "format": "epoch"
          },
          "nextUpdate": {
            "type": "integer",
            "format": "epoch"
          }
        },
        "required": [
          "issuer",
          "thisUpdate",
          "nextUpdate"
        ]
      },
      "controllers.api.rfc5280.CRLResponse": {
        "title": "CRL response",
        "properties": {
          "type": {
            "enum": [
              "crl"
            ],
            "type": "string"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/fr.evertrust.certfactory.crl.CFCrl"
              }
            ]
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "fr.evertrust.certfactory.csr.CFCertificationRequest": {
        "title": "CFCertificationRequest",
        "description": "Certification request",
        "type": "object",
        "properties": {
          "dn": {
            "description": "Distinguished name",
            "example": "CN=example.com,OU=IT,O=MyCompany,C=FR",
            "type": "string"
          },
          "sans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.certificate.SubjectAlternateName"
            }
          },
          "dnElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/fr.evertrust.certfactory.ext.CFDistinguishedName"
            }
          },
          "keytype": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ]
          },
          "pem": {
            "type": "string"
          }
        },
        "required": [
          "dn",
          "dnElements",
          "keytype",
          "pem"
        ]
      },
      "controllers.api.rfc5280.CSRResponse": {
        "title": "CSR response",
        "properties": {
          "type": {
            "enum": [
              "csr"
            ],
            "type": "string"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/fr.evertrust.certfactory.csr.CFCertificationRequest"
              }
            ]
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "Rfc5280005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid RFC 5280 object",
        "properties": {
          "error": {
            "enum": [
              "RFC5280-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid RFC 5280 object"
            ]
          },
          "title": {
            "enum": [
              "Invalid RFC 5280 object"
            ]
          }
        },
        "title": "RFC5280-005"
      },
      "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"
      },
      "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"
      },
      "controllers.api.rfc5280.Pkcs12Content": {
        "properties": {
          "certificate": {
            "type": "string"
          },
          "privateKey": {
            "type": "string",
            "format": "PKCS#8 PEM encoded"
          }
        },
        "required": [
          "certificate",
          "privateKey"
        ]
      },
      "Rfc5280004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid PKCS#12 or PKCS#12 password",
        "properties": {
          "error": {
            "enum": [
              "RFC5280-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid PKCS#12 or PKCS#12 password"
            ]
          },
          "title": {
            "enum": [
              "Invalid PKCS#12 or PKCS#12 password"
            ]
          }
        },
        "title": "RFC5280-004"
      },
      "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"
      },
      "models.report.recipient.ReportRecipient": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "static",
              "team_contact",
              "team_manager"
            ]
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "team": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "models.report.ReportScheduledTask": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "thirdparty",
              "report"
            ]
          },
          "cron": {
            "type": "string",
            "format": "Quartz Cron"
          },
          "host": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true,
            "enum": [
              "warning",
              "failure",
              "success",
              "running"
            ]
          },
          "lastExecutionDate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "lastCompletionDate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "executionId": {
            "nullable": true,
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "recipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.report.recipient.ReportRecipient"
            }
          },
          "from": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "isHtml": {
            "type": "boolean"
          },
          "hqlType": {
            "type": "string",
            "enum": [
              "heql",
              "hcql",
              "hrql",
              "hpql",
              "hdql"
            ]
          },
          "hqlQuery": {
            "type": "string",
            "nullable": true
          },
          "hqlFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "hqlSortedBy": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.search.SortElement"
            }
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "cron",
          "enabled",
          "name",
          "recipients",
          "from",
          "title",
          "isHtml",
          "hqlType"
        ]
      },
      "models.thirdparty.ThirdPartyConnectorSynchronizationResult": {
        "properties": {
          "enroll_success": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enroll_failure": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "renew_success": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "renew_failure": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "revoke_success": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "revoke_failure": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "models.thirdparty.ThirdPartyScheduledTask": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "thirdparty",
              "report"
            ]
          },
          "cron": {
            "type": "string",
            "format": "Quartz Cron"
          },
          "host": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true,
            "enum": [
              "warning",
              "failure",
              "success",
              "running"
            ]
          },
          "lastExecutionDate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "lastCompletionDate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "dryRun": {
            "type": "boolean"
          },
          "executionId": {
            "nullable": true,
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "module": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "connector": {
            "type": "string"
          },
          "enroll": {
            "type": "boolean"
          },
          "revoke": {
            "type": "boolean"
          },
          "renew": {
            "type": "boolean"
          },
          "results": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.thirdparty.ThirdPartyConnectorSynchronizationResult"
              }
            ]
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "cron",
          "dryRun",
          "enabled",
          "module",
          "profile",
          "connector",
          "enroll",
          "revoke",
          "renew"
        ]
      },
      "SchedTask002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Scheduled Task",
        "properties": {
          "error": {
            "enum": [
              "SCHED-TASK-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Scheduled Task"
            ]
          },
          "title": {
            "enum": [
              "Invalid Scheduled Task"
            ]
          }
        },
        "title": "SCHED-TASK-002"
      },
      "SchedTask001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "SCHED-TASK-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "SCHED-TASK-001"
      },
      "SchedTask003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Scheduled Task not found",
        "properties": {
          "error": {
            "enum": [
              "SCHED-TASK-003"
            ]
          },
          "message": {
            "enum": [
              "Scheduled Task not found"
            ]
          },
          "title": {
            "enum": [
              "Scheduled Task not found"
            ]
          }
        },
        "title": "SCHED-TASK-003"
      },
      "SchedTask004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Scheduled Task already exists",
        "properties": {
          "error": {
            "enum": [
              "SCHED-TASK-004"
            ]
          },
          "message": {
            "enum": [
              "Scheduled Task already exists"
            ]
          },
          "title": {
            "enum": [
              "Scheduled Task already exists"
            ]
          }
        },
        "title": "SCHED-TASK-004"
      },
      "models.security.identity.local.LocalIdentity": {
        "properties": {
          "_id": {
            "description": "Internal ID",
            "example": "6424527e4701004c010b1509",
            "type": "string",
            "readOnly": true
          },
          "identifier": {
            "description": "The identifier of the local identity (used by the identity to log in to the web UI)",
            "example": "administrator",
            "type": "string"
          },
          "email": {
            "description": "The email address of the local identity",
            "example": "administrator@evertrust.fr",
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "name": {
            "description": "The display name of the local identity",
            "example": "Horizon Administrator",
            "type": "string",
            "nullable": true
          }
        },
        "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "models.security.identity.local.LocalIdentityOnAdd": {
        "properties": {
          "_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "readOnly": true
          },
          "identifier": {
            "description": "The identifier of the local identity (used by the identity to log in to the web UI)",
            "example": "administrator",
            "type": "string"
          },
          "email": {
            "description": "The email address of the local identity",
            "example": "administrator@evertrust.fr",
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "name": {
            "description": "The display name of the local identity",
            "example": "Horizon Administrator",
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "example": "534169469812674870598506170552236971648310761036167896036064400452449656",
            "description": "The initial password for this local identity",
            "writeOnly": true
          }
        },
        "required": [
          "_id",
          "identifier",
          "password"
        ]
      },
      "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"
            ]
          }
        }
      },
      "controllers.api.security.identity.local.SetPasswordRequest": {
        "properties": {
          "identifier": {
            "description": "The local identity identifier. If `null`, the password for the currently logged in user will be changed",
            "example": "administrator",
            "type": "string",
            "nullable": true
          },
          "password": {
            "description": "The new password in clear text",
            "example": "Sup3rSecurePassw0rd",
            "type": "string"
          },
          "previousPassword": {
            "description": "When changing your own password, this value is required and must contain the current password in clear text",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "password"
        ]
      },
      "LocalId007": {
        "title": "LOCAL-ID-007",
        "description": "Invalid Set Password Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-007"
            ]
          },
          "message": {
            "enum": [
              "Invalid Set Password Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Set Password Request"
            ]
          }
        }
      },
      "LocalId005": {
        "title": "LOCAL-ID-005",
        "description": "Invalid Identity Provider Type",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid Identity Provider Type"
            ]
          },
          "title": {
            "enum": [
              "Invalid Identity Provider Type"
            ]
          }
        }
      },
      "SecPerm008": {
        "title": "SEC-PERM-008",
        "description": "Self deletion is not authorized",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PERM-008"
            ]
          },
          "message": {
            "enum": [
              "Self deletion is not authorized"
            ]
          },
          "title": {
            "enum": [
              "Self deletion is not authorized"
            ]
          }
        }
      },
      "LocalId011": {
        "title": "LOCAL-ID-011",
        "description": "Invalid Reset Password Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-011"
            ]
          },
          "message": {
            "enum": [
              "Invalid Reset Password Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Reset Password Request"
            ]
          }
        }
      },
      "controllers.api.security.identity.local.ResetPasswordRequest": {
        "properties": {
          "identifier": {
            "type": "string",
            "description": "Local identity identifier",
            "example": "administrator"
          },
          "uuid": {
            "description": "The reset UUID received by email by the user after a password reset request",
            "type": "string",
            "format": "uuid"
          },
          "password": {
            "description": "The new password to set. It must match the password policy if any has been defined",
            "type": "string",
            "format": "password"
          }
        },
        "required": [
          "identifier",
          "uuid",
          "password"
        ]
      },
      "controllers.api.security.identity.provider.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"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "description": "The display name of the identity provider",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "description": "The description of the identity provider",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "reset": {
            "type": "boolean",
            "description": "Whether the password reset option is enabled on the identity provider (only for IdentityProvider of type `Local`)"
          }
        },
        "required": [
          "type",
          "name",
          "reset"
        ]
      },
      "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"
            ]
          }
        }
      },
      "models.notification.email.recipient.EmailRecipient": {
        "title": "Email recipient",
        "properties": {
          "type": {
            "description": "The type of email recipient. Apart from the `static` recipient, all are deduced from the request's context.",
            "type": "string",
            "enum": [
              "static",
              "team_contact",
              "label",
              "requester",
              "contact",
              "approver",
              "certificate_rfc822name",
              "team_manager",
              "certificate_owner",
              "lifecycle_operators"
            ]
          },
          "email": {
            "description": "Mandatory for `static` recipient and ignored otherwise. The address to send the email to.",
            "type": "string",
            "example": "some@adress.net",
            "nullable": true
          },
          "label": {
            "description": "Mandatory for `label` recipient and ignored otherwise. The label name to fetch the address from.",
            "type": "string",
            "example": "BU_ADDRESS",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "models.notification.email.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": {
              "$ref": "#/components/schemas/models.notification.email.recipient.EmailRecipient"
            }
          },
          "from": {
            "type": "string",
            "description": "The sender name of the e-mail",
            "example": "noreply@horizon.evertrust.fr"
          },
          "title": {
            "type": "string",
            "description": "The title of the e-mail",
            "example": "Password recovery"
          },
          "body": {
            "type": "string",
            "nullable": true,
            "description": "The body of the e-mail",
            "example": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}."
          },
          "isHtml": {
            "type": "boolean",
            "description": "Whether the e-mail contains HTML code",
            "example": false
          }
        },
        "required": [
          "from",
          "to",
          "title",
          "isHtml"
        ]
      },
      "models.security.identity.provider.local.LocalIdentityProvider": {
        "title": "Local Identity Provider",
        "properties": {
          "_id": {
            "description": "The internal ID of the Identity Provider",
            "readOnly": true,
            "type": "string",
            "example": "643821173000003d0014cdaf"
          },
          "name": {
            "type": "string",
            "description": "The internal name of the local identity provider",
            "example": "local"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "description": "The display name of the local identity provider",
            "example": "Local",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "description": "The description of the local identity provider",
            "example": "Local identity provider for technical accounts",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "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 Horizon",
            "example": true
          },
          "enabledOnUI": {
            "type": "boolean",
            "description": "Whether the local identity provider can be selected on login to the Horizon UI",
            "example": true
          },
          "passwordPolicy": {
            "type": "string",
            "nullable": true,
            "description": "The password policy to enforce for user passwords on the local identity provider",
            "example": "Horizon-Default"
          },
          "emailTemplate": {
            "type": "object",
            "nullable": true,
            "description": "The e-mail template to use for password recovery",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.notification.email.EmailTemplate"
              }
            ]
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "enabled",
          "enabledOnUI"
        ]
      },
      "models.security.identity.provider.oidc.OidcIdentityProvider": {
        "title": "OpenId Identity Provider",
        "properties": {
          "_id": {
            "description": "The internal ID of the Identity Provider",
            "readOnly": true,
            "type": "string",
            "example": "643821173000003d0014cdaf"
          },
          "name": {
            "type": "string",
            "description": "The internal name of the identity provider",
            "example": "Google"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "description": "The display name of the identity provider",
            "example": "Google Workspace",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "type": "array",
            "nullable": true,
            "description": "The description of the identity provider",
            "example": "Log in using Google Workspace",
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "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 Horizon",
            "example": true
          },
          "enabledOnUI": {
            "type": "boolean",
            "description": "Whether the identity provider can be selected on login to the Horizon 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"
          },
          "clientCredentials": {
            "type": "string",
            "example": "OpenIdCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the client ID  and secret to use to authenticate Horizon against the identity provider"
          },
          "scope": {
            "type": "string",
            "description": "The scope where to retrieve the user data from",
            "example": "openid profile email"
          },
          "identifierClaim": {
            "type": "string",
            "description": "The OpenID information that will be used as the user's identifier in Horizon",
            "example": "{{oid}}"
          },
          "emailClaim": {
            "type": "string",
            "description": "The OpenID information that will be used as the user's email in Horizon",
            "example": "{{email}}"
          },
          "nameClaim": {
            "type": "string",
            "description": "The OpenID information that will be used as the user's name in Horizon",
            "example": "{{name}}"
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "enabled",
          "enabledOnUI",
          "providerMetadataUrl",
          "clientCredentials",
          "scope",
          "identifierClaim",
          "emailClaim",
          "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "controllers.api.security.identity.provider.PrincipalInfoSearchRequest": {
        "properties": {
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "administrator",
            "description": "The identifier of the principal to search for"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "example": "admin-horizon@evertrust.fr",
            "description": "The contact e-mail of the principal to search for"
          }
        }
      },
      "controllers.api.security.identity.provider.PrincipalInfoSearchResult": {
        "properties": {
          "identifier": {
            "description": "The identifier of the principal matching the search",
            "type": "string",
            "example": "administrator"
          },
          "contact": {
            "description": "The mail of the principal matching the search",
            "type": "string",
            "nullable": true,
            "example": "admin-horizon@evertrust.fr"
          },
          "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"
            ]
          }
        }
      },
      "models.security.passwordpolicy.PasswordPolicy": {
        "title": "Password Policy",
        "properties": {
          "_id": {
            "description": "The internal ID of the password policy",
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "description": "The name of the password policy",
            "type": "string",
            "example": "Horizon-Default"
          },
          "minChar": {
            "description": "The minimum number of characters of the password",
            "example": 8,
            "type": "integer",
            "format": "int32"
          },
          "maxChar": {
            "description": "The maximum number of characters of the password",
            "example": 24,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minUpChar": {
            "description": "The minimum number of uppercase characters of the password",
            "example": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minLoChar": {
            "description": "The minimum number of lowercase characters of the password",
            "example": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minDiChar": {
            "description": "The minimum number of digits of the password",
            "example": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "spChar": {
            "description": "The special characters of the password accepted by the password policy",
            "example": "!@#$%^&*()_+",
            "type": "string",
            "nullable": true
          },
          "minSpChar": {
            "description": "The minimum number of special characters of the password",
            "example": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "minChar"
        ]
      },
      "PasswordPolicy001": {
        "title": "PASSWORD-POLICY-001",
        "description": "Unexpected Error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "PASSWORD-POLICY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        }
      },
      "PasswordPolicy002": {
        "title": "PASSWORD-POLICY-002",
        "description": "Invalid password policy",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "PASSWORD-POLICY-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid password policy"
            ]
          },
          "title": {
            "enum": [
              "Invalid password policy"
            ]
          }
        }
      },
      "PasswordPolicy003": {
        "title": "PASSWORD-POLICY-003",
        "description": "Password policy not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "PASSWORD-POLICY-003"
            ]
          },
          "message": {
            "enum": [
              "Password policy not found"
            ]
          },
          "title": {
            "enum": [
              "Password policy not found"
            ]
          }
        }
      },
      "PasswordPolicy004": {
        "title": "PASSWORD-POLICY-004",
        "description": "Password policy already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "PASSWORD-POLICY-004"
            ]
          },
          "message": {
            "enum": [
              "Password policy already exists"
            ]
          },
          "title": {
            "enum": [
              "Password policy already exists"
            ]
          }
        }
      },
      "PasswordPolicy005": {
        "title": "PASSWORD-POLICY-005",
        "description": "Referenced Password policy",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "PASSWORD-POLICY-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced Password policy"
            ]
          },
          "title": {
            "enum": [
              "Referenced Password policy"
            ]
          }
        }
      },
      "models.security.permission.Permission": {
        "title": "Permission",
        "properties": {
          "value": {
            "type": "string",
            "description": "The permission string, in the Horizon format : `<group>:<resource>:<scope>:<action>`\n",
            "example": "lifecycle:*:*:enroll"
          },
          "filter": {
            "type": "string",
            "nullable": true,
            "description": "The filter to apply to the permission in the HPQL format",
            "example": "label.BusinessUnit equals \"BU1\""
          }
        },
        "required": [
          "value"
        ]
      },
      "models.security.principal.PrincipalInfoSavedQuery": {
        "title": "Principal queries",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "heql",
              "hcql",
              "hrql",
              "hpql",
              "hdql"
            ],
            "description": "The type of the query",
            "example": "hcql"
          },
          "query": {
            "type": "string",
            "description": "The saved HQL query",
            "example": "status is valid and valid.until before 7 days"
          },
          "name": {
            "type": "string",
            "description": "Internal name of the saved request",
            "example": "Certificates7Days"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The saved request description",
            "example": "Valid certificates that will expire within 7 days"
          }
        },
        "required": [
          "type",
          "query",
          "name"
        ]
      },
      "models.search.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"
        ]
      },
      "models.dashboard.Chart": {
        "title": "Chart",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the chart",
            "example": "Certificate status on the WebRA"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the chart",
            "example": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA"
          },
          "type": {
            "type": "string",
            "enum": [
              "treemap",
              "bar-horizontal",
              "line",
              "pie",
              "heatmap",
              "bar-horizontal-stacked",
              "metric",
              "radar",
              "donut",
              "bar-vertical-stacked",
              "table",
              "area",
              "bar-vertical"
            ],
            "description": "The type of the chart",
            "example": "donut"
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The field that will be used to group data",
            "example": "status"
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The maximum number of results to display",
            "example": 100
          },
          "having": {
            "description": "A condition to apply to the results of the aggregate. Only the aggregates results with more than 5 items in them can be kept for example",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.search.Having"
              }
            ]
          },
          "sortOrder": {
            "type": "string",
            "nullable": true,
            "enum": [
              "Asc",
              "Desc",
              "KeyAsc",
              "KeyDesc"
            ],
            "description": "How to sort the results in the chart (if applicable)",
            "example": "KeyAsc"
          },
          "localQuery": {
            "type": "string",
            "nullable": true,
            "description": "The HCQL/HRQL query to build the chart from",
            "example": "module in [\"webra\"]"
          },
          "direction": {
            "type": "string",
            "nullable": true,
            "enum": [
              "asc",
              "desc"
            ]
          },
          "colors": {
            "description": "The colors of the chart",
            "type": "array",
            "example": [
              "#54B399",
              "#6092C0"
            ],
            "items": {
              "type": "string"
            }
          },
          "i": {
            "description": "The index of the chart on the dashboard",
            "type": "string",
            "nullable": true,
            "example": 1
          },
          "x": {
            "description": "The horizontal position of the chart on the grid",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "y": {
            "description": "The vertical position of the chart on the grid",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "w": {
            "description": "The width of the chart",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 2
          },
          "h": {
            "description": "The height of the chart",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 3
          },
          "log": {
            "description": "Whether the logarithm scale is enabled or not",
            "type": "boolean"
          }
        },
        "required": [
          "title",
          "type",
          "fields",
          "colors",
          "log"
        ]
      },
      "models.dashboard.Dashboard": {
        "title": "Dashboard",
        "properties": {
          "name": {
            "description": "The dashboard's name",
            "type": "string",
            "example": "My Certificate Dashboard"
          },
          "description": {
            "description": "The dashboard's description",
            "type": "string",
            "nullable": true,
            "example": "Here I can see my certificates"
          },
          "charts": {
            "description": "The dashboard's list of charts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.dashboard.Chart"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "certificate",
              "request"
            ],
            "description": "The type of objects the dashboard displays",
            "example": "certificate"
          }
        },
        "required": [
          "name",
          "charts",
          "type"
        ]
      },
      "models.security.principal.PrincipalInfoPreferences": {
        "title": "Principal Preferences",
        "properties": {
          "darkMode": {
            "description": "Dark Mode is enabled on UI for this user",
            "type": "boolean",
            "default": false,
            "nullable": true
          },
          "expertMode": {
            "description": "Expert mode is enabled on UI for this user",
            "type": "boolean",
            "default": false
          },
          "lang": {
            "description": "The preferred language of the user",
            "type": "string",
            "nullable": true,
            "enum": [
              "en",
              "fr"
            ]
          },
          "certificateFields": {
            "description": "The user's preferred columns on certificate view",
            "type": "array",
            "example": [
              "profile",
              "module"
            ],
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "requestFields": {
            "description": "The user's preferred columns on request view",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "example": [
              "workflow",
              "module"
            ]
          }
        }
      },
      "models.security.principal.PrincipalInfo": {
        "title": "Principal information",
        "properties": {
          "_id": {
            "type": "string",
            "readOnly": true,
            "example": "5f7b1b5a9b0b1c0001c3b0a0",
            "description": "The MongoDB ObjectID of the principal"
          },
          "identifier": {
            "type": "string",
            "example": "administrator",
            "description": "The identifier of the principal"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "example": "administrator@horizon.evertrust.fr",
            "description": "The contact e-mail of the principal"
          },
          "permissions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.security.permission.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"
            ]
          },
          "teams": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The teams of the principal",
            "example": [
              "PKIOps",
              "CISO"
            ]
          },
          "savedQueries": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.security.principal.PrincipalInfoSavedQuery"
            },
            "description": "The saved HQL queries of the principal. This is used by UI only. These values should not be manually set but should be copied on update"
          },
          "customDashboards": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.dashboard.Dashboard"
            },
            "description": "The custom dashboards of the principal. This is used by UI only. These values should not be manually set but should be copied on update"
          },
          "preferences": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.principal.PrincipalInfoPreferences"
              }
            ],
            "description": "The UI preferences of the principal. This is used by UI only. These values should not be manually set but should be copied on update"
          },
          "creationDate": {
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "description": "The creation date of the principal (UNIX Timestamp in milliseconds)",
            "example": 1601900000000
          },
          "lastAuthentication": {
            "type": "integer",
            "readOnly": true,
            "format": "epoch",
            "nullable": true,
            "example": 1601900000000,
            "description": "The last authentication date of the principal (UNIX Timestamp in milliseconds)"
          },
          "lastModification": {
            "readOnly": true,
            "example": 1601900000000,
            "type": "integer",
            "format": "epoch",
            "description": "The last modification date of the principal (UNIX Timestamp in milliseconds)"
          }
        },
        "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "models.search.security.principal.PrincipalInfoSearchQuery": {
        "properties": {
          "identifier": {
            "type": "string",
            "nullable": true,
            "description": "The identifier of the principal"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "The contact e-mail of the principal"
          },
          "role": {
            "type": "string",
            "nullable": true,
            "description": "The role of the principal"
          },
          "team": {
            "type": "string",
            "nullable": true,
            "description": "The team of the principal"
          },
          "sortedBy": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.search.SortElement"
            },
            "description": "How to sort the results of the search"
          },
          "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"
          }
        }
      },
      "controllers.api.security.principal.PrincipalInfoSearchResults": {
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.security.principal.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": true
          },
          "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"
            ]
          }
        }
      },
      "models.security.role.Role": {
        "title": "Role",
        "properties": {
          "_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "The name of the role",
            "example": "CanEnroll"
          },
          "description": {
            "type": "string",
            "description": "The description of the role",
            "example": "Gives all enroll permissions to users",
            "nullable": true
          },
          "permissions": {
            "description": "The role's permissions",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.security.permission.Permission"
            }
          }
        },
        "required": [
          "_id",
          "name"
        ]
      },
      "Role001": {
        "title": "ROLE-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "ROLE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        }
      },
      "Role002": {
        "title": "ROLE-002",
        "description": "Invalid Role",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "ROLE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Role"
            ]
          },
          "title": {
            "enum": [
              "Invalid Role"
            ]
          }
        }
      },
      "Role003": {
        "title": "ROLE-003",
        "description": "Role not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "ROLE-003"
            ]
          },
          "message": {
            "enum": [
              "Role not found"
            ]
          },
          "title": {
            "enum": [
              "Role not found"
            ]
          }
        }
      },
      "Role004": {
        "title": "ROLE-004",
        "description": "Role already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "ROLE-004"
            ]
          },
          "message": {
            "enum": [
              "Role already exists"
            ]
          },
          "title": {
            "enum": [
              "Role already exists"
            ]
          }
        }
      },
      "models.notification.webhook.Webhook": {
        "title": "Webhook Definition",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "slack",
              "teams"
            ],
            "description": "The type of the webhook (Teams or Slack/Mattermost)"
          },
          "url": {
            "example": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
            "type": "string",
            "description": "The URL of the webhook"
          }
        },
        "required": [
          "type",
          "url"
        ]
      },
      "models.security.team.Team": {
        "title": "Team",
        "properties": {
          "_id": {
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the team",
            "example": "PKIOps"
          },
          "description": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            },
            "description": "The localized description of the team"
          },
          "contact": {
            "type": "string",
            "nullable": true,
            "description": "The generic contact e-mail of the Team",
            "example": "pkiops@evertrust.fr"
          },
          "webhook": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.notification.webhook.Webhook"
              }
            ],
            "description": "The webhook of the team's corporate channel (Teams, Slack, Mattermost)"
          },
          "manager": {
            "type": "string",
            "nullable": true,
            "description": "The e-mail address of the team's manager",
            "example": "manager.pkiops@evertrust.fr"
          },
          "displayName": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            },
            "description": "The localized display name of the team"
          }
        },
        "required": [
          "_id",
          "name"
        ]
      },
      "Team001": {
        "title": "TEAM-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TEAM-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        }
      },
      "Team002": {
        "title": "TEAM-002",
        "description": "Invalid team",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TEAM-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid team"
            ]
          },
          "title": {
            "enum": [
              "Invalid team"
            ]
          }
        }
      },
      "Team003": {
        "title": "TEAM-003",
        "description": "Team not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TEAM-003"
            ]
          },
          "message": {
            "enum": [
              "Team not found"
            ]
          },
          "title": {
            "enum": [
              "Team not found"
            ]
          }
        }
      },
      "Team004": {
        "title": "TEAM-004",
        "description": "Team already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TEAM-004"
            ]
          },
          "message": {
            "enum": [
              "Team already exists"
            ]
          },
          "title": {
            "enum": [
              "Team already exists"
            ]
          }
        }
      },
      "models.security.credentials.Credentials": {
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "readOnly": true
          },
          "name": {
            "description": "These credentials identifying name",
            "type": "string",
            "example": "My credentials"
          },
          "type": {
            "description": "These credentials type",
            "type": "string",
            "example": "certificate"
          },
          "description": {
            "description": "These credentials description",
            "type": "string",
            "example": "To authenticate on Stream",
            "nullable": true
          },
          "expires": {
            "type": "integer",
            "format": "epoch",
            "nullable": true,
            "example": 1683021380000,
            "description": "The expiration date of these credentials"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ]
      },
      "models.secret.SecretStore": {
        "title": "Certificate And Key Storage",
        "properties": {
          "certificate": {
            "type": "string",
            "format": "PEM encoded",
            "description": "The PEM-encoded certificate",
            "example": "-----BEGIN CERTIFICATE-----..."
          },
          "value": {
            "writeOnly": true,
            "type": "string",
            "format": "PKCS#8 PEM encoded",
            "description": "The PEM-encoded private key of the certificate to store",
            "example": "-----BEGIN PRIVATE KEY-----..."
          }
        },
        "required": [
          "certificate",
          "value"
        ]
      },
      "models.security.credentials.CertificateCredentials": {
        "title": "Certificate credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.security.credentials.Credentials"
          }
        ],
        "properties": {
          "expires": {
            "readOnly": true,
            "description": "The expiration date of these credentials. Automatically set to the expiration date of the certificate"
          },
          "type": {
            "enum": [
              "certificate"
            ]
          },
          "store": {
            "description": "These credentials certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretStore"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "store",
          "expires"
        ]
      },
      "models.security.credentials.PasswordCredentials": {
        "title": "Password credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.security.credentials.Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "password"
            ]
          },
          "login": {
            "type": "string",
            "example": "john@doe.com",
            "description": "These credentials login"
          },
          "password": {
            "description": "These credentials password",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "login",
          "password"
        ]
      },
      "models.security.credentials.RawCredentials": {
        "title": "Raw credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.security.credentials.Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "raw"
            ]
          },
          "secret": {
            "description": "These credentials secret",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "secret"
        ]
      },
      "Credentials001": {
        "title": "CREDENTIALS-001",
        "description": "Unexpected Error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        }
      },
      "Credentials002": {
        "title": "CREDENTIALS-002",
        "description": "Invalid Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Credentials"
            ]
          },
          "title": {
            "enum": [
              "Invalid Credentials"
            ]
          }
        }
      },
      "Credentials003": {
        "title": "CREDENTIALS-003",
        "description": "Credentials not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-003"
            ]
          },
          "message": {
            "enum": [
              "Credentials not found"
            ]
          },
          "title": {
            "enum": [
              "Credentials not found"
            ]
          }
        }
      },
      "Credentials004": {
        "title": "CREDENTIALS-004",
        "description": "Credentials already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-004"
            ]
          },
          "message": {
            "enum": [
              "Credentials already exists"
            ]
          },
          "title": {
            "enum": [
              "Credentials already exists"
            ]
          }
        }
      },
      "Credentials005": {
        "title": "CREDENTIALS-005",
        "description": "Referenced Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced Credentials"
            ]
          },
          "title": {
            "enum": [
              "Referenced Credentials"
            ]
          }
        }
      },
      "controllers.api.templatestring.TemplateStringPlaygroundRequest": {
        "properties": {
          "dictionary": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "computationRule": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "csr": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "controllers.api.templatestring.TemplateStringPlaygroundResponse": {
        "properties": {
          "dictionary": {
            "nullable": true,
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "computedValueSingle": {
            "type": "string",
            "nullable": true
          },
          "computedValueMulti": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Ts002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Malformed computation rule expression",
        "properties": {
          "error": {
            "enum": [
              "TS-002"
            ]
          },
          "message": {
            "enum": [
              "Malformed computation rule expression"
            ]
          },
          "title": {
            "enum": [
              "Malformed computation rule expression"
            ]
          }
        },
        "title": "TS-002"
      },
      "Ts003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid PKCS#10",
        "properties": {
          "error": {
            "enum": [
              "TS-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid PKCS#10"
            ]
          },
          "title": {
            "enum": [
              "Invalid PKCS#10"
            ]
          }
        },
        "title": "TS-003"
      },
      "Ts004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid playground request",
        "properties": {
          "error": {
            "enum": [
              "TS-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid playground request"
            ]
          },
          "title": {
            "enum": [
              "Invalid playground request"
            ]
          }
        },
        "title": "TS-004"
      },
      "Ts001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "TS-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "TS-001"
      },
      "models.thirdparty.aws.AWSConnector": {
        "title": "AWS",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "aws"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "renewalPeriod": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string"
          },
          "credentials": {
            "type": "string",
            "nullable": true,
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing Access Key Id and Secret Access Key. If not defined, an account present in environment variables can be used."
          },
          "resourceGroupName": {
            "type": "string",
            "nullable": true
          },
          "roleArn": {
            "type": "string",
            "nullable": true
          },
          "tagKey": {
            "type": "string",
            "nullable": true
          },
          "tagValue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "region"
        ]
      },
      "models.thirdparty.f5.F5ClientConnector": {
        "title": "F5",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "f5client"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "keyType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ],
            "nullable": true
          },
          "renewalPeriod": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "maxStoredCertificatePerHolder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bigIPHostname": {
            "type": "string"
          },
          "credentials": {
            "example": "myF5Credentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the account to authenticate on F5",
            "type": "string"
          },
          "partition": {
            "type": "string",
            "nullable": true
          },
          "sslParent": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "cipherGroup": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "throttleParallelism",
          "bigIPHostname",
          "credentials"
        ]
      },
      "models.thirdparty.intune.IntuneConnector": {
        "title": "Intune",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "intune"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "tenant": {
            "type": "string"
          },
          "credentials": {
            "example": "myIntuneCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the App ID and Key to authenticate on Intune",
            "type": "string"
          },
          "intuneResourceUrl": {
            "type": "string",
            "nullable": true
          },
          "osQueryString": {
            "type": "string",
            "nullable": true
          },
          "legacyRevocationMode": {
            "type": "boolean"
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "throttleParallelism",
          "tenant",
          "credentials",
          "legacyRevocationMode"
        ]
      },
      "models.thirdparty.jamf.JamfConnector": {
        "title": "JAMF",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "jamf"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "endpoint": {
            "type": "string"
          },
          "credentials": {
            "example": "myJAMFCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the account to authenticate on JAMF",
            "type": "string"
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "throttleParallelism",
          "endpoint",
          "credentials"
        ]
      },
      "models.thirdparty.msad.MSADConnector": {
        "title": "Microsoft Active Directory",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "msad"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "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"
          },
          "maxStoredCertificatePerHolder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "hostname": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "credentials": {
            "example": "myMSADCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the DN and password to authenticate on Active Directory",
            "type": "string"
          },
          "baseDn": {
            "type": "string"
          },
          "filter": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "throttleParallelism",
          "hostname",
          "credentials",
          "baseDn"
        ]
      },
      "models.thirdparty.intune.IntunePKCSConnector": {
        "title": "Intune PKCS",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "intunepkcs"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "keyType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ],
            "nullable": true
          },
          "renewalPeriod": {
            "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"
          },
          "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"
          },
          "maxStoredCertificatePerHolder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "tenant": {
            "type": "string"
          },
          "credentials": {
            "example": "myIntunePKCSCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the App ID and Key to authenticate on Intune PKCS",
            "type": "string"
          },
          "pubKey": {
            "type": "string"
          },
          "keyName": {
            "type": "string"
          },
          "providerName": {
            "type": "string",
            "nullable": true
          },
          "intendedPurpose": {
            "type": "string",
            "nullable": true
          },
          "searchFilter": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "throttleParallelism",
          "tenant",
          "credentials",
          "pubKey",
          "keyName"
        ]
      },
      "models.thirdparty.azure.AzureKeyVaultConnector": {
        "title": "Azure Key Vault",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "akv"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "renewalPeriod": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "tenant": {
            "type": "string"
          },
          "credentials": {
            "example": "myAKVCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing the App ID and Key to authenticate on AKV",
            "type": "string"
          },
          "vaultBaseUrl": {
            "type": "string"
          },
          "prefix": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "throttleParallelism",
          "tenant",
          "credentials",
          "vaultBaseUrl"
        ]
      },
      "models.thirdparty.gcm.GCMConnector": {
        "title": "GCM",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "gcm"
            ]
          },
          "name": {
            "type": "string"
          },
          "throttleDuration": {
            "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"
          },
          "renewalPeriod": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "credentials": {
            "type": "string",
            "example": "myRawCredentials",
            "description": "Name of the `raw` [credentials](#tag/api.security.credentials) containing User Account credentials."
          },
          "tagKey": {
            "type": "string",
            "nullable": true
          },
          "tagValue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "project",
          "location",
          "credentials"
        ]
      },
      "models.thirdparty.ldap.LDAPConnector": {
        "title": "LDAP",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "ldap"
            ]
          },
          "name": {
            "type": "string"
          },
          "hostname": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "nullable": true
          },
          "baseDn": {
            "type": "string"
          },
          "filter": {
            "type": "string",
            "nullable": true
          },
          "certAttr": {
            "type": "string",
            "nullable": true
          },
          "followReferrals": {
            "type": "boolean",
            "nullable": true
          },
          "userIdentifierAttribute": {
            "type": "string",
            "enum": [
              "cn",
              "rfc822name"
            ]
          },
          "throttleDuration": {
            "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"
          },
          "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"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "credentials": {
            "type": "string",
            "example": "myPasswordCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credentials) containing login DN and password."
          },
          "maxStoredCertificatePerHolder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "type",
          "name",
          "throttleDuration",
          "hostname",
          "baseDn",
          "credentials",
          "userIdentifierAttribute"
        ]
      },
      "ThirdpartyConnector001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "THIRDPARTY-CONNECTOR-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "THIRDPARTY-CONNECTOR-001"
      },
      "ThirdpartyConnector002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid third party Connector",
        "properties": {
          "error": {
            "enum": [
              "THIRDPARTY-CONNECTOR-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid third party Connector"
            ]
          },
          "title": {
            "enum": [
              "Invalid third party Connector"
            ]
          }
        },
        "title": "THIRDPARTY-CONNECTOR-002"
      },
      "ThirdpartyConnector003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Third party Connector not found",
        "properties": {
          "error": {
            "enum": [
              "THIRDPARTY-CONNECTOR-003"
            ]
          },
          "message": {
            "enum": [
              "Third party Connector not found"
            ]
          },
          "title": {
            "enum": [
              "Third party Connector not found"
            ]
          }
        },
        "title": "THIRDPARTY-CONNECTOR-003"
      },
      "ThirdpartyConnector004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Third party Connector already exists",
        "properties": {
          "error": {
            "enum": [
              "THIRDPARTY-CONNECTOR-004"
            ]
          },
          "message": {
            "enum": [
              "Third party Connector already exists"
            ]
          },
          "title": {
            "enum": [
              "Third party Connector already exists"
            ]
          }
        },
        "title": "THIRDPARTY-CONNECTOR-004"
      },
      "ThirdpartyConnector005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced third party Connector",
        "properties": {
          "error": {
            "enum": [
              "THIRDPARTY-CONNECTOR-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced third party Connector"
            ]
          },
          "title": {
            "enum": [
              "Referenced third party Connector"
            ]
          }
        },
        "title": "THIRDPARTY-CONNECTOR-005"
      },
      "models.notification.Base": {
        "properties": {
          "_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "readOnly": true
          },
          "name": {
            "type": "string",
            "example": "NOTIFICATION_ENROLL",
            "description": "Name of the notification"
          },
          "type": {
            "type": "string",
            "description": "The type of notification"
          },
          "retries": {
            "nullable": true,
            "type": "integer",
            "example": 10,
            "description": "Number of retries when the notification fails"
          },
          "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."
          },
          "licenseUsagePercent": {
            "nullable": true,
            "type": "integer",
            "example": 50,
            "description": "License usage at which the notification needs to run (between 0 and 100). Must be defined on `on_license_usage` event and must NOT be defined otherwise."
          },
          "events": {
            "description": "Event on which the notification runs. This MUST contain only one value.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "on_enroll",
                "on_submit_enroll",
                "on_approve_enroll",
                "on_deny_enroll",
                "on_cancel_enroll",
                "on_pending_enroll",
                "on_renew",
                "on_submit_renew",
                "on_approve_renew",
                "on_deny_renew",
                "on_cancel_renew",
                "on_pending_renew",
                "on_update",
                "on_submit_update",
                "on_approve_update",
                "on_deny_update",
                "on_cancel_update",
                "on_pending_update",
                "on_migrate",
                "on_submit_migrate",
                "on_approve_migrate",
                "on_deny_migrate",
                "on_cancel_migrate",
                "on_pending_migrate",
                "on_recover",
                "on_submit_recover",
                "on_approve_recover",
                "on_deny_recover",
                "on_cancel_recover",
                "on_pending_recover",
                "on_revoke",
                "on_submit_revoke",
                "on_approve_revoke",
                "on_deny_revoke",
                "on_cancel_revoke",
                "on_pending_revoke",
                "on_import",
                "on_submit_import",
                "on_approve_import",
                "on_deny_import",
                "on_cancel_import",
                "on_pending_import",
                "on_expire"
              ]
            }
          },
          "runOnRenewed": {
            "nullable": true,
            "type": "boolean",
            "example": null,
            "description": "Must be defined on `on_expire` event and must NOT be defined otherwise. If true, the notification runs even if the certificate was renewed."
          }
        }
      },
      "models.notification.email.EmailNotification": {
        "title": "Email Notification",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.notification.Base"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "email"
            ]
          },
          "emailTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.notification.email.EmailTemplate"
              }
            ]
          },
          "ifPkcs12": {
            "description": "On events triggering an enrollment, select if mail is sent:\n- **Always**: set the value to `null` \n- **Only when a PKCS#12 is available in the request**: set the value to `true` \n- **Only when a PKCS#12 is not in the request**: set the value to `false`\n",
            "type": "boolean",
            "nullable": true
          },
          "attachPemCertificate": {
            "description": "Attach the certificate in PEM format if available",
            "type": "boolean",
            "nullable": true
          },
          "attachPemBundle": {
            "description": "Attach the certificate and its trust chain (bundle) in PEM format if available",
            "type": "boolean",
            "nullable": true
          },
          "attachDerCertificate": {
            "description": "Attach the certificate in DER format if available",
            "type": "boolean",
            "nullable": true
          },
          "attachPkcs7": {
            "description": "Attach the certificate in PKCS7 format if available",
            "type": "boolean",
            "nullable": true
          },
          "attachPkcs7Bundle": {
            "description": "Attach the certificate and its trust chain (bundle) in PKCS7 format if available",
            "type": "boolean",
            "nullable": true
          },
          "attachPkcs12": {
            "description": "Attach the certificate in PKCS#12 format if available",
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "events",
          "emailTemplate"
        ]
      },
      "models.notification.webhook.recipient.WebhookRecipient": {
        "title": "Webhook Recipient",
        "description": "Where to send the webhook",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "static",
              "team"
            ],
            "description": "Define if the webhook url and type is defined here or will be dynamically taken from the certificate's team"
          },
          "webhook": {
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.notification.webhook.Webhook"
              }
            ],
            "description": "The definition of the webhook. Mandatory in `static` mode."
          }
        },
        "required": [
          "type"
        ]
      },
      "models.notification.webhook.WebhookTemplate": {
        "title": "Webhook template",
        "description": "Where and what to send in the webhook",
        "properties": {
          "to": {
            "type": "array",
            "description": "The target of the webhook",
            "items": {
              "$ref": "#/components/schemas/models.notification.webhook.recipient.WebhookRecipient"
            }
          },
          "title": {
            "type": "string",
            "description": "The title of the webhook notification (special formatting)",
            "example": "Certificate enrollment"
          },
          "body": {
            "type": "string",
            "nullable": true,
            "description": "The body of the notification. Can contain dynamic attributes.",
            "example": "Your certificate {{certificate.dn}} was successfully enrolled."
          }
        },
        "required": [
          "to",
          "title"
        ]
      },
      "models.notification.webhook.WebhookNotification": {
        "title": "Webhook Notification (Groupware)",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.notification.Base"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "webhook"
            ]
          },
          "retries": {
            "description": "Number of retries when the notification fails (non 200 return code)"
          },
          "webhookTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.notification.webhook.WebhookTemplate"
              }
            ]
          },
          "proxy": {
            "nullable": true,
            "type": "string",
            "example": "ProxyForInternet",
            "description": "Name of a Proxy to use while sending the webhook"
          },
          "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 webhook request"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "events",
          "webhookTemplate"
        ]
      },
      "models.notification.rest.REST": {
        "title": "REST notification",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.notification.Base"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "rest"
            ]
          },
          "retries": {
            "description": "Number of retries when the notification fails (depends on `expectedHttpCodes`)"
          },
          "method": {
            "type": "string",
            "description": "The HTTP method to use for the request",
            "example": "GET"
          },
          "url": {
            "type": "string",
            "format": "url",
            "description": "The URL to request",
            "example": "https://horizon.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",
                  "type": "string"
                }
              }
            }
          },
          "bodyType": {
            "nullable": true,
            "type": "string",
            "example": "json",
            "description": "For UI purposes in order to format the body correctly"
          },
          "body": {
            "nullable": true,
            "type": "string",
            "example": "Hello {{certificate.dn.cn.1}}.",
            "description": "The body of the request. Can contain dynamic attributes."
          },
          "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": [
          "_id",
          "name",
          "type",
          "events",
          "method",
          "url",
          "authenticationType",
          "timeout",
          "expectedHttpCodes"
        ]
      },
      "models.thirdparty.azure.AzureKeyVaultTrigger": {
        "title": "Third-Party AKV",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "akv"
            ]
          },
          "retries": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connector": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "connector"
        ]
      },
      "models.thirdparty.f5.F5ClientTrigger": {
        "title": "Third-Party F5",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "f5client"
            ]
          },
          "retries": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connector": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "connector"
        ]
      },
      "models.thirdparty.aws.AWSTrigger": {
        "title": "Third-Party AWS",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "aws"
            ]
          },
          "retries": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connector": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "connector"
        ]
      },
      "models.thirdparty.gcm.GCMTrigger": {
        "title": "Third-Party GCM",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "gcm"
            ]
          },
          "retries": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connector": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "connector"
        ]
      },
      "models.thirdparty.ldap.LDAPTrigger": {
        "title": "Third-Party LDAP",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "ldap"
            ]
          },
          "retries": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connector": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "connector"
        ]
      },
      "models.intune.IntunePKCSTrigger": {
        "title": "Third-Party Intune PKCS",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "intunepkcs"
            ]
          },
          "retries": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connector": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "connector"
        ]
      },
      "Trig001": {
        "title": "TRIG-001",
        "description": "Unexpected Error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TRIG-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        }
      },
      "Trig002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Trigger",
        "properties": {
          "error": {
            "enum": [
              "TRIG-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Trigger"
            ]
          },
          "title": {
            "enum": [
              "Invalid Trigger"
            ]
          }
        },
        "title": "TRIG-002"
      },
      "Trig003": {
        "title": "TRIG-003",
        "description": "Trigger not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TRIG-003"
            ]
          },
          "message": {
            "enum": [
              "Trigger not found"
            ]
          },
          "title": {
            "enum": [
              "Trigger not found"
            ]
          }
        }
      },
      "Trig004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Trigger already exists",
        "properties": {
          "error": {
            "enum": [
              "TRIG-004"
            ]
          },
          "message": {
            "enum": [
              "Trigger already exists"
            ]
          },
          "title": {
            "enum": [
              "Trigger already exists"
            ]
          }
        },
        "title": "TRIG-004"
      },
      "Trig005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced Trigger",
        "properties": {
          "error": {
            "enum": [
              "TRIG-005"
            ]
          },
          "message": {
            "enum": [
              "Referenced Trigger"
            ]
          },
          "title": {
            "enum": [
              "Referenced Trigger"
            ]
          }
        },
        "title": "TRIG-005"
      },
      "controllers.api.trustchain.TrustChainAnchor": {
        "type": "object",
        "title": "TrustChainAnchor",
        "properties": {
          "name": {
            "type": "string"
          },
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/fr.evertrust.certfactory.crt.CFCertificate"
              }
            ]
          },
          "subordinates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/controllers.api.trustchain.TrustChainAnchor"
            }
          }
        },
        "required": [
          "name",
          "certificate"
        ]
      },
      "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"
      },
      "models.wcce.AdCallerIdentity": {
        "properties": {
          "dn": {
            "type": "string"
          },
          "cn": {
            "type": "string"
          },
          "msUPN": {
            "type": "string",
            "nullable": true
          },
          "msGUID": {
            "type": "string"
          },
          "c": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "dnsHostname": {
            "type": "string",
            "nullable": true
          },
          "employeeId": {
            "type": "string",
            "nullable": true
          },
          "employeeNumber": {
            "type": "string",
            "nullable": true
          },
          "givenName": {
            "type": "string",
            "nullable": true
          },
          "mail": {
            "type": "string",
            "nullable": true
          },
          "o": {
            "type": "string",
            "nullable": true
          },
          "ou": {
            "type": "string",
            "nullable": true
          },
          "samAccountName": {
            "type": "string",
            "nullable": true
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "sn": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "uid": {
            "type": "string",
            "nullable": true
          },
          "sid": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "dn",
          "cn",
          "msGUID"
        ]
      },
      "controllers.api.wcce.WcceEnrollmentRequest": {
        "properties": {
          "templateName": {
            "type": "string"
          },
          "templateOID": {
            "type": "string"
          },
          "forestName": {
            "type": "string"
          },
          "pkcs10": {
            "type": "string",
            "nullable": true
          },
          "cmc": {
            "type": "string",
            "nullable": true
          },
          "callerIdentity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.wcce.AdCallerIdentity"
              }
            ]
          }
        },
        "required": [
          "templateName",
          "templateOID",
          "forestName",
          "callerIdentity"
        ]
      },
      "controllers.api.wcce.WcceEnrollmentResponse": {
        "properties": {
          "certificate": {
            "type": "string",
            "format": "X509 certificate PEM encoded"
          },
          "caCertificate": {
            "nullable": true,
            "type": "string",
            "format": "X509 certificate PEM encoded"
          },
          "cmc": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "certificate"
        ]
      },
      "Wcce002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid WCCE Enrollment Request",
        "properties": {
          "error": {
            "enum": [
              "WCCE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid WCCE Enrollment Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid WCCE Enrollment Request"
            ]
          }
        },
        "title": "WCCE-002"
      },
      "Wcce006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Constraints",
        "properties": {
          "error": {
            "enum": [
              "WCCE-006"
            ]
          },
          "message": {
            "enum": [
              "Invalid Constraints"
            ]
          },
          "title": {
            "enum": [
              "Invalid Constraints"
            ]
          }
        },
        "title": "WCCE-006"
      },
      "Lic003": {
        "title": "LIC-003",
        "description": "Maximum number of holders reached",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-003"
            ]
          },
          "message": {
            "enum": [
              "Maximum number of holders reached"
            ]
          },
          "title": {
            "enum": [
              "Maximum number of holders reached"
            ]
          }
        }
      },
      "Wcce008": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Enrollment Agent Certificate(s)",
        "properties": {
          "error": {
            "enum": [
              "WCCE-008"
            ]
          },
          "message": {
            "enum": [
              "Invalid Enrollment Agent Certificate(s)"
            ]
          },
          "title": {
            "enum": [
              "Invalid Enrollment Agent Certificate(s)"
            ]
          }
        },
        "title": "WCCE-008"
      },
      "Wcce007": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid profile / forest / template",
        "properties": {
          "error": {
            "enum": [
              "WCCE-007"
            ]
          },
          "message": {
            "enum": [
              "Invalid profile / forest / template"
            ]
          },
          "title": {
            "enum": [
              "Invalid profile / forest / template"
            ]
          }
        },
        "title": "WCCE-007"
      },
      "Wcce001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "WCCE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "WCCE-001"
      },
      "Wcce009": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Exchange Certificate",
        "properties": {
          "error": {
            "enum": [
              "WCCE-009"
            ]
          },
          "message": {
            "enum": [
              "Invalid Exchange Certificate"
            ]
          },
          "title": {
            "enum": [
              "Invalid Exchange Certificate"
            ]
          }
        },
        "title": "WCCE-009"
      },
      "models.wcce.WcceTemplateMapping": {
        "properties": {
          "template": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "enrollmentMode": {
            "type": "string",
            "enum": [
              "entity",
              "eobo",
              "trust_request"
            ]
          },
          "eoboTrustedCas": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "template",
          "profile",
          "enrollmentMode"
        ]
      },
      "models.wcce.WcceForestMapping": {
        "properties": {
          "_id": {
            "type": "string"
          },
          "forest": {
            "type": "string"
          },
          "templateMappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.wcce.WcceTemplateMapping"
            }
          }
        },
        "required": [
          "_id",
          "forest",
          "templateMappings"
        ]
      },
      "WcceForest001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "WCCE-FOREST-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "WCCE-FOREST-001"
      },
      "WcceForest002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid WCCE Forest Mapping",
        "properties": {
          "error": {
            "enum": [
              "WCCE-FOREST-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid WCCE Forest Mapping"
            ]
          },
          "title": {
            "enum": [
              "Invalid WCCE Forest Mapping"
            ]
          }
        },
        "title": "WCCE-FOREST-002"
      },
      "WcceForest005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "WCCE Forest Mapping contains MS template duplicate(s)",
        "properties": {
          "error": {
            "enum": [
              "WCCE-FOREST-005"
            ]
          },
          "message": {
            "enum": [
              "WCCE Forest Mapping contains MS template duplicate(s)"
            ]
          },
          "title": {
            "enum": [
              "WCCE Forest Mapping contains MS template duplicate(s)"
            ]
          }
        },
        "title": "WCCE-FOREST-005"
      },
      "WcceForest003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "WCCE Forest Mapping not found",
        "properties": {
          "error": {
            "enum": [
              "WCCE-FOREST-003"
            ]
          },
          "message": {
            "enum": [
              "WCCE Forest Mapping not found"
            ]
          },
          "title": {
            "enum": [
              "WCCE Forest Mapping not found"
            ]
          }
        },
        "title": "WCCE-FOREST-003"
      },
      "WcceForest004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "WCCE Forest Mapping already exists",
        "properties": {
          "error": {
            "enum": [
              "WCCE-FOREST-004"
            ]
          },
          "message": {
            "enum": [
              "WCCE Forest Mapping already exists"
            ]
          },
          "title": {
            "enum": [
              "WCCE Forest Mapping already exists"
            ]
          }
        },
        "title": "WCCE-FOREST-004"
      },
      "models.search.certificate.CertificatePermissions": {
        "properties": {
          "enroll": {
            "description": "Whether the principal is authorized to re-enroll this certificate",
            "type": "boolean",
            "nullable": true
          },
          "requestEnroll": {
            "description": "Whether the principal is authorized to request re-enrollment of this certificate",
            "type": "boolean",
            "nullable": true
          },
          "revoke": {
            "description": "Whether the principal is authorized to revoke this certificate",
            "type": "boolean"
          },
          "requestRevoke": {
            "description": "Whether the principal is authorized to request revocation of this certificate",
            "type": "boolean"
          },
          "update": {
            "description": "Whether the principal is authorized to update this certificate",
            "type": "boolean"
          },
          "requestUpdate": {
            "description": "Whether the principal is authorized to request update of this certificate",
            "type": "boolean"
          },
          "recover": {
            "description": "Whether the principal is authorized to recover this certificate",
            "type": "boolean",
            "nullable": true
          },
          "requestRecover": {
            "description": "Whether the principal is authorized to request recovery of this certificate",
            "type": "boolean",
            "nullable": true
          },
          "migrate": {
            "description": "Whether the principal is authorized to migrate this certificate",
            "type": "boolean"
          },
          "requestMigrate": {
            "description": "Whether the principal is authorized to request migration of this certificate",
            "type": "boolean"
          },
          "renew": {
            "description": "Whether the principal is authorized to renew this certificate",
            "type": "boolean",
            "nullable": true
          },
          "requestRenew": {
            "description": "Whether the principal is authorized to request renewal of this certificate",
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "revoke",
          "requestRevoke",
          "update",
          "requestUpdate",
          "migrate",
          "requestMigrate"
        ]
      },
      "controllers.api.certificate.search.CertificateWithPermissions": {
        "title": "CertificateWithPermissions",
        "properties": {
          "certificate": {
            "description": "The certificate object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          },
          "permissions": {
            "description": "The permissions of the currently authenticated principal on the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.search.certificate.CertificatePermissions"
              }
            ]
          }
        },
        "required": [
          "certificate",
          "permissions"
        ]
      },
      "CertSearch001": {
        "title": "CERT-SEARCH-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-SEARCH-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        }
      },
      "CertSearch003": {
        "title": "CERT-SEARCH-003",
        "description": "Certificate not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-SEARCH-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate not found"
            ]
          }
        }
      },
      "CertSearch004": {
        "title": "CERT-SEARCH-004",
        "description": "Certificate Profile not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-SEARCH-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate Profile not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate Profile not found"
            ]
          }
        }
      },
      "controllers.api.certificate.search.CertificateProfileSearchDictionaryLocalizedEntry": {
        "title": "Certificate Profile Localized Entry",
        "properties": {
          "name": {
            "description": "The technical name of the profile",
            "example": "webra_centralized",
            "type": "string"
          },
          "module": {
            "description": "The module on which the profile belongs",
            "example": "webra",
            "type": "string"
          },
          "displayName": {
            "description": "The localized name of the profile",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "description": "The localized description of the profile",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "name",
          "module"
        ]
      },
      "controllers.api.certificate.search.TeamSearchDictionaryLocalizedEntry": {
        "title": "Team Localized Entry",
        "properties": {
          "name": {
            "description": "The technical name of the team",
            "example": "backend",
            "type": "string"
          },
          "displayName": {
            "description": "The localized name of the team",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "controllers.api.certificate.search.CertificateLabelSearchDictionaryLocalizedEntry": {
        "title": "Label Localized Entry",
        "properties": {
          "name": {
            "description": "The technical name of the label",
            "example": "business_unit",
            "type": "string"
          },
          "displayName": {
            "description": "The localized name of the label",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "description": "The localized description of the label",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "controllers.api.certificate.search.CertificateSearchDictionary": {
        "properties": {
          "profiles": {
            "description": "The list of profiles the principal is authorized to search on",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateProfileSearchDictionaryLocalizedEntry"
            }
          },
          "campaigns": {
            "description": "The list of discovery campaign the principal is authorized to search on",
            "example": [
              "horizon_netscan_campaign"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "description": "The list of available teams on this Horizon instance",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/controllers.api.certificate.search.TeamSearchDictionaryLocalizedEntry"
            }
          },
          "labels": {
            "description": "The list of labels the principal is authorized to search on",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateLabelSearchDictionaryLocalizedEntry"
            }
          },
          "metadata": {
            "description": "The list of available metadata in Horizon",
            "type": "array",
            "example": [
              "pki_connector",
              "automation_policy",
              "..."
            ],
            "items": {
              "type": "string"
            }
          },
          "modules": {
            "description": "The list of Horizon modules available on this instance",
            "type": "array",
            "example": [
              "webra",
              "est",
              "..."
            ],
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "gradingPolicies": {
            "description": "The list of available grading policies on Horizon",
            "example": [
              "Horizon-Grading-Policy"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "metadata"
        ]
      },
      "models.search.certificate.CertificateSearchQuery": {
        "properties": {
          "query": {
            "description": "The HCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing",
            "example": "status is valid",
            "externalDocs": {
              "description": "HCQL syntax guide",
              "url": "https://docs.evertrust.fr/horizon/user-guide/2.5/search"
            },
            "type": "string",
            "nullable": true
          },
          "fields": {
            "description": "The fields to be returned by the search. If this parameter is not specified, everything is returned by default. If this parameter is equal to an empty array, only the `_id` field is returned.\n",
            "example": [
              "module",
              "dn",
              "notAfter",
              "revocationDate",
              "revocationReason",
              "notBefore"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "sortedBy": {
            "description": "The way to sort the search results.\n",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.search.SortElement"
            }
          },
          "pageIndex": {
            "description": "The index of the page to retrieve",
            "type": "integer",
            "default": 1,
            "format": "int32",
            "nullable": true
          },
          "pageSize": {
            "description": "The maximum number of items to retrieve for one page",
            "default": 50,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "withCount": {
            "description": "If set to `true`, the total count of certificates matching the HCQL query will be returned.\n",
            "default": false,
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "models.escrow.EscrowedPrivateKey": {
        "properties": {
          "horizonKey": {
            "type": "string"
          },
          "value": {
            "nullable": true,
            "type": "string",
            "format": "PKCS#8 PEM encoded"
          },
          "vaultKey": {
            "type": "string",
            "nullable": true
          },
          "transient": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "horizonKey"
        ]
      },
      "models.search.certificate.CertificateSearchResult": {
        "properties": {
          "_id": {
            "nullable": true,
            "type": "string"
          },
          "module": {
            "type": "string",
            "nullable": true
          },
          "profile": {
            "type": "string",
            "nullable": true
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "team": {
            "type": "string",
            "nullable": true
          },
          "discoveredTrusted": {
            "type": "boolean",
            "nullable": true
          },
          "discoveryInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.discovery.DiscoveryInfo"
            }
          },
          "discoveryData": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.discovery.HostDiscoveryData"
            }
          },
          "certificate": {
            "type": "string",
            "nullable": true
          },
          "thumbprint": {
            "type": "string",
            "nullable": true
          },
          "selfSigned": {
            "type": "boolean",
            "nullable": true
          },
          "publicKeyThumbprint": {
            "type": "string",
            "nullable": true
          },
          "dn": {
            "type": "string",
            "nullable": true
          },
          "serial": {
            "type": "string",
            "nullable": true
          },
          "issuer": {
            "type": "string",
            "nullable": true
          },
          "notBefore": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "notAfter": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "revocationDate": {
            "type": "integer",
            "format": "epoch",
            "nullable": true
          },
          "revocationReason": {
            "type": "string",
            "nullable": true,
            "enum": [
              "UNSPECIFIED",
              "KEYCOMPROMISE",
              "CACOMPROMISE",
              "AFFILIATIONCHANGE",
              "SUPERSEDED",
              "CESSATIONOFOPERATION"
            ]
          },
          "keyType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ],
            "nullable": true
          },
          "signingAlgorithm": {
            "type": "string",
            "nullable": true
          },
          "subjectAlternateNames": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.SubjectAlternateName"
            }
          },
          "metadata": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadata"
            }
          },
          "thirdPartyData": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.thirdparty.ThirdPartyItem"
            }
          },
          "triggerResults": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.trigger.TriggerResult"
            }
          },
          "holderId": {
            "type": "string",
            "nullable": true
          },
          "labels": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.LabelData"
            }
          },
          "privateKey": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.escrow.EscrowedPrivateKey"
              }
            ]
          },
          "permissions": {
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.search.certificate.CertificatePermissions"
              }
            ]
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "grades": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.grading.policy.GradingPolicyResult"
            }
          }
        }
      },
      "controllers.api.certificate.search.CertificateSearchResults": {
        "properties": {
          "results": {
            "description": "List of certificates that matched the search criteria",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.search.certificate.CertificateSearchResult"
            }
          },
          "pageIndex": {
            "description": "The index of the page that has been retrieved",
            "example": 1,
            "readOnly": true,
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "description": "The size of the page that has been retrieved",
            "example": 50,
            "readOnly": true,
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "description": "If `withCount` was set to true in the query payload, represents the total number of certificates that were retrieved for that query\n",
            "example": 12,
            "readOnly": true,
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "hasMore": {
            "description": "Indicates whether the response represents the last page of results (if set to `false`) or not (if set to `true`)\n",
            "example": false,
            "readOnly": true,
            "type": "boolean"
          }
        },
        "required": [
          "results",
          "pageIndex",
          "pageSize",
          "hasMore"
        ]
      },
      "CertSearch002": {
        "title": "CERT-SEARCH-002",
        "description": "Invalid Search Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-SEARCH-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Search Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Search Request"
            ]
          }
        }
      },
      "models.search.certificate.CertificateAggregateQuery": {
        "properties": {
          "query": {
            "description": "The HCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing",
            "example": "status is valid",
            "externalDocs": {
              "description": "HCQL syntax guide",
              "url": "https://docs.evertrust.fr/horizon/user-guide/2.5/search"
            },
            "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 HCQL 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,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.search.Having"
              }
            ]
          }
        }
      },
      "models.search.certificate.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"
        ]
      },
      "CertSearch005": {
        "title": "CERT-SEARCH-005",
        "description": "Invalid Aggregate Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-SEARCH-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid Aggregate Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Aggregate Request"
            ]
          }
        }
      },
      "controllers.api.request.RequestableWorkflow": {
        "properties": {
          "workflow": {
            "description": "A possible workflow on this profile",
            "example": "enroll",
            "type": "string",
            "enum": [
              "migrate",
              "revoke",
              "recover",
              "enroll",
              "renew",
              "update"
            ]
          },
          "request": {
            "description": "The principal has the ability to create a request for this workflow",
            "type": "boolean"
          },
          "perform": {
            "description": "The principal can perform this workflow without validation",
            "type": "boolean"
          }
        },
        "required": [
          "workflow",
          "request",
          "perform"
        ]
      },
      "models.certificate.profile.CertificateProfileCapabilities": {
        "properties": {
          "centralized": {
            "description": "Centralized enrollment is enabled on this profile",
            "type": "boolean"
          },
          "decentralized": {
            "description": "Decentralized enrollment is enabled on this profile",
            "type": "boolean"
          },
          "defaultKeyType": {
            "description": "Key type used when no keyType has been chosen",
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ],
            "nullable": true
          },
          "authorizedKeyTypes": {
            "description": "The list of key types that are authorized for enrollment. A null value means all keys are allowed",
            "type": "array",
            "example": [
              "rsa-2048",
              "rsa-4096"
            ],
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/KeyType"
                }
              ]
            }
          },
          "preferredEnrollmentMode": {
            "description": "The enrollment mode that should be prioritized when both are defined",
            "type": "string",
            "nullable": true,
            "enum": [
              "centralized",
              "decentralized"
            ]
          },
          "passwordPolicy": {
            "nullable": true,
            "type": "object",
            "description": "The selected password policy for this profile. If none is defined and the password mode is `manual`, there is no constraint on the password. In `random` mode, the `Horizon-Default` policy is used",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
              }
            ]
          },
          "p12passwordMode": {
            "description": "A `manual` password mode means the password for the PKCS#12 must be set in the request. A `random` password will be generated on Horizon",
            "type": "string",
            "nullable": true,
            "enum": [
              "manual",
              "random"
            ]
          }
        },
        "required": [
          "centralized",
          "decentralized"
        ]
      },
      "controllers.api.request.RequestableCertificateProfile": {
        "title": "RequestableCertificateProfile",
        "properties": {
          "name": {
            "description": "The name of the profile",
            "example": "webra_centralized",
            "type": "string"
          },
          "module": {
            "description": "The module of the profile",
            "example": "webra",
            "type": "string"
          },
          "displayName": {
            "description": "The localized name of the profile",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "description": "The localized description of the profile",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "workflows": {
            "description": "The list of workflows on this profile and the principals permission on them",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/controllers.api.request.RequestableWorkflow"
            }
          },
          "capabilities": {
            "description": "Crypto information about this profile",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCapabilities"
              }
            ]
          }
        },
        "required": [
          "name",
          "module",
          "workflows",
          "capabilities"
        ]
      },
      "Req001": {
        "title": "REQ-001",
        "description": "Unexpected Error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        }
      },
      "models.webra.WebRABaseRequestOnTemplate": {
        "title": "WebRA Template",
        "properties": {
          "workflow": {
            "description": "The workflow for which to return the template.",
            "type": "string"
          },
          "profile": {
            "title": "Certificate profile",
            "type": "string",
            "example": "webra_centralized",
            "description": "The profile for which to return the template."
          },
          "certificateId": {
            "title": "Horizon certificate ID",
            "readOnly": true,
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "description": "Used to pre-fill the template field with the certificate values."
          },
          "certificatePem": {
            "title": "Certificate pem",
            "writeOnly": true,
            "nullable": true,
            "type": "string",
            "description": "Used to pre-fill the template field with the certificate values.",
            "example": "-----BEGIN CERTIFICATE----- ..."
          }
        }
      },
      "models.certificate.template.IndexedDNElement": {
        "title": "IndexedDNElement",
        "description": "An element of a certificate's Distinguished Name",
        "properties": {
          "element": {
            "description": "The element type and index. Indexes start at 1 !",
            "example": "cn.1",
            "type": "string",
            "enum": [
              "cn",
              "e",
              "ou",
              "st",
              "l",
              "o",
              "c",
              "dc",
              "uid",
              "serialNumber",
              "surname",
              "givenName",
              "unstructuredAddress",
              "unstructuredName",
              "organizationIdentifier",
              "uniqueIdentifier",
              "street",
              "description"
            ]
          },
          "type": {
            "description": "The formatted element type",
            "example": "CN",
            "readOnly": true,
            "nullable": true,
            "type": "string",
            "enum": [
              "CN",
              "E",
              "OU",
              "ST",
              "L",
              "O",
              "C",
              "DC",
              "UID",
              "SERIALNUMBER",
              "SURNAME",
              "GIVENNAME",
              "unstructuredAddress",
              "unstructuredName",
              "organizationIdentifier",
              "UniqueIdentifier",
              "STREET",
              "DESCRIPTION"
            ]
          },
          "value": {
            "description": "The element value",
            "example": "John Doe",
            "type": "string",
            "nullable": true
          },
          "computationRule": {
            "readOnly": true,
            "description": "Computation rule input will be evaluated and will override all other inputs",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "readOnly": true,
            "description": "Whether the field is mandatory or not",
            "type": "boolean",
            "nullable": true
          },
          "editable": {
            "readOnly": true,
            "description": "Whether the field is editable or not for the currently authenticated user",
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "readOnly": true,
            "description": "A regular expression that will be used to validate the element's value",
            "type": "string",
            "nullable": true,
            "example": "^.*aregex$"
          }
        },
        "required": [
          "element"
        ]
      },
      "models.certificate.template.ListSANElement": {
        "title": "SAN Element",
        "properties": {
          "type": {
            "description": "SAN type",
            "type": "string",
            "nullable": true,
            "enum": [
              "RFC822NAME",
              "DNSNAME",
              "URI",
              "IPADDRESS",
              "OTHERNAME_UPN",
              "OTHERNAME_GUID"
            ]
          },
          "value": {
            "description": "SAN value",
            "type": "array",
            "nullable": true,
            "example": [
              "mail@evertrust.fr",
              "mail2@evertrust.fr"
            ],
            "items": {
              "type": "string"
            }
          },
          "computationRule": {
            "readOnly": true,
            "description": "Computation rule input will be evaluated and will override all other inputs",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "editable": {
            "readOnly": true,
            "description": "Whether this SAN element is editable by the user",
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "readOnly": true,
            "description": "The regex that will be used to validate the SAN value",
            "type": "string",
            "nullable": true,
            "example": "^.*aregex$"
          },
          "min": {
            "readOnly": true,
            "description": "The minimum number of SAN elements that must be provided",
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max": {
            "readOnly": true,
            "description": "The maximum number of SAN elements that can be provided",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 2
          }
        },
        "required": [
          "type"
        ]
      },
      "models.certificate.CertificateExtensionElement": {
        "title": "Certificate Extension",
        "properties": {
          "type": {
            "description": "The type of the extension element",
            "type": "string",
            "enum": [
              "ms_sid",
              "ms_template"
            ]
          },
          "value": {
            "description": "The value of the extension element",
            "type": "string",
            "nullable": true
          },
          "computationRule": {
            "readOnly": true,
            "description": "Computation rule input will be evaluated and will override all other inputs",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "editable": {
            "readOnly": true,
            "description": "Whether the extension element is editable by the requester",
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "readOnly": true,
            "description": "The regular expression to validate the extension element",
            "type": "string",
            "nullable": true
          },
          "mandatory": {
            "readOnly": true,
            "description": "Whether the extension element is mandatory to submit this request",
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "models.certificate.label.RequestLabelElement": {
        "title": "Label",
        "properties": {
          "label": {
            "description": "The name of the label",
            "example": "BU",
            "type": "string"
          },
          "displayName": {
            "readOnly": true,
            "description": "The display name of the label element",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "description": {
            "readOnly": true,
            "description": "The description of the label element",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          },
          "value": {
            "description": "The value of the label element",
            "type": "string",
            "nullable": true,
            "example": "business_unit_1"
          },
          "computationRule": {
            "readOnly": true,
            "description": "The computation rule of the label element",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "mandatory": {
            "readOnly": true,
            "description": "Whether the label element is mandatory to submit this request",
            "type": "boolean",
            "nullable": true
          },
          "editable": {
            "readOnly": true,
            "description": "Whether the label element is editable",
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "readOnly": true,
            "description": "The regex used to validate the label element",
            "type": "string",
            "nullable": true,
            "example": "^.*aregex$"
          },
          "enum": {
            "readOnly": true,
            "description": "The enum used to validate the label element",
            "type": "array",
            "nullable": true,
            "example": [
              "business_unit_1",
              "business_unit_2"
            ],
            "items": {
              "type": "string"
            }
          },
          "suggestions": {
            "readOnly": true,
            "description": "The suggestions used to recommend the label element values",
            "type": "array",
            "nullable": true,
            "example": [
              "business_unit_2",
              "business_unit_3"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "label"
        ]
      },
      "models.certificate.CertificateContactEmailElement": {
        "title": "Contact email",
        "properties": {
          "value": {
            "description": "The contact email",
            "type": "string",
            "nullable": true,
            "example": "docs@evertrust.fr"
          },
          "computationRule": {
            "readOnly": true,
            "description": "Computation rule input will be evaluated and will override all other inputs",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "editable": {
            "readOnly": true,
            "description": "Whether the contact email is editable by the requester",
            "type": "boolean",
            "nullable": true
          },
          "mandatory": {
            "readOnly": true,
            "description": "Whether the contact email is mandatory to submit this request",
            "type": "boolean",
            "nullable": true
          },
          "regex": {
            "readOnly": true,
            "description": "The regular expression to validate the contact email",
            "type": "string",
            "nullable": true,
            "example": "^.*@evertrust.fr$"
          },
          "whitelist": {
            "readOnly": true,
            "description": "The list of allowed contact emails",
            "type": "array",
            "nullable": true,
            "example": [
              "docs@evertrust.fr",
              "test@evertrust.fr"
            ],
            "items": {
              "type": "string"
            }
          },
          "description": {
            "readOnly": true,
            "description": "The description of the contact email",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        }
      },
      "models.certificate.CertificateOwnerElement": {
        "title": "Certificate Owner",
        "properties": {
          "value": {
            "description": "The value of the owner element. This should be a principal identifier",
            "type": "string",
            "nullable": true,
            "example": "administrator"
          },
          "computationRule": {
            "description": "Computation rule input will be evaluated and will override all other inputs",
            "nullable": true,
            "readOnly": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "editable": {
            "description": "Whether the owner element is editable by the requester",
            "readOnly": true,
            "type": "boolean",
            "nullable": true
          },
          "mandatory": {
            "description": "Whether the owner element is mandatory to submit this request",
            "readOnly": true,
            "type": "boolean",
            "nullable": true
          },
          "description": {
            "readOnly": true,
            "description": "The description of the owner element",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/models.common.LocalizedString"
                }
              ]
            }
          }
        }
      },
      "models.security.team.CertificateTeamElement": {
        "title": "Certificate Team",
        "properties": {
          "value": {
            "description": "The value of the team element. This should be a team identifier",
            "type": "string",
            "nullable": true,
            "example": "webserver"
          },
          "computationRule": {
            "readOnly": true,
            "description": "Computation rule input will be evaluated and will override all other inputs",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.templatestring.TemplateString"
              }
            ]
          },
          "authorized": {
            "readOnly": true,
            "description": "The list of authorized teams",
            "example": [
              "webserver",
              "internal_pki",
              "devops"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "editable": {
            "readOnly": true,
            "description": "Whether the team element is editable by the requester",
            "type": "boolean",
            "nullable": true
          },
          "mandatory": {
            "readOnly": true,
            "description": "Whether the team element is mandatory to submit this request",
            "type": "boolean",
            "nullable": true
          },
          "description": {
            "readOnly": true,
            "description": "The description of the team element",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.common.LocalizedString"
            }
          }
        }
      },
      "models.webra.WebRAEnrollRequestTemplateWithoutCrypto": {
        "title": "WebRA Enroll Request Template",
        "properties": {
          "keyType": {
            "description": "The type of key that will be used to generate the certificate, if in centralized mode",
            "type": "string",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ]
          },
          "csr": {
            "description": "If decentralized enrollment is enabled, this field will contain the CSR that will be used to generate the certificate",
            "type": "string",
            "nullable": true,
            "example": "-----BEGIN CSR----- ..."
          },
          "subject": {
            "description": "List of DN elements that will be used to build the certificate's Distinguished Name",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.IndexedDNElement"
            }
          },
          "sans": {
            "description": "List of SAN elements that will be used to build the certificate's Subject Alternative Name",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.ListSANElement"
            }
          },
          "extensions": {
            "description": "Information about the certificate's extensions and how to edit them",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateExtensionElement"
            }
          },
          "labels": {
            "description": "List of labels used internally to tag and group certificates",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.RequestLabelElement"
            }
          },
          "contactEmail": {
            "description": "Information about the certificate's contact email and how to edit it",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateContactEmailElement"
              }
            ]
          },
          "owner": {
            "description": "Information about the certificate's owner and how to edit it",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateOwnerElement"
              }
            ]
          },
          "team": {
            "description": "Information about the certificate's team and how to edit it",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.team.CertificateTeamElement"
              }
            ]
          }
        }
      },
      "models.webra.WebRAEnrollRequestTemplate": {
        "title": "WebRA Enroll Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestTemplateWithoutCrypto"
          }
        ],
        "properties": {
          "capabilities": {
            "readOnly": true,
            "description": "Describes how certificates will be enrolled on this profile",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "passwordPolicy": {
            "readOnly": true,
            "description": "The password policy that will be used to generate the certificate's PKCS#12 password",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
              }
            ]
          }
        }
      },
      "models.webra.WebRAEnrollRequestOnTemplate": {
        "title": "WebRA Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "enroll"
            ]
          },
          "module": {
            "description": "The module for which to return the template.",
            "type": "string",
            "enum": [
              "webra"
            ]
          },
          "certificateId": {
            "readOnly": false
          },
          "certificatePem": {
            "readOnly": false
          },
          "profile": {
            "readOnly": false,
            "nullable": true,
            "type": "string"
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestTemplate"
              }
            ],
            "description": "The template with the constraint set on the profile",
            "properties": {
              "csr": {
                "description": "Used to pre-fill the template field with the CSR values.",
                "nullable": true,
                "type": "string",
                "example": "-----BEGIN CSR----- ..."
              },
              "keyType": {
                "readOnly": true,
                "writeOnly": true
              },
              "subject": {
                "readOnly": true
              },
              "sans": {
                "readOnly": true
              },
              "extensions": {
                "readOnly": true
              },
              "labels": {
                "readOnly": true
              },
              "contactEmail": {
                "readOnly": true
              },
              "owner": {
                "readOnly": true
              },
              "team": {
                "readOnly": true
              }
            }
          }
        },
        "required": [
          "workflow",
          "module"
        ]
      },
      "models.webra.WebRARevokeRequestOnTemplate": {
        "title": "WebRA Revoke Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "revoke"
            ]
          },
          "profile": {
            "nullable": false,
            "type": "string"
          },
          "template": {
            "readOnly": true,
            "description": "The reason for revoking the certificate",
            "properties": {
              "revocationReason": {
                "nullable": false,
                "type": "string",
                "enum": [
                  "UNSPECIFIED"
                ]
              }
            }
          }
        },
        "required": [
          "workflow",
          "profile",
          "template"
        ]
      },
      "models.certificate.CertificateMetadataElement": {
        "title": "Certificate Metadata",
        "properties": {
          "metadata": {
            "description": "Technical metadata related to the certificate",
            "type": "string",
            "enum": [
              "pki_connector",
              "previous_certificate_id",
              "renewed_certificate_id",
              "automation_policy",
              "gs_order_id",
              "metapki_id",
              "digicert_id",
              "entrust_id",
              "scep_transid",
              "fcms_id",
              "gsatlas_id",
              "certeurope_id",
              "digicert_order_id"
            ]
          },
          "value": {
            "description": "The value of the metadata element",
            "type": "string",
            "nullable": true,
            "example": "stream_connector"
          },
          "editable": {
            "description": "Whether the metadata element is editable by the requester",
            "type": "boolean",
            "nullable": true,
            "readOnly": true
          }
        },
        "required": [
          "metadata"
        ]
      },
      "models.webra.WebRAUpdateRequestTemplate": {
        "title": "WebRA Update Request Template",
        "properties": {
          "labels": {
            "description": "Information about the certificate's labels and how to edit them",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.RequestLabelElement"
            }
          },
          "metadata": {
            "description": "Information about the certificate's metadata and how to edit them",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadataElement"
            }
          },
          "owner": {
            "type": "object",
            "description": "Information about the certificate's owner and how to edit it",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateOwnerElement"
              }
            ]
          },
          "team": {
            "type": "object",
            "description": "Information about the certificate's team and how to edit it",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.team.CertificateTeamElement"
              }
            ]
          },
          "contactEmail": {
            "type": "object",
            "description": "Information about the certificate's contact email and how to edit it",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateContactEmailElement"
              }
            ]
          }
        }
      },
      "models.webra.WebRAUpdateRequestOnTemplate": {
        "title": "WebRA Update Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "update"
            ]
          },
          "certificateId": {
            "readOnly": false
          },
          "certificatePem": {
            "readOnly": false
          },
          "profile": {
            "type": "string",
            "readOnly": false,
            "nullable": true
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestTemplate"
              }
            ],
            "description": "The template with the constraint set on the profile",
            "readOnly": true
          }
        },
        "required": [
          "workflow",
          "template"
        ]
      },
      "models.webra.WebRARecoverRequestTemplate": {
        "title": "WebRA Recover Request Template",
        "properties": {
          "passwordMode": {
            "description": "The password mode of the certificate",
            "type": "string",
            "nullable": true,
            "enum": [
              "random",
              "manual"
            ]
          },
          "passwordPolicy": {
            "nullable": true,
            "type": "object",
            "description": "The selected password policy for this profile. If none is defined and the password mode is `manual`, there is no constraint on the password. In `random` mode, the `Horizon-Default` policy is used",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
              }
            ]
          }
        }
      },
      "models.webra.WebRARecoverRequestOnTemplate": {
        "title": "WebRA Recover Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "recover"
            ]
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRARecoverRequestTemplate"
              }
            ],
            "readOnly": true,
            "description": "The cryptography policy applied during the recovery of a certificate"
          }
        },
        "required": [
          "workflow",
          "profile",
          "template"
        ]
      },
      "models.webra.WebRAMigrateRequestTemplate": {
        "properties": {
          "labels": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.RequestLabelElement"
            }
          },
          "owner": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateOwnerElement"
              }
            ]
          },
          "team": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.team.CertificateTeamElement"
              }
            ]
          },
          "metadata": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadataElement"
            }
          },
          "contactEmail": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateContactEmailElement"
              }
            ]
          }
        }
      },
      "models.webra.WebRAMigrateRequestTemplateSubmit": {
        "title": "WebRA Migrate Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "migrate"
            ]
          },
          "certificateId": {
            "readOnly": false
          },
          "certificatePem": {
            "readOnly": false
          },
          "profile": {
            "readOnly": false,
            "nullable": true,
            "type": "string"
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestTemplate"
              }
            ],
            "description": "The template with the constraint set on the profile",
            "readOnly": true
          }
        },
        "required": [
          "workflow",
          "template"
        ]
      },
      "models.webra.WebRARenewRequestTemplate": {
        "title": "WebRA Renew Request Template",
        "properties": {
          "capabilities": {
            "readOnly": true,
            "description": "Describes how certificates will be enrolled on this profile",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.profile.CertificateProfileCryptoPolicy"
              }
            ]
          },
          "passwordPolicy": {
            "readOnly": true,
            "description": "The password policy that will be used to generate the certificate's PKCS#12 password",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.passwordpolicy.PasswordPolicy"
              }
            ]
          }
        }
      },
      "models.webra.WebRARenewRequestOnTemplate": {
        "title": "WebRA Renew Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "renew"
            ]
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRARenewRequestTemplate"
              }
            ],
            "readOnly": true,
            "description": "The cryptography policy applied during the recovery of a certificate"
          }
        },
        "required": [
          "workflow",
          "profile",
          "template"
        ]
      },
      "models.webra.WebRAImportRequestTemplate": {
        "title": "WebRA Import Request Template",
        "properties": {
          "privateKey": {
            "type": "string",
            "nullable": true,
            "format": "PKCS#8 PEM encoded",
            "description": "The PEM-encoded private key associated with the certificate. Mandatory if target profile has escrow enabled, forbidden otherwise",
            "example": "-----BEGIN PRIVATE KEY-----..."
          },
          "owner": {
            "type": "object",
            "nullable": true,
            "description": "The owner for this certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateOwnerElement"
              }
            ]
          },
          "team": {
            "type": "object",
            "nullable": true,
            "description": "The team for this certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.team.CertificateTeamElement"
              }
            ]
          },
          "contactEmail": {
            "type": "object",
            "nullable": true,
            "description": "The contact email for this certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateContactEmailElement"
              }
            ]
          },
          "labels": {
            "type": "array",
            "nullable": true,
            "description": "The labels for this certificate",
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.RequestLabelElement"
            }
          },
          "metadata": {
            "type": "array",
            "nullable": true,
            "description": "The technical metadata for this certificate",
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadataElement"
            }
          },
          "thirdPartyData": {
            "type": "array",
            "nullable": true,
            "description": "The third party data associated with the certificate",
            "items": {
              "$ref": "#/components/schemas/models.thirdparty.ThirdPartyItem"
            }
          },
          "discoveryInfo": {
            "type": "object",
            "description": "Information about the discovery of this certificate",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.discovery.DiscoveryInfo"
              }
            ]
          },
          "discoveryData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.discovery.HostDiscoveryData"
              }
            ],
            "description": "The host discovery data associated with the certificate (discovery metadata)"
          }
        }
      },
      "models.webra.WebRAImportRequestOnTemplate": {
        "title": "WebRA Import Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "import"
            ]
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAImportRequestTemplate"
              }
            ],
            "readOnly": true
          }
        },
        "required": [
          "workflow",
          "profile",
          "module",
          "template"
        ]
      },
      "models.est.EstEnrollRequestTemplate": {
        "title": "EST Enroll Request Template",
        "properties": {
          "subject": {
            "description": "List of DN elements that will be used to build the certificate's Distinguished Name",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.IndexedDNElement"
            }
          },
          "sans": {
            "description": "List of SAN elements that will be used to build the certificate's Subject Alternative Name",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.ListSANElement"
            }
          },
          "extensions": {
            "description": "Information about the certificate's extensions and how to edit them",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateExtensionElement"
            }
          },
          "labels": {
            "description": "List of labels used internally to tag and group certificates",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.RequestLabelElement"
            }
          },
          "contactEmail": {
            "description": "Information about the certificate's contact email and how to edit it",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateContactEmailElement"
              }
            ]
          },
          "owner": {
            "description": "Information about the certificate's owner and how to edit it",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateOwnerElement"
              }
            ]
          },
          "team": {
            "description": "Information about the certificate's team and how to edit it",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.team.CertificateTeamElement"
              }
            ]
          },
          "dnWhitelist": {
            "description": "DN whitelist is enabled on this request",
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "models.est.EstEnrollRequestOnTemplate": {
        "title": "Est Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "enroll"
            ]
          },
          "module": {
            "description": "The module for which to return the template.",
            "type": "string",
            "enum": [
              "est"
            ]
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.est.EstEnrollRequestTemplate"
              }
            ],
            "description": "The template with the constraint set on the profile"
          }
        },
        "required": [
          "workflow",
          "module",
          "profile",
          "template"
        ]
      },
      "models.scep.ScepEnrollRequestTemplate": {
        "title": "SCEP Enroll Request Template",
        "properties": {
          "subject": {
            "description": "List of DN elements that will be used to build the certificate's Distinguished Name",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.IndexedDNElement"
            }
          },
          "sans": {
            "description": "List of SAN elements that will be used to build the certificate's Subject Alternative Name",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.template.ListSANElement"
            }
          },
          "extensions": {
            "description": "Information about the certificate's extensions and how to edit them",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateExtensionElement"
            }
          },
          "labels": {
            "description": "List of labels used internally to tag and group certificates",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.RequestLabelElement"
            }
          },
          "contactEmail": {
            "description": "Information about the certificate's contact email and how to edit it",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateContactEmailElement"
              }
            ]
          },
          "owner": {
            "description": "Information about the certificate's owner and how to edit it",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.CertificateOwnerElement"
              }
            ]
          },
          "team": {
            "description": "Information about the certificate's team and how to edit it",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.team.CertificateTeamElement"
              }
            ]
          },
          "dnWhitelist": {
            "description": "DN whitelist is enabled on this request",
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "models.scep.ScepEnrollRequestOnTemplate": {
        "title": "Scep Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRABaseRequestOnTemplate"
          }
        ],
        "properties": {
          "workflow": {
            "enum": [
              "enroll"
            ]
          },
          "module": {
            "description": "The module for which to return the template.",
            "type": "string",
            "enum": [
              "scep",
              "jamf"
            ]
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.scep.ScepEnrollRequestTemplate"
              }
            ],
            "description": "The template with the constraint set on the profile"
          }
        },
        "required": [
          "workflow",
          "module",
          "profile",
          "template"
        ]
      },
      "Req002": {
        "title": "REQ-002",
        "description": "Invalid Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Request"
            ]
          }
        }
      },
      "Req010": {
        "title": "REQ-010",
        "description": "Profile does not exist or is disabled",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-010"
            ]
          },
          "message": {
            "enum": [
              "Profile does not exist or is disabled"
            ]
          },
          "title": {
            "enum": [
              "Profile does not exist or is disabled"
            ]
          }
        }
      },
      "SecAuth010": {
        "title": "SEC-AUTH-010",
        "description": "Invalid Jwt Token",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-010"
            ]
          },
          "message": {
            "enum": [
              "Invalid Jwt Token"
            ]
          },
          "title": {
            "enum": [
              "Invalid Jwt Token"
            ]
          }
        }
      },
      "Req007": {
        "title": "REQ-007",
        "description": "Unauthorized Workflow",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-007"
            ]
          },
          "message": {
            "enum": [
              "Unauthorized Workflow"
            ]
          },
          "title": {
            "enum": [
              "Unauthorized Workflow"
            ]
          }
        }
      },
      "RequestStatus": {
        "title": "Request Status",
        "description": "The request status",
        "readOnly": true,
        "type": "string",
        "enum": [
          "denied",
          "approved",
          "pending",
          "canceled",
          "completed"
        ]
      },
      "HolderId": {
        "title": "Holder ID",
        "example": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
        "type": "string",
        "description": "An ID to identify the holder based on DN and SANs of the certificate"
      },
      "models.RequestBase": {
        "properties": {
          "_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "readOnly": true
          },
          "module": {
            "type": "string"
          },
          "workflow": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/RequestStatus"
          },
          "profile": {
            "description": "The Requested profile name",
            "type": "string",
            "example": "DefaultProfile",
            "readOnly": true
          },
          "dn": {
            "description": "Certificate's Distinguished Name",
            "example": "CN=John Doe,OU=IT,O=Example,C=US",
            "readOnly": true,
            "type": "string"
          },
          "requester": {
            "description": "The requester's principal identifier",
            "example": "jdoe",
            "readOnly": true,
            "type": "string"
          },
          "team": {
            "description": "The team that will be assigned to this certificate. Teams are used to link certificates to people and to assign permissions to them",
            "example": "IT",
            "readOnly": true,
            "type": "string",
            "nullable": true
          },
          "approver": {
            "description": "The approver's principal identifier",
            "example": "jdoe",
            "readOnly": true,
            "type": "string",
            "nullable": true
          },
          "contact": {
            "description": "The request's contact email",
            "example": "jdoe@example.org",
            "readOnly": true,
            "type": "string",
            "nullable": true
          },
          "requesterComment": {
            "type": "string",
            "description": "Free-text field editable by the requester to provider more context on the request",
            "example": "I need this certificate to access the VPN.",
            "nullable": true
          },
          "approverComment": {
            "readOnly": true,
            "description": "Free-text field editable by the approver to provider more context on the request",
            "example": "This certificate is for the VPN.",
            "type": "string",
            "nullable": true
          },
          "registrationDate": {
            "description": "The date the request was created. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1683021380000
          },
          "lastModificationDate": {
            "description": "The date the request was last modified. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1683021380000
          },
          "expirationDate": {
            "description": "The date the request will expire. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1683024980000
          },
          "removeAt": {
            "description": "The date the requested will be deleted. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1685616980640
          },
          "triggerResults": {
            "description": "The result of the execution of triggers on this request",
            "type": "array",
            "readOnly": true,
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.trigger.TriggerResult"
            }
          },
          "labels": {
            "description": "The labels set in this request",
            "readOnly": true,
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.LabelData"
            }
          },
          "metadata": {
            "description": "The metadata set in this request",
            "readOnly": true,
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadata"
            }
          },
          "holderId": {
            "description": "The computed holderID for this request. This is set by the system based on DN and SANs",
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/HolderId"
              }
            ]
          },
          "globalHolderIdCount": {
            "description": "The number of certificates that are currently valid and have the same DN and SANs in the Horizon database",
            "readOnly": true,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "profileHolderIdCount": {
            "description": "The number of certificates that are currently valid and have the same DN and SANs in the same enrollment profile",
            "readOnly": true,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "models.webra.WebRAEnrollRequestOnSubmit": {
        "title": "WebRA Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "description": "The module that will be used to process this request. For a WebRA request, this is always `webra`",
            "enum": [
              "webra"
            ]
          },
          "workflow": {
            "description": "What this request will do. For an enrollment request, this is always `enroll`",
            "enum": [
              "enroll"
            ]
          },
          "profile": {
            "description": "The WebRA profile name",
            "readOnly": false
          },
          "template": {
            "description": "The user-data that will be used to generate the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestTemplateWithoutCrypto"
              }
            ]
          },
          "pkcs12": {
            "description": "The generated PKCS#12 for this request. This is only available after the request has been approved in centralized mode",
            "readOnly": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ],
            "nullable": true
          },
          "password": {
            "description": "The password to decrypt the PKCS12 file. Must be set if password mode is `manual`",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          },
          "certificate": {
            "readOnly": true,
            "type": "object",
            "description": "The certificate that was generated for this request. This is only available after the request has been approved",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          },
          "dryRun": {
            "description": "If true, the request is validated, but will not result in an enrollment",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId"
        ]
      },
      "RequestModule": {
        "type": "string",
        "enum": [
          "webra",
          "est",
          "scep",
          "acme",
          "acme-external"
        ]
      },
      "models.webra.WebRARevokeTemplate": {
        "title": "WebRA Revoke Request Template",
        "properties": {
          "revocationReason": {
            "description": "The reason for revoking the certificate",
            "type": "string",
            "nullable": true,
            "enum": [
              "UNSPECIFIED",
              "KEYCOMPROMISE",
              "CACOMPROMISE",
              "AFFILIATIONCHANGE",
              "SUPERSEDED",
              "CESSATIONOFOPERATION"
            ]
          }
        }
      },
      "models.webra.WebRARevokeRequestOnSubmit": {
        "title": "WebRA Revoke Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestModule"
              }
            ],
            "readOnly": true,
            "description": "The module of the certificate revoked."
          },
          "workflow": {
            "description": "What this request will do. For a revocation request, this is always `revoke`",
            "enum": [
              "revoke"
            ]
          },
          "template": {
            "description": "The user-data that will be used to revoke the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRARevokeTemplate"
              }
            ]
          },
          "certificateId": {
            "writeOnly": true,
            "description": "The id of the certificate to revoke",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificatePem": {
            "writeOnly": true,
            "description": "The PEM encoded certificate to revoke",
            "nullable": true,
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ..."
          },
          "certificate": {
            "readOnly": true,
            "type": "object",
            "description": "The certificate that was revoked for this request. This is only available after the request has been approved",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId"
        ]
      },
      "models.webra.WebRAUpdateRequestOnSubmit": {
        "title": "WebRA Update Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestModule"
              }
            ],
            "readOnly": true,
            "description": "The module of the certificate updated."
          },
          "workflow": {
            "description": "What this request will do. For an update request, this is always `update`",
            "enum": [
              "update"
            ]
          },
          "template": {
            "description": "The user-data that will be used to generate the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestTemplate"
              }
            ]
          },
          "certificateId": {
            "writeOnly": true,
            "description": "The id of the certificate to update",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificatePem": {
            "writeOnly": true,
            "description": "The PEM encoded certificate to update",
            "nullable": true,
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ..."
          },
          "certificate": {
            "readOnly": true,
            "type": "object",
            "description": "The certificate that was updated for this request. This is only available after the request has been approved",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          },
          "dryRun": {
            "description": "If true, the request is validated, but will not result in an update",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId"
        ]
      },
      "models.webra.WebRARecoverRequestOnSubmit": {
        "title": "WebRA Recover Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestModule"
              }
            ],
            "readOnly": true,
            "description": "The module of the certificate recovered."
          },
          "workflow": {
            "description": "What this request will do. For a recovery request, this is always `recover`",
            "enum": [
              "recover"
            ]
          },
          "certificateId": {
            "writeOnly": true,
            "description": "The id of the certificate to update",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificatePem": {
            "writeOnly": true,
            "description": "The PEM encoded certificate to update",
            "nullable": true,
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ..."
          },
          "pkcs12": {
            "description": "The generated PKCS#12 for this request. This is only available after the request has been approved in centralized mode",
            "readOnly": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ],
            "nullable": true
          },
          "password": {
            "description": "The password to decrypt the PKCS12 file. Must be set if password mode is `manual`",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          },
          "certificate": {
            "readOnly": true,
            "type": "object",
            "description": "The certificate that was generated for this request. This is only available after the request has been approved",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          },
          "dryRun": {
            "description": "If true, the request is validated, but will not result in a recovery",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "workflow",
          "holderId"
        ]
      },
      "models.webra.WebRAMigrateRequestOnSubmit": {
        "title": "WebRA Migrate Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestModule"
              }
            ],
            "readOnly": true,
            "description": "The module of the certificate migrated."
          },
          "workflow": {
            "description": "What this request will do. For a migration request, this is always `migrate`",
            "enum": [
              "migrate"
            ]
          },
          "profile": {
            "description": "The target profile name",
            "readOnly": false
          },
          "template": {
            "description": "The user-data that will be used to generate the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestTemplate"
              }
            ]
          },
          "certificateId": {
            "writeOnly": true,
            "description": "The id of the certificate to migrate",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificatePem": {
            "description": "The PEM encoded certificate to migrate",
            "nullable": true,
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ...",
            "writeOnly": true
          },
          "certificate": {
            "readOnly": true,
            "type": "object",
            "description": "The certificate that was updated for this request. This is only available after the request has been approved",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          },
          "dryRun": {
            "description": "If true, the request is validated, but will not result in a migration",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId"
        ]
      },
      "models.webra.WebRARenewRequestTemplateWithoutCrypto": {
        "title": "WebRA Renew Request Template",
        "properties": {
          "csr": {
            "description": "The CSR used to renew the certificate, if in decentralized mode",
            "type": "string",
            "nullable": true,
            "example": "-----BEGIN CSR----- ..."
          },
          "keyType": {
            "description": "The key type of the certificate, if in centralized mode",
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyType"
              }
            ],
            "nullable": true
          }
        }
      },
      "models.webra.WebRARenewRequestOnSubmit": {
        "title": "WebRA Renew Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestModule"
              }
            ],
            "readOnly": true,
            "description": "The module of the certificate renew."
          },
          "workflow": {
            "description": "What this request will do. For a renewal request, this is always `renew`",
            "enum": [
              "renew"
            ]
          },
          "template": {
            "description": "The user-data that will be used to generate the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRARenewRequestTemplateWithoutCrypto"
              }
            ]
          },
          "pkcs12": {
            "description": "The generated PKCS#12 for this request. This is only available after the request has been approved in centralized mode",
            "readOnly": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ],
            "nullable": true
          },
          "password": {
            "description": "The password to decrypt the PKCS12 file. Must be set if password mode is `manual`",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          },
          "certificateId": {
            "writeOnly": true,
            "description": "The id of the certificate to renew",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificatePem": {
            "writeOnly": true,
            "description": "The PEM encoded certificate to renew",
            "nullable": true,
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ..."
          },
          "certificate": {
            "readOnly": true,
            "type": "object",
            "description": "The certificate that was generated for this request. This is only available after the request has been approved",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "workflow",
          "holderId"
        ]
      },
      "models.webra.WebRAImportRequestOnSubmit": {
        "title": "WebRA Import Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RequestModule"
              }
            ],
            "readOnly": true,
            "description": "The module of the certificate imported."
          },
          "workflow": {
            "description": "What this request will do. For an import request, this is always `import`",
            "enum": [
              "import"
            ]
          },
          "template": {
            "description": "The user-data that will be added on certificate import",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.webra.WebRAImportRequestTemplate"
              }
            ]
          },
          "certificateId": {
            "writeOnly": true,
            "description": "The id of the certificate to import",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificatePem": {
            "description": "The PEM encoded certificate to import",
            "nullable": true,
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ...",
            "writeOnly": true
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "workflow",
          "holderId"
        ]
      },
      "models.est.EstEnrollRequestOnSubmit": {
        "title": "EST Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "description": "The module that will be used to process this request. For a EST request, this is always `est`",
            "enum": [
              "est"
            ]
          },
          "workflow": {
            "description": "What this request will do. For an enrollment request, this is always `enroll`",
            "enum": [
              "enroll"
            ]
          },
          "profile": {
            "description": "The EST profile name",
            "readOnly": false
          },
          "dn": {
            "description": "Fill the DN if DN whitelist is enabled. Contains the DN of the challenge",
            "readOnly": false
          },
          "template": {
            "description": "The user-data that will be used to generate the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.est.EstEnrollRequestTemplate"
              }
            ]
          },
          "password": {
            "description": "The password of the challenge. Must be set if password mode is `manual`",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          },
          "dryRun": {
            "description": "If true, the request is validated, but will not result in a challenge creation",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId"
        ]
      },
      "models.scep.ScepEnrollRequestOnSubmit": {
        "title": "SCEP Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.RequestBase"
          }
        ],
        "properties": {
          "module": {
            "description": "The module that will be used to process this request. For a SCEP request, this is always `scep`",
            "enum": [
              "scep"
            ]
          },
          "workflow": {
            "description": "What this request will do. For an enrollment request, this is always `enroll`",
            "enum": [
              "enroll"
            ]
          },
          "profile": {
            "description": "The SCEP profile name",
            "readOnly": false
          },
          "dn": {
            "description": "Fill the DN if DN whitelist is enabled. Contains the DN of the challenge",
            "readOnly": false
          },
          "template": {
            "description": "The user-data that will be used to generate the certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.scep.ScepEnrollRequestTemplate"
              }
            ]
          },
          "password": {
            "description": "The password of the challenge. Must be set if password mode is `manual`",
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.secret.SecretString"
              }
            ]
          },
          "dryRun": {
            "description": "If true, the request is validated, but will not result in a challenge creation",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId"
        ]
      },
      "CertTeam001": {
        "title": "CERT-TEAM-001",
        "description": "Invalid Team Element",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-TEAM-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid Team Element"
            ]
          },
          "title": {
            "enum": [
              "Invalid Team Element"
            ]
          }
        }
      },
      "CertElem001": {
        "title": "CERT-ELEM-001",
        "description": "Invalid Certificate Element",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "CERT-ELEM-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate Element"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate Element"
            ]
          }
        }
      },
      "Req004": {
        "title": "REQ-004",
        "description": "Invalid Request status",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid Request status"
            ]
          },
          "title": {
            "enum": [
              "Invalid Request status"
            ]
          }
        }
      },
      "Req005": {
        "title": "REQ-005",
        "description": "Expired Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-005"
            ]
          },
          "message": {
            "enum": [
              "Expired Request"
            ]
          },
          "title": {
            "enum": [
              "Expired Request"
            ]
          }
        }
      },
      "EstEnroll001": {
        "title": "EST-ENROLL-001",
        "description": "Invalid Authorization Mode as DN whitelisting is not enabled on profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid Authorization Mode as DN whitelisting is not enabled on profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid Authorization Mode as DN whitelisting is not enabled on profile"
            ]
          }
        }
      },
      "EstEnroll002": {
        "title": "EST-ENROLL-002",
        "description": "DN is required as DN whitelisting is enabled on EST profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-002"
            ]
          },
          "message": {
            "enum": [
              "DN is required as DN whitelisting is enabled on EST profile"
            ]
          },
          "title": {
            "enum": [
              "DN is required as DN whitelisting is enabled on EST profile"
            ]
          }
        }
      },
      "EstEnroll003": {
        "title": "EST-ENROLL-003",
        "description": "Invalid Distinguished Name",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid Distinguished Name"
            ]
          },
          "title": {
            "enum": [
              "Invalid Distinguished Name"
            ]
          }
        }
      },
      "EstEnroll004": {
        "title": "EST-ENROLL-004",
        "description": "Invalid EST Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid EST Enroll Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid EST Enroll Request"
            ]
          }
        }
      },
      "EstEnroll005": {
        "title": "EST-ENROLL-005",
        "description": "Invalid EST Profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid EST Profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid EST Profile"
            ]
          }
        }
      },
      "ScepEnroll001": {
        "title": "SCEP-ENROLL-001",
        "description": "SCEP pre-validation is not enabled on SCEP profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-001"
            ]
          },
          "message": {
            "enum": [
              "SCEP pre-validation is not enabled on SCEP profile"
            ]
          },
          "title": {
            "enum": [
              "SCEP pre-validation is not enabled on SCEP profile"
            ]
          }
        }
      },
      "ScepEnroll002": {
        "title": "SCEP-ENROLL-002",
        "description": "DN is required as DN whitelisting is enabled on SCEP profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-002"
            ]
          },
          "message": {
            "enum": [
              "DN is required as DN whitelisting is enabled on SCEP profile"
            ]
          },
          "title": {
            "enum": [
              "DN is required as DN whitelisting is enabled on SCEP profile"
            ]
          }
        }
      },
      "ScepEnroll003": {
        "title": "SCEP-ENROLL-003",
        "description": "Invalid Distinguished Name",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid Distinguished Name"
            ]
          },
          "title": {
            "enum": [
              "Invalid Distinguished Name"
            ]
          }
        }
      },
      "ScepEnroll004": {
        "title": "SCEP-ENROLL-004",
        "description": "Invalid SCEP Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid SCEP Enroll Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid SCEP Enroll Request"
            ]
          }
        }
      },
      "ScepEnroll005": {
        "title": "SCEP-ENROLL-005",
        "description": "Invalid SCEP Profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid SCEP Profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid SCEP Profile"
            ]
          }
        }
      },
      "WebraEnroll001": {
        "title": "WEBRA-ENROLL-001",
        "description": "Invalid enrollment mode",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid enrollment mode"
            ]
          },
          "title": {
            "enum": [
              "Invalid enrollment mode"
            ]
          }
        }
      },
      "WebraEnroll002": {
        "title": "WEBRA-ENROLL-002",
        "description": "Invalid key type",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid key type"
            ]
          },
          "title": {
            "enum": [
              "Invalid key type"
            ]
          }
        }
      },
      "WebraEnroll003": {
        "title": "WEBRA-ENROLL-003",
        "description": "Invalid certificate request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate request"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate request"
            ]
          }
        }
      },
      "WebraEnroll004": {
        "title": "WEBRA-ENROLL-004",
        "description": "Invalid subject parameter(s)",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid subject parameter(s)"
            ]
          },
          "title": {
            "enum": [
              "Invalid subject parameter(s)"
            ]
          }
        }
      },
      "WebraEnroll005": {
        "title": "WEBRA-ENROLL-005",
        "description": "Invalid subject alternate name parameter(s)",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid subject alternate name parameter(s)"
            ]
          },
          "title": {
            "enum": [
              "Invalid subject alternate name parameter(s)"
            ]
          }
        }
      },
      "WebraEnroll006": {
        "title": "WEBRA-ENROLL-006",
        "description": "Invalid label parameter(s)",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-006"
            ]
          },
          "message": {
            "enum": [
              "Invalid label parameter(s)"
            ]
          },
          "title": {
            "enum": [
              "Invalid label parameter(s)"
            ]
          }
        }
      },
      "WebraEnroll009": {
        "title": "WEBRA-ENROLL-009",
        "description": "Missing Web Registration Authority Enrollment Request Template on approved request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-009"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Enrollment Request Template on approved request"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Enrollment Request Template on approved request"
            ]
          }
        }
      },
      "WebraRecover001": {
        "title": "WEBRA-RECOVER-001",
        "description": "No certificateId specified",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RECOVER-001"
            ]
          },
          "message": {
            "enum": [
              "No certificateId specified"
            ]
          },
          "title": {
            "enum": [
              "No certificateId specified"
            ]
          }
        }
      },
      "WebraRecover002": {
        "title": "WEBRA-RECOVER-002",
        "description": "Web Registration Authority recovery failed",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RECOVER-002"
            ]
          },
          "message": {
            "enum": [
              "Web Registration Authority recovery failed"
            ]
          },
          "title": {
            "enum": [
              "Web Registration Authority recovery failed"
            ]
          }
        }
      },
      "WebraRecover003": {
        "title": "WEBRA-RECOVER-003",
        "description": "Invalid Web Registration Authority Recover Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RECOVER-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority Recover Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority Recover Request"
            ]
          }
        }
      },
      "WebraRecover004": {
        "title": "WEBRA-RECOVER-004",
        "description": "Certificate does not exist",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RECOVER-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate does not exist"
            ]
          },
          "title": {
            "enum": [
              "Certificate does not exist"
            ]
          }
        }
      },
      "WebraRevoke001": {
        "title": "WEBRA-REVOKE-001",
        "description": "No certificate specified",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-REVOKE-001"
            ]
          },
          "message": {
            "enum": [
              "No certificate specified"
            ]
          },
          "title": {
            "enum": [
              "No certificate specified"
            ]
          }
        }
      },
      "WebraRevoke003": {
        "title": "WEBRA-REVOKE-003",
        "description": "Invalid Web Registration Authority revocation request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-REVOKE-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority revocation request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority revocation request"
            ]
          }
        }
      },
      "WebraRevoke004": {
        "title": "WEBRA-REVOKE-004",
        "description": "Certificate does not exist",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-REVOKE-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate does not exist"
            ]
          },
          "title": {
            "enum": [
              "Certificate does not exist"
            ]
          }
        }
      },
      "WebraRevoke005": {
        "title": "WEBRA-REVOKE-005",
        "description": "Invalid certificate",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-REVOKE-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate"
            ]
          }
        }
      },
      "WebraRevoke006": {
        "title": "WEBRA-REVOKE-006",
        "description": "Missing Web Registration Authority Revoke Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-REVOKE-006"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Revoke Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Revoke Request Template"
            ]
          }
        }
      },
      "WebraMigrate001": {
        "title": "WEBRA-MIGRATE-001",
        "description": "No certificate specified",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-001"
            ]
          },
          "message": {
            "enum": [
              "No certificate specified"
            ]
          },
          "title": {
            "enum": [
              "No certificate specified"
            ]
          }
        }
      },
      "WebraMigrate007": {
        "title": "WEBRA-MIGRATE-007",
        "description": "Invalid migration profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-007"
            ]
          },
          "message": {
            "enum": [
              "Invalid migration profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid migration profile"
            ]
          }
        }
      },
      "WebraRenew001": {
        "title": "WEBRA-RENEW-001",
        "description": "Invalid request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RENEW-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid request"
            ]
          },
          "title": {
            "enum": [
              "Invalid request"
            ]
          }
        }
      },
      "WebraRenew003": {
        "title": "WEBRA-RENEW-003",
        "description": "Invalid Web Registration Authority Profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RENEW-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority Profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority Profile"
            ]
          }
        }
      },
      "WebraRenew004": {
        "title": "WEBRA-RENEW-004",
        "description": "Renewal not enabled on Web Registration Authority Profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RENEW-004"
            ]
          },
          "message": {
            "enum": [
              "Renewal not enabled on Web Registration Authority Profile"
            ]
          },
          "title": {
            "enum": [
              "Renewal not enabled on Web Registration Authority Profile"
            ]
          }
        }
      },
      "WebraImport001": {
        "title": "WEBRA-IMPORT-001",
        "description": "Invalid request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-IMPORT-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid request"
            ]
          },
          "title": {
            "enum": [
              "Invalid request"
            ]
          }
        }
      },
      "WebraImport003": {
        "title": "WEBRA-IMPORT-003",
        "description": "Certificate key is already escrowed",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-IMPORT-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate key is already escrowed"
            ]
          },
          "title": {
            "enum": [
              "Certificate key is already escrowed"
            ]
          }
        }
      },
      "WebraImport004": {
        "title": "WEBRA-IMPORT-004",
        "description": "Import request does not contain certificate",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-IMPORT-004"
            ]
          },
          "message": {
            "enum": [
              "Import request does not contain certificate"
            ]
          },
          "title": {
            "enum": [
              "Import request does not contain certificate"
            ]
          }
        }
      },
      "Req003": {
        "title": "REQ-003",
        "description": "Request not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-003"
            ]
          },
          "message": {
            "enum": [
              "Request not found"
            ]
          },
          "title": {
            "enum": [
              "Request not found"
            ]
          }
        }
      },
      "Req009": {
        "title": "REQ-009",
        "description": "Invalid Certificate",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-009"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate"
            ]
          }
        }
      },
      "EstEnroll006": {
        "title": "EST-ENROLL-006",
        "description": "Missing profile EST Enrollment Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-006"
            ]
          },
          "message": {
            "enum": [
              "Missing profile EST Enrollment Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing profile EST Enrollment Request Template"
            ]
          }
        }
      },
      "EstEnroll007": {
        "title": "EST-ENROLL-007",
        "description": "Missing approved EST Enrollment Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-007"
            ]
          },
          "message": {
            "enum": [
              "Missing approved EST Enrollment Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing approved EST Enrollment Request Template"
            ]
          }
        }
      },
      "EstEnroll008": {
        "title": "EST-ENROLL-008",
        "description": "Missing pending EST Enrollment Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-008"
            ]
          },
          "message": {
            "enum": [
              "Missing pending EST Enrollment Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing pending EST Enrollment Request Template"
            ]
          }
        }
      },
      "EstEnroll009": {
        "title": "EST-ENROLL-009",
        "description": "Unable to validate pending request. The EST profile was modified and the request can only be canceled or denied",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "EST-ENROLL-009"
            ]
          },
          "message": {
            "enum": [
              "Unable to validate pending request. The EST profile was modified and the request can only be canceled or denied"
            ]
          },
          "title": {
            "enum": [
              "Unable to validate pending request. The EST profile was modified and the request can only be canceled or denied"
            ]
          }
        }
      },
      "ScepEnroll006": {
        "title": "SCEP-ENROLL-006",
        "description": "Missing profile SCEP Enrollment Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-006"
            ]
          },
          "message": {
            "enum": [
              "Missing profile SCEP Enrollment Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing profile SCEP Enrollment Request Template"
            ]
          }
        }
      },
      "ScepEnroll007": {
        "title": "SCEP-ENROLL-007",
        "description": "Missing approved SCEP Enrollment Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-007"
            ]
          },
          "message": {
            "enum": [
              "Missing approved SCEP Enrollment Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing approved SCEP Enrollment Request Template"
            ]
          }
        }
      },
      "ScepEnroll008": {
        "title": "SCEP-ENROLL-008",
        "description": "Missing pending SCEP Enrollment Request Template",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-008"
            ]
          },
          "message": {
            "enum": [
              "Missing pending SCEP Enrollment Request Template"
            ]
          },
          "title": {
            "enum": [
              "Missing pending SCEP Enrollment Request Template"
            ]
          }
        }
      },
      "ScepEnroll009": {
        "title": "SCEP-ENROLL-009",
        "description": "Unable to validate pending request. The EST profile was modified and the request can only be canceled or denied",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SCEP-ENROLL-009"
            ]
          },
          "message": {
            "enum": [
              "Unable to validate pending request. The EST profile was modified and the request can only be canceled or denied"
            ]
          },
          "title": {
            "enum": [
              "Unable to validate pending request. The EST profile was modified and the request can only be canceled or denied"
            ]
          }
        }
      },
      "WebraEnroll007": {
        "title": "WEBRA-ENROLL-007",
        "description": "Missing Web Registration Authority Enrollment Request Template on profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-007"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Enrollment Request Template on profile"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Enrollment Request Template on profile"
            ]
          }
        }
      },
      "WebraEnroll008": {
        "title": "WEBRA-ENROLL-008",
        "description": "Missing Web Registration Authority Enrollment Request Template on pending request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-008"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Enrollment Request Template on pending request"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Enrollment Request Template on pending request"
            ]
          }
        }
      },
      "WebraEnroll010": {
        "title": "WEBRA-ENROLL-010",
        "description": "Unable to validate pending enroll request. The Web Registration Authority profile was modified and the request can only be canceled or denied",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-010"
            ]
          },
          "message": {
            "enum": [
              "Unable to validate pending enroll request. The Web Registration Authority profile was modified and the request can only be canceled or denied"
            ]
          },
          "title": {
            "enum": [
              "Unable to validate pending enroll request. The Web Registration Authority profile was modified and the request can only be canceled or denied"
            ]
          }
        }
      },
      "WebraEnroll011": {
        "title": "WEBRA-ENROLL-011",
        "description": "Web Registration Authority enrollment failed",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-011"
            ]
          },
          "message": {
            "enum": [
              "Web Registration Authority enrollment failed"
            ]
          },
          "title": {
            "enum": [
              "Web Registration Authority enrollment failed"
            ]
          }
        }
      },
      "WebraEnroll012": {
        "title": "WEBRA-ENROLL-012",
        "description": "Invalid Web Registration Authority Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-012"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority Enroll Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority Enroll Request"
            ]
          }
        }
      },
      "WebraEnroll013": {
        "title": "WEBRA-ENROLL-013",
        "description": "Invalid Web Registration Authority Profile",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-013"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority Profile"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority Profile"
            ]
          }
        }
      },
      "WebraEnroll014": {
        "title": "WEBRA-ENROLL-014",
        "description": "Invalid Web Registration Authority",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-ENROLL-014"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority"
            ]
          }
        }
      },
      "WebraRevoke002": {
        "title": "WEBRA-REVOKE-002",
        "description": "Web Registration Authority revocation failed",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-REVOKE-002"
            ]
          },
          "message": {
            "enum": [
              "Web Registration Authority revocation failed"
            ]
          },
          "title": {
            "enum": [
              "Web Registration Authority revocation failed"
            ]
          }
        }
      },
      "WebraMigrate005": {
        "title": "WEBRA-MIGRATE-005",
        "description": "Missing Web Registration Authority Migrate Request Template on submitted request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-005"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Migrate Request Template on submitted request"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Migrate Request Template on submitted request"
            ]
          }
        }
      },
      "WebraRenew002": {
        "title": "WEBRA-RENEW-002",
        "description": "Web Registration Authority renewal failed",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-RENEW-002"
            ]
          },
          "message": {
            "enum": [
              "Web Registration Authority renewal failed"
            ]
          },
          "title": {
            "enum": [
              "Web Registration Authority renewal failed"
            ]
          }
        }
      },
      "models.webra.WebRAEnrollRequestOnApprove": {
        "title": "WebRA Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRAEnrollRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "password": {
            "readOnly": true
          },
          "profile": {
            "readOnly": true
          },
          "requesterComment": {
            "readOnly": true
          }
        }
      },
      "models.webra.WebRARevokeRequestOnApprove": {
        "title": "WebRA Revoke Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRARevokeRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "requesterComment": {
            "readOnly": true
          },
          "certificateId": {
            "readOnly": true
          },
          "certificatePem": {
            "readOnly": true
          },
          "contact": {
            "readOnly": false
          }
        }
      },
      "models.webra.WebRAUpdateRequestOnApprove": {
        "title": "WebRA Update Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRAUpdateRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "requesterComment": {
            "readOnly": true
          },
          "certificateId": {
            "readOnly": true
          },
          "certificatePem": {
            "readOnly": true
          }
        }
      },
      "models.webra.WebRARecoverRequestOnApprove": {
        "title": "WebRA Recover Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRARecoverRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "password": {
            "readOnly": true
          },
          "profile": {
            "readOnly": true
          },
          "requesterComment": {
            "readOnly": true
          },
          "certificateId": {
            "readOnly": true
          },
          "certificatePem": {
            "readOnly": true
          }
        }
      },
      "models.webra.WebRAMigrateRequestOnApprove": {
        "title": "WebRA Migrate Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRAMigrateRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "profile": {
            "readOnly": true
          },
          "requesterComment": {
            "readOnly": true
          },
          "certificateId": {
            "readOnly": true
          },
          "certificatePem": {
            "readOnly": true
          }
        }
      },
      "models.webra.WebRARenewRequestOnApprove": {
        "title": "WebRA Renew Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRARenewRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "password": {
            "readOnly": true
          },
          "requesterComment": {
            "readOnly": true
          },
          "certificateId": {
            "readOnly": true
          },
          "certificatePem": {
            "readOnly": true
          },
          "template": {
            "readOnly": true
          }
        }
      },
      "models.webra.WebRAImportRequestOnApprove": {
        "title": "WebRA Import Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.webra.WebRAImportRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "profile": {
            "readOnly": true
          },
          "requesterComment": {
            "readOnly": true
          }
        }
      },
      "models.est.EstEnrollRequestOnApprove": {
        "title": "EST Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.est.EstEnrollRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "requesterComment": {
            "readOnly": true
          },
          "password": {
            "readOnly": true
          },
          "profile": {
            "readOnly": true
          },
          "dn": {
            "description": "The DN of the challenge",
            "readOnly": true
          }
        }
      },
      "models.scep.ScepEnrollRequestOnApprove": {
        "title": "SCEP Enroll Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/models.scep.ScepEnrollRequestOnSubmit"
          }
        ],
        "properties": {
          "_id": {
            "readOnly": false
          },
          "approverComment": {
            "readOnly": false
          },
          "requesterComment": {
            "readOnly": true
          },
          "password": {
            "readOnly": true
          },
          "profile": {
            "readOnly": true
          },
          "dn": {
            "description": "The DN of the challenge",
            "readOnly": true
          }
        }
      },
      "Module": {
        "title": "Module",
        "type": "string",
        "description": "The module of the request",
        "example": "webra",
        "enum": [
          "webra",
          "est",
          "scep",
          "acme",
          "crmp"
        ]
      },
      "Workflow": {
        "title": "Workflow",
        "type": "string",
        "description": "The workflow of the request",
        "example": "enroll",
        "enum": [
          "enroll",
          "migrate",
          "revoke",
          "recover",
          "renew",
          "update"
        ]
      },
      "WebraMigrate006": {
        "title": "WEBRA-MIGRATE-006",
        "description": "Unable to validate pending migrate request. The certificate profile was modified and the request can only be canceled or denied",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-006"
            ]
          },
          "message": {
            "enum": [
              "Unable to validate pending migrate request. The certificate profile was modified and the request can only be canceled or denied"
            ]
          },
          "title": {
            "enum": [
              "Unable to validate pending migrate request. The certificate profile was modified and the request can only be canceled or denied"
            ]
          }
        }
      },
      "WebraImport002": {
        "title": "WEBRA-IMPORT-002",
        "description": "Unable to validate pending import request. The profile was modified and the request can only be canceled or denied",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-IMPORT-002"
            ]
          },
          "message": {
            "enum": [
              "Unable to validate pending import request. The profile was modified and the request can only be canceled or denied"
            ]
          },
          "title": {
            "enum": [
              "Unable to validate pending import request. The profile was modified and the request can only be canceled or denied"
            ]
          }
        }
      },
      "WebraMigrate002": {
        "title": "WEBRA-MIGRATE-002",
        "description": "Invalid Web Registration Authority Migrate Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Web Registration Authority Migrate Request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Web Registration Authority Migrate Request"
            ]
          }
        }
      },
      "WebraMigrate003": {
        "title": "WEBRA-MIGRATE-003",
        "description": "Missing Web Registration Authority Migrate Request Template on approved request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-003"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Migrate Request Template on approved request"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Migrate Request Template on approved request"
            ]
          }
        }
      },
      "WebraMigrate004": {
        "title": "WEBRA-MIGRATE-004",
        "description": "Missing Web Registration Authority Migrate Request Template on pending request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "WEBRA-MIGRATE-004"
            ]
          },
          "message": {
            "enum": [
              "Missing Web Registration Authority Migrate Request Template on pending request"
            ]
          },
          "title": {
            "enum": [
              "Missing Web Registration Authority Migrate Request Template on pending request"
            ]
          }
        }
      },
      "controllers.api.request.RequestSearchDictionary": {
        "properties": {
          "profiles": {
            "description": "The list of profiles the principal is authorized to search on",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateProfileSearchDictionaryLocalizedEntry"
            }
          },
          "teams": {
            "description": "The list of available teams on this Horizon instance",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/controllers.api.certificate.search.TeamSearchDictionaryLocalizedEntry"
            }
          },
          "labels": {
            "description": "The list of labels the principal is authorized to search on",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/controllers.api.certificate.search.CertificateLabelSearchDictionaryLocalizedEntry"
            }
          },
          "metadata": {
            "description": "The list of available metadata in Horizon",
            "type": "array",
            "example": [
              "pki_connector",
              "automation_policy",
              "..."
            ],
            "items": {
              "type": "string"
            }
          },
          "modules": {
            "description": "The list of Horizon modules available on this instance",
            "type": "array",
            "example": [
              "webra",
              "est",
              "..."
            ],
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "metadata"
        ]
      },
      "models.search.request.RequestSearchQuery": {
        "properties": {
          "query": {
            "description": "The HRQL query to use for the search, represents the way to filter requests. Filters nothing if not specified",
            "example": "request is not expired",
            "type": "string",
            "nullable": true
          },
          "fields": {
            "description": "The fields to be returned by the search. If this parameter is not specified, everything is returned by default. If this parameter is equal to an empty array, only the `_id` field is returned",
            "example": [
              "workflow",
              "profile",
              "registrationDate",
              "status",
              "_id",
              "module",
              "expirationDate"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "sortedBy": {
            "description": "The way to sort the search results",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.search.SortElement"
            }
          },
          "pageIndex": {
            "description": "The index of the page to retrieve",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "default": 1
          },
          "pageSize": {
            "description": "The maximum number of items to retrieve for one page",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "default": 50
          },
          "withCount": {
            "description": "Whether to return the total count of requests matching the HRQL query",
            "type": "boolean",
            "nullable": true,
            "default": false
          },
          "scope": {
            "description": "The scope of the search. `manage` only searches among requests that the currently logged in user has the rights to manage. `search` searches among all visible requests to the logged in user. `self` searches among requests that the currently logged in user or its team has issued",
            "type": "string",
            "nullable": true,
            "enum": [
              "manage",
              "search",
              "self"
            ],
            "x-enumDescriptions": {
              "manage": "Only search among requests that the currently logged in user has the right to manage",
              "search": "Search among all visible requests to the logged in user",
              "self": "Search among requests that the currently logged in user or its team has issued"
            }
          }
        }
      },
      "Profile": {
        "title": "Enrollment profile",
        "description": "Any profile configured for a protocol in Horizon",
        "type": "string",
        "example": "DefaultProfile"
      },
      "models.search.request.RequestPermissions": {
        "properties": {
          "approve": {
            "description": "Whether the principal can approve or deny the request (manage rights)",
            "type": "boolean",
            "nullable": true
          },
          "cancel": {
            "description": "Whether the principal can cancel the request (owner or team of the request)",
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "models.search.request.RequestSearchResult": {
        "properties": {
          "_id": {
            "description": "The ID of the request",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "module": {
            "$ref": "#/components/schemas/Module"
          },
          "workflow": {
            "$ref": "#/components/schemas/Workflow"
          },
          "status": {
            "$ref": "#/components/schemas/RequestStatus"
          },
          "profile": {
            "$ref": "#/components/schemas/Profile"
          },
          "requester": {
            "description": "The requester's principal identifier",
            "example": "jdoe",
            "readOnly": true,
            "type": "string"
          },
          "approver": {
            "description": "The approver's principal identifier",
            "example": "jdoe",
            "readOnly": true,
            "type": "string",
            "nullable": true
          },
          "team": {
            "description": "The team that will be assigned to this certificate. Teams are used to link certificates to people and to assign permissions to them",
            "example": "IT",
            "readOnly": true,
            "type": "string",
            "nullable": true
          },
          "contact": {
            "description": "The request's contact email",
            "example": "jdoe@example.org",
            "readOnly": true,
            "type": "string",
            "nullable": true
          },
          "requesterComment": {
            "type": "string",
            "description": "Free-text field editable by the requester to provider more context on the request",
            "example": "I need this certificate to access the VPN.",
            "nullable": true
          },
          "approverComment": {
            "readOnly": true,
            "description": "Free-text field editable by the approver to provider more context on the request",
            "example": "This certificate is for the VPN.",
            "type": "string",
            "nullable": true
          },
          "certificateId": {
            "description": "The id of the certificate in the request",
            "nullable": true,
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "certificate": {
            "description": "The certificate associated with the request",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.certificate.Certificate"
              }
            ]
          },
          "dn": {
            "description": "Associated certificate's Distinguished Name",
            "type": "string"
          },
          "registrationDate": {
            "description": "The date the request was created. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1683021380000
          },
          "lastModificationDate": {
            "description": "The date the request was last modified. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1683021380000
          },
          "expirationDate": {
            "description": "The date the request will expire. This is set by the system",
            "readOnly": true,
            "type": "integer",
            "format": "epoch",
            "example": 1683024980000
          },
          "holderId": {
            "description": "The computed holderID for this request. This is set by the system based on DN and SANs",
            "allOf": [
              {
                "$ref": "#/components/schemas/HolderId"
              }
            ]
          },
          "labels": {
            "description": "The labels set in this request",
            "readOnly": true,
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.label.LabelData"
            }
          },
          "metadata": {
            "description": "The metadata set in this request",
            "readOnly": true,
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadata"
            }
          },
          "permissions": {
            "description": "The permissions of the principal on this request.",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.search.request.RequestPermissions"
              }
            ]
          }
        },
        "required": [
          "_id",
          "status",
          "requester",
          "registrationDate",
          "lastModificationDate",
          "expirationDate",
          "removeAt",
          "module",
          "profile",
          "template",
          "workflow",
          "holderId",
          "permissions"
        ]
      },
      "controllers.api.request.RequestSearchResults": {
        "properties": {
          "results": {
            "description": "The list of requests matching the HRQL query",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/models.search.request.RequestSearchResult"
            }
          },
          "pageIndex": {
            "description": "The index of the results page",
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "pageSize": {
            "description": "The maximum number of items on this page",
            "type": "integer",
            "format": "int32",
            "example": 50
          },
          "count": {
            "description": "The total count of requests matching the HRQL query",
            "type": "integer",
            "format": "int32",
            "example": 50
          },
          "hasMore": {
            "type": "boolean",
            "description": "Indicates whether the response represents the last page of results (if set to `false`) or not (if set to `true`)"
          }
        },
        "required": [
          "results",
          "pageIndex",
          "pageSize",
          "hasMore"
        ]
      },
      "Req006": {
        "title": "REQ-006",
        "description": "Invalid Request Search Query",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-006"
            ]
          },
          "message": {
            "enum": [
              "Invalid Request Search Query"
            ]
          },
          "title": {
            "enum": [
              "Invalid Request Search Query"
            ]
          }
        }
      },
      "models.search.request.RequestAggregateQuery": {
        "properties": {
          "query": {
            "description": "The HRQL query to use for the search, represents the way to filter requests. If not specified, it will filter nothing",
            "example": "status equals \"pending\"",
            "type": "string",
            "nullable": true
          },
          "groupBy": {
            "description": "The field that the aggregation will take place on",
            "example": "workflow",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "withCount": {
            "description": "If set to `true`, the total count of requests matching the HRQL 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 requests in them can be kept for example",
            "nullable": true,
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/models.search.Having"
              }
            ]
          },
          "scope": {
            "description": "The scope of the aggregate. `manage` only aggregates among requests that the currently logged in user has the rights to manage. `search` aggregates among all visible requests to the logged in user. `self` aggregates among requests that the currently logged in user or its team has issued",
            "type": "string",
            "nullable": true,
            "enum": [
              "manage",
              "search",
              "self"
            ],
            "x-enumDescriptions": {
              "manage": "Only search among requests that the currently logged in user has the right to manage",
              "search": "Search among all visible requests to the logged in user",
              "self": "Search among requests that the currently logged in user or its team has issued"
            }
          }
        }
      },
      "models.search.request.RequestAggregateResult": {
        "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": "enroll",
                      "description": "This field has the requested aggregate field as key, and the value for this group as value"
                    }
                  }
                },
                "count": {
                  "description": "The number of requests in this group",
                  "type": "integer",
                  "example": 6
                }
              }
            }
          },
          "count": {
            "description": "The total number of requests matching the query",
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "example": 6
          }
        },
        "required": [
          "items"
        ]
      },
      "Req008": {
        "title": "REQ-008",
        "description": "Invalid Request Aggregate Query",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "REQ-008"
            ]
          },
          "message": {
            "enum": [
              "Invalid Request Aggregate Query"
            ]
          },
          "title": {
            "enum": [
              "Invalid Request Aggregate Query"
            ]
          }
        }
      },
      "models.discovery.campaign.DiscoveryCampaignAuthorizationLevels": {
        "properties": {
          "search": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ],
            "description": "The authorization level required to search the discovered certificates of this campaign"
          },
          "feed": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.access.AuthorizationLevel"
              }
            ],
            "description": "The authorization level required to feed certificates into this discovery campaign"
          }
        },
        "required": [
          "search",
          "feed"
        ]
      },
      "models.discovery.campaign.DiscoveryCampaign": {
        "properties": {
          "_id": {
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the discovery campaign",
            "example": "DiscoveryDMZ01"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the discovery campaign",
            "example": "Discovery campaign that scans the DMZ 01"
          },
          "authorizationLevels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.discovery.campaign.DiscoveryCampaignAuthorizationLevels"
              }
            ],
            "description": "The authorization levels of the discovery campaign"
          },
          "eventOnSuccess": {
            "type": "boolean",
            "description": "Whether to log a Horizon event in case of success",
            "example": false
          },
          "eventOnWarning": {
            "type": "boolean",
            "description": "Whether to log a Horizon event in case of warning",
            "example": false
          },
          "eventOnFailure": {
            "type": "boolean",
            "description": "Whether to log a Horizon event in case of failure",
            "example": true
          },
          "hosts": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The hosts to be scanned by the discovery campaign",
            "example": [
              "horizon.evertrust.fr"
            ]
          },
          "ports": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The ports to be scanned by the discovery campaign",
            "example": [
              443
            ],
            "default": [
              25,
              443,
              8443,
              689
            ]
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the discovery campaign is enabled, i.e. whether it can be fed",
            "example": true
          },
          "gradingPolicies": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The grading policies to apply to grade the discovered certificates on this campaign",
            "example": [
              "Horizon-Grading-Policy"
            ]
          }
        },
        "required": [
          "_id",
          "name",
          "authorizationLevels",
          "eventOnSuccess",
          "eventOnWarning",
          "eventOnFailure",
          "enabled"
        ]
      },
      "DiscCamp001": {
        "title": "DISC-CAMP-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "DISC-CAMP-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        }
      },
      "DiscCamp002": {
        "title": "DISC-CAMP-002",
        "description": "Invalid discovery campaign",
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "DISC-CAMP-002"
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "Invalid discovery campaign"
            ]
          }
        }
      },
      "DiscCamp003": {
        "title": "DISC-CAMP-003",
        "description": "Discovery campaign not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "DISC-CAMP-003"
            ]
          },
          "message": {
            "enum": [
              "Discovery campaign not found"
            ]
          },
          "title": {
            "enum": [
              "Discovery campaign not found"
            ]
          }
        }
      },
      "DiscCamp004": {
        "title": "DISC-CAMP-004",
        "description": "Discovery campaign already exists",
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "DISC-CAMP-004"
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "Discovery campaign already exists"
            ]
          }
        }
      },
      "models.discovery.event.DiscoveryEvent": {
        "properties": {
          "_id": {
            "type": "string",
            "description": "The MongoDB ObjectID of the event",
            "readOnly": true,
            "example": "5f5f9b3b9b0b1d0001c3b0a0"
          },
          "code": {
            "type": "string",
            "enum": [
              "NETSCAN",
              "IMPORTSCAN-UPDATE",
              "NETSCAN-UPDATE",
              "IMPORTSCAN-REGISTER",
              "LOCALIMPORT-REGISTER",
              "LOCALSCAN-UPDATE",
              "ACME-UPDATE",
              "WEBRA-UPDATE",
              "LOCALIMPORT",
              "WEBRA-REGISTER",
              "SESSION-START",
              "NETIMPORT-REGISTER",
              "ACME-REGISTER",
              "EST-REGISTER",
              "NETIMPORT-UPDATE",
              "SESSION-END",
              "WEBRA",
              "LOCALIMPORT-UPDATE",
              "EST",
              "IMPORTSCAN",
              "LOCALSCAN",
              "NETSCAN-REGISTER",
              "ACME",
              "NETIMPORT",
              "EST-UPDATE",
              "UNKNOWN",
              "LOCALSCAN-REGISTER"
            ],
            "description": "The code of the event to raise in the discovery events",
            "example": "NETSCAN"
          },
          "campaign": {
            "type": "string",
            "description": "The name of the discovery campaign concerned by the event",
            "example": "Discovery-DMZ01"
          },
          "sessionId": {
            "nullable": true,
            "type": "string",
            "description": "The ID of the discovery feed session",
            "example": "63fce2e13000003c008797c4"
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "warning",
              "failure"
            ],
            "description": "The type of event to raise",
            "example": "failure"
          },
          "errorCode": {
            "type": "string",
            "nullable": true,
            "description": "The error code of the event",
            "example": "DISC-FEED-002"
          },
          "errorMessage": {
            "type": "string",
            "nullable": true,
            "description": "The error message of the event",
            "example": "Invalid Discovery Feed"
          },
          "timestamp": {
            "type": "integer",
            "format": "epoch",
            "nullable": true,
            "description": "When did the event occur (Unix timestamp in milliseconds)",
            "example": 1600050000000
          },
          "removeAt": {
            "nullable": true,
            "type": "integer",
            "format": "epoch"
          },
          "clientVersion": {
            "type": "string",
            "nullable": true,
            "description": "The version of the discovery client that raised the event",
            "example": "Horizon Client/1.6"
          },
          "clientIp": {
            "type": "string",
            "nullable": true,
            "description": "The IP of the machine where the Horizon client is running from",
            "example": "127.0.0.1"
          },
          "clientId": {
            "type": "string",
            "nullable": true,
            "example": "28fd6b8ec75ce39029509c3e76ecd3c0bb160776df89a4a12f4a097862268721"
          },
          "actorId": {
            "type": "string",
            "nullable": true,
            "example": "horizon-client",
            "description": "The identifier of the principal that was used when the event was raised"
          },
          "certificateId": {
            "nullable": true,
            "type": "string",
            "description": "The ID of the certificate concerned by the event (in Horizon)",
            "example": "5f5f9b3b9b0b1d0311c3b0a2"
          },
          "hostname": {
            "type": "string",
            "nullable": true,
            "description": "The hostname concerned by the event",
            "example": "horizon.evertrust.fr"
          },
          "ip": {
            "type": "string",
            "nullable": true,
            "description": "The IP address concerned by the event",
            "example": "127.0.0.1"
          },
          "port": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The TCP port concerned by the event",
            "example": 443
          },
          "source": {
            "type": "string",
            "nullable": true,
            "description": "The type of discovery that raised the event",
            "example": "netscan"
          }
        },
        "required": [
          "_id",
          "code",
          "campaign",
          "status"
        ]
      },
      "DiscEvt003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Discovery event not found",
        "properties": {
          "error": {
            "enum": [
              "DISC-EVT-003"
            ]
          },
          "message": {
            "enum": [
              "Discovery event not found"
            ]
          },
          "title": {
            "enum": [
              "Discovery event not found"
            ]
          }
        },
        "title": "DISC-EVT-003"
      },
      "controllers.api.discovery.feed.DiscoveryFeedSession": {
        "properties": {
          "id": {
            "readOnly": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "campaign": {
            "type": "string",
            "description": "The name of the discovery campaign the feed session belongs to",
            "example": "Discovery-DMZ01"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the discovery feed session",
            "example": "Discovery feed session for DMZ01"
          },
          "eventOnSuccess": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether to generate an event on success (defaults to the campaign setting)",
            "example": false
          },
          "eventOnWarning": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether to generate an event on warning (defaults to the campaign setting)",
            "example": false
          },
          "eventOnFailure": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether to generate an event on failure (defaults to the campaign setting)",
            "example": true
          },
          "hosts": {
            "type": "array",
            "nullable": true,
            "description": "The hosts on which the discovery campaign takes place",
            "items": {
              "type": "string"
            }
          },
          "ports": {
            "description": "The ports on which the discovery campaign takes place",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer"
            },
            "required": [
              "id",
              "campaign"
            ]
          }
        }
      },
      "DiscFeed001": {
        "title": "DISC-FEED-001",
        "description": "Unexpected error",
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "DISC-FEED-001"
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "Unexpected error"
            ]
          }
        }
      },
      "DiscFeed004": {
        "title": "DISC-FEED-004",
        "description": "Invalid Discovery Feed",
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "DISC-FEED-004"
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "Invalid Discovery Feed"
            ]
          }
        }
      },
      "controllers.api.discovery.feed.DiscoveryFeed": {
        "properties": {
          "campaign": {
            "type": "string",
            "description": "The name of the discovery campaign to feed into",
            "example": "Discovery-DMZ01"
          },
          "sessionId": {
            "nullable": true,
            "type": "string",
            "description": "The ID of the previously opened discovery feed session",
            "example": "5f7b1b3b9b0b1d0001b9b0b1"
          },
          "code": {
            "type": "string",
            "nullable": true,
            "enum": [
              "NETSCAN",
              "IMPORTSCAN-UPDATE",
              "NETSCAN-UPDATE",
              "IMPORTSCAN-REGISTER",
              "LOCALIMPORT-REGISTER",
              "LOCALSCAN-UPDATE",
              "ACME-UPDATE",
              "WEBRA-UPDATE",
              "LOCALIMPORT",
              "WEBRA-REGISTER",
              "SESSION-START",
              "NETIMPORT-REGISTER",
              "ACME-REGISTER",
              "EST-REGISTER",
              "NETIMPORT-UPDATE",
              "SESSION-END",
              "WEBRA",
              "LOCALIMPORT-UPDATE",
              "EST",
              "IMPORTSCAN",
              "LOCALSCAN",
              "NETSCAN-REGISTER",
              "ACME",
              "NETIMPORT",
              "EST-UPDATE",
              "UNKNOWN",
              "LOCALSCAN-REGISTER"
            ],
            "description": "The code of the event to raise in the discovery events",
            "example": "NETSCAN-REGISTER"
          },
          "certificate": {
            "type": "string",
            "description": "The PEM-encoded certificate to feed the discovery campaign with",
            "example": "-----BEGIN CERTIFICATE-----..."
          },
          "hostDiscoveryData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.discovery.HostDiscoveryData"
              }
            ],
            "description": "The host discovery data to feed the discovery campaign with (discovery metadata)"
          },
          "metadata": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.certificate.CertificateMetadata"
            },
            "description": "The list of certificate metadata to feed the discovery campaign with"
          },
          "privateKey": {
            "nullable": true,
            "type": "string",
            "format": "PKCS#8 PEM encoded",
            "description": "The PEM-encoded private key to feed the discovery campaign with",
            "example": "-----BEGIN PRIVATE KEY-----..."
          }
        },
        "required": [
          "campaign",
          "certificate",
          "hostDiscoveryData"
        ]
      },
      "DiscFeed002": {
        "title": "DISC-FEED-002",
        "description": "Invalid Discovery Feed",
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "DISC-FEED-002"
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "Invalid Discovery Feed"
            ]
          }
        }
      },
      "DiscFeed003": {
        "title": "DISC-FEED-003",
        "description": "Invalid Discovery feed session",
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "DISC-FEED-003"
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "Invalid Discovery feed session"
            ]
          }
        }
      },
      "models.security.identity.Identity": {
        "title": "Identity",
        "description": "The principal's identity",
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The principal's identifier",
            "example": "administrator"
          },
          "email": {
            "type": "string",
            "nullable": true,
            "description": "The principal's e-mail",
            "example": "administrator@horizon.evertrust.fr"
          },
          "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"
        ]
      },
      "models.security.principal.Principal": {
        "title": "Principal",
        "properties": {
          "identity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.identity.Identity"
              }
            ]
          },
          "permissions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.security.permission.Permission"
            },
            "description": "The permissions of the principal"
          },
          "roles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.security.role.Role"
            },
            "description": "The roles of the principal",
            "example": [
              "SuperAdmin",
              "WebRA_Approver"
            ]
          },
          "teams": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The teams of the principal",
            "example": [
              "WinHorizon",
              "PKIOps"
            ]
          },
          "preferences": {
            "type": "object",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/models.security.principal.PrincipalInfoPreferences"
              }
            ],
            "description": "The UI preferences of the principal"
          },
          "customDashboards": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/models.dashboard.Dashboard"
            },
            "description": "The custom dashboards of the principal"
          }
        },
        "required": [
          "identity"
        ]
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Lifecycle APIs",
      "tags": [
        "api.certificate",
        "api.request"
      ]
    },
    {
      "name": "Identity management",
      "tags": [
        "api.security.identity.local",
        "api.security.identity.provider",
        "api.security.passwordpolicy",
        "api.security.principal",
        "api.security.principalinfo",
        "api.security.role",
        "api.security.team"
      ]
    },
    {
      "name": "Discovery APIs",
      "tags": [
        "api.discovery.campaign",
        "api.discovery.feed"
      ]
    },
    {
      "name": "Configuration APIs",
      "tags": [
        "api.ca",
        "api.trustchain",
        "api.cache",
        "api.pki.queue",
        "api.pki.connector",
        "api.security.credentials",
        "api.trigger",
        "api.certificate.profile",
        "api.thirdparty.connector",
        "api.wcce",
        "api.http.httpproxy",
        "api.system.configuration",
        "api.event",
        "api.discovery.event",
        "api.certificate.label",
        "api.certificate.grading.policy",
        "api.certificate.grading.ruleset",
        "api.adoc",
        "api.license"
      ]
    },
    {
      "name": "Utility APIs",
      "tags": [
        "api.templatestring",
        "api.rfc5280"
      ]
    }
  ]
}