User Documentation

OpenAPI definition

HTML
{
  "x-generator": "NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "Identity, Credential and Access Provider (ICAP)",
    "description": "For a comprehensive explanation and illustrative examples, please consult the <a target=\"_blank\" href=\"#\">user documentation</a>.",
    "version": "1.0.0"
  },
  "servers": [

  ],
  "paths": {
    "/icap/v1/tenant/{tenantId}/health": {
      "get": {
        "tags": [
          "Health"
        ],
        "description": "Provides a simple health status of the application, indicating whether the service \nis operational or not. Useful for monitoring and uptime verification.",
        "operationId": "GetIcapV1TenantHealth",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "503": {
            "description": ""
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "description": "Retrieves a specific tenant.<br><br>Required Permissions: `TenantGet`",
        "operationId": "GetTenant",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Tenant"
        ],
        "description": "Updates a tenant.<br><br>Required Permissions: `TenantUpdate`",
        "operationId": "UpdateTenant",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfTenant"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/statistics": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "description": "Retrieves statistics of tenant usage.<br><br>Required Permissions: `TenantStatisticsGet`",
        "operationId": "GetTenantStatistics",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantStatisticsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pacsTransaction": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "description": "Lists PACS transactions.<br><br>Required Permissions: `PacsTransactionList`",
        "operationId": "ListPacsTransactions",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pacsId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "relatedEntityId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "operation",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PacsTransactionOperation"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfPacsTransaction"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/features": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "description": "Retrieves the features enabled for the tenant.<br><br>Required Permissions: `TenantFeaturesGet`",
        "operationId": "GetTenantFeatures",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantFeatures"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Tenant"
        ],
        "description": "Updates the features enabled for the tenant.<br><br>Required Permissions: `TenantFeaturesUpdate`",
        "operationId": "UpdateTenantFeatures",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfTenantFeatures"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantFeatures"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pacs": {
      "post": {
        "tags": [
          "PACS"
        ],
        "description": "Registers a new PACS.<br><br>Required Permissions: `PacsRegister`",
        "operationId": "RegisterPacs",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterPacsRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pacs"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "PACS"
        ],
        "description": "Lists all PACSes.<br><br>Required Permissions: `PacsList`",
        "operationId": "ListPacses",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfPacs"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pacs/{pacsId}": {
      "get": {
        "tags": [
          "PACS"
        ],
        "description": "Retrieves a specific PACS.<br><br>Required Permissions: `PacsGet`",
        "operationId": "GetPacs",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "pacsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pacs"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "PACS"
        ],
        "description": "Updates the PACS.<br><br>Required Permissions: `PacsUpdate`",
        "operationId": "UpdatePacs",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "pacsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfPacs"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "PACS"
        ],
        "description": "Deregisters the PACS.<br><br>Required Permissions: `PacsDeregister`",
        "operationId": "DeregisterPacs",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "pacsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pacs/{pacsId}/accessUnit": {
      "get": {
        "tags": [
          "PACS"
        ],
        "description": "Retrieves a list of access units from specific PACS.<br><br>Required Permissions: `PacsCardFormatList`",
        "operationId": "ListPacsAccessUnits",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "pacsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "eligibleFor",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DesignationType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfAccessUnitResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pacs/{pacsId}/cardFormat": {
      "get": {
        "tags": [
          "PACS"
        ],
        "description": "Retrieves a list of card formats from specific PACS.<br><br>Required Permissions: `PacsCardFormatList`",
        "operationId": "ListPacsCardFormats",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "pacsId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "eligibleFor",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DesignationType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetCredentialFormatsResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity": {
      "post": {
        "tags": [
          "Identity"
        ],
        "description": "Creates a new identity.<br><br>Required Permissions: `IdentityCreate`",
        "operationId": "CreateIdentity",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIdentityRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Identity"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Identity"
        ],
        "description": "Lists all identities.<br><br>Required Permissions: `IdentityList`",
        "operationId": "ListIdentities",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "externalIds",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfIdentity"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}": {
      "get": {
        "tags": [
          "Identity"
        ],
        "description": "Retrieves a specific identity.<br><br>Required Permissions: `IdentityGet`",
        "operationId": "GetIdentity",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Identity"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Identity"
        ],
        "description": "Updates identity.<br><br>Required Permissions: `IdentityUpdate`",
        "operationId": "UpdateIdentity",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfIdentity"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Identity"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Identity"
        ],
        "description": "Removes identity.<br><br>Required Permissions: `IdentityRemove`",
        "operationId": "RemoveIdentity",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/purge": {
      "post": {
        "tags": [
          "Identity"
        ],
        "description": "Purges identity.<br><br>Required Permissions: `IdentityPurge`",
        "operationId": "PurgeIdentity",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/share": {
      "post": {
        "tags": [
          "Identity"
        ],
        "description": "Shares the identity data to another tenant.<br><br>Required Permissions: `IdentityShare`",
        "operationId": "ShareIdentity",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 4
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePersonalOutgoingPersonalOutgoingShareRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalOutgoingShare"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/credential": {
      "post": {
        "tags": [
          "Identity Credentials"
        ],
        "description": "Assigns a credential to the identity.<br><br>Required Permissions: `IdentityCredentialAssign`",
        "operationId": "AssignIdentityCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCredentialAssignmentRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssignmentResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Identity Credentials"
        ],
        "description": "Retrieves a list of all identity credential assignments.<br><br>Required Permissions: `IdentityCredentialList`",
        "operationId": "ListIdentityCredentials",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "credentialType",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CredentialType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfCredentialAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/credential/{credentialId}": {
      "delete": {
        "tags": [
          "Identity Credentials"
        ],
        "description": "Removes a credential from the identity.<br><br>Required Permissions: `IdentityCredentialRemove`",
        "operationId": "RemoveIdentityCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/accessUnit": {
      "post": {
        "tags": [
          "Identity Access"
        ],
        "description": "Assigns an access unit to the identity.<br><br>Required Permissions: `IdentityAccessUnitAssign`",
        "operationId": "AssignIdentityAccess",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccessUnitAssignmentRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAccessUnitAssignmentResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Identity Access"
        ],
        "description": "Retrieves a list of all identity access unit assignments.<br><br>Required Permissions: `IdentityAccessUnitList`",
        "operationId": "ListIdentityAccess",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfEntityAccessUnitAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/accessUnit/{accessUnitId}": {
      "delete": {
        "tags": [
          "Identity Access"
        ],
        "description": "Removes an access unit from the identity.<br><br>Required Permissions: `IdentityAccessUnitRemove`",
        "operationId": "RemoveIdentityAccess",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "accessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/identity/{identityId}/photoRequest": {
      "post": {
        "tags": [
          "Identity Photo"
        ],
        "description": "Creates new request to obtain the photo from end-user.<br><br>Required Permissions: `IdentityPhotoRequestCreate`",
        "operationId": "CreateIdentityPhotoRequest",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIdentityPhotoRequestRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhotoRequest"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Identity Photo"
        ],
        "description": "Retrieves existing request to obtain the photo from end-user.<br><br>Required Permissions: `IdentityPhotoRequestDelete`",
        "operationId": "GetIdentityPhotoRequest",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhotoRequest"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Identity Photo"
        ],
        "description": "Removes/cancels the request to obtain the photo from end-user.<br><br>Required Permissions: `IdentityPhotoRequestDelete`",
        "operationId": "RemoveIdentityPhotoRequest",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "identityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor": {
      "post": {
        "tags": [
          "Visitor"
        ],
        "description": "Creates a new visitor.<br><br>Required Permissions: `VisitorCreate`",
        "operationId": "CreateVisitor",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "personRequest",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVisitorPersonRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Visitor"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visitor"
        ],
        "description": "Lists all visitors.<br><br>Required Permissions: `VisitorList`",
        "operationId": "ListVisitors",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "externalIds",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfVisitor"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor/{visitorId}": {
      "get": {
        "tags": [
          "Visitor"
        ],
        "description": "Retrieves a specific visitor.<br><br>Required Permissions: `VisitorGet`",
        "operationId": "GetVisitor",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Visitor"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Visitor"
        ],
        "description": "Updates visitor.<br><br>Required Permissions: `VisitorUpdate`",
        "operationId": "UpdateVisitor",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfVisitor"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Visitor"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Visitor"
        ],
        "description": "Removes visitor.<br><br>Required Permissions: `VisitorRemove`",
        "operationId": "RemoveVisitor",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor/{visitorId}/purge": {
      "post": {
        "tags": [
          "Visitor"
        ],
        "description": "Purges visitor.<br><br>Required Permissions: `VisitorPurge`",
        "operationId": "PurgeVisitor",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor/{visitorId}/visit": {
      "get": {
        "tags": [
          "Visitor"
        ],
        "description": "Retrieves a list of all visit assignments where the visitor is participating.<br><br>Required Permissions: `VisitListVisits`",
        "operationId": "ListVisitorVisits",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/VisitorStatus"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfVisitorAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor/{visitorId}/share": {
      "post": {
        "tags": [
          "Visitor"
        ],
        "description": "Shares the visitor data to another tenant.<br><br>Required Permissions: `VisitorShare`",
        "operationId": "ShareVisitor",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 4
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePersonalOutgoingPersonalOutgoingShareRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalOutgoingShare"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor/{visitorId}/photoRequest": {
      "post": {
        "tags": [
          "Visitor Photo"
        ],
        "description": "Creates new request to obtain the photo from end-user.<br><br>Required Permissions: `VisitorPhotoRequestCreate`",
        "operationId": "CreateVisitorPhotoRequest",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVisitorPhotoRequestRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhotoRequest"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visitor Photo"
        ],
        "description": "Retrieves existing request to obtain the photo from end-user.<br><br>Required Permissions: `VisitorPhotoRequestGet`",
        "operationId": "GetVisitorPhotoRequest",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhotoRequest"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Visitor Photo"
        ],
        "description": "Removes/cancels the request to obtain the photo from end-user.<br><br>Required Permissions: `VisitorPhotoRequestDelete`",
        "operationId": "RemoveVisitorPhotoRequest",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visitor/{visitorId}/credential": {
      "get": {
        "tags": [
          "Visitor Credentials"
        ],
        "description": "Retrieves a list of all visitor credential assignments.<br><br>Required Permissions: `VisitorCredentialList`",
        "operationId": "ListVisitorCredentials",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "credentialType",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CredentialType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfCredentialAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit": {
      "post": {
        "tags": [
          "Visit"
        ],
        "description": "Creates a new visit.<br><br>Required Permissions: `VisitCreate`",
        "operationId": "CreateVisit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVisitRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Visit"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visit"
        ],
        "description": "Lists all visits.<br><br>Required Permissions: `VisitList`",
        "operationId": "ListVisits",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "externalIds",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfVisit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}": {
      "get": {
        "tags": [
          "Visit"
        ],
        "description": "Retrieves a specific visit.<br><br>Required Permissions: `VisitGet`",
        "operationId": "GetVisit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Visit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Visit"
        ],
        "description": "Updates visit.<br><br>Required Permissions: `VisitUpdate`",
        "operationId": "UpdateVisit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfVisit"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Visit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Visit"
        ],
        "description": "Removes visit.<br><br>Required Permissions: `VisitRemove`",
        "operationId": "RemoveVisit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/visitor": {
      "post": {
        "tags": [
          "Visit Participants"
        ],
        "description": "Assigns a visitor to the visit.<br><br>Required Permissions: `VisitAssignVisitor`",
        "operationId": "AssignVisitParticipant",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVisitorAssignmentRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VisitorAssignmentResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visit Participants"
        ],
        "description": "Retrieves a list of all visitor assignments of the the visit.<br><br>Required Permissions: `VisitListVisitors`",
        "operationId": "ListVisitParticipants",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/VisitorStatus"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfVisitorAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/visitor/{visitorId}/checkIn": {
      "post": {
        "tags": [
          "Visit Participants"
        ],
        "description": "Checks in visitor in scope of the visit.<br><br>Required Permissions: `VisitCheckInVisitor`",
        "operationId": "CheckInVisitParticipant",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VisitorAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/visitor/{visitorId}/checkOut": {
      "post": {
        "tags": [
          "Visit Participants"
        ],
        "description": "Checks out visitor in scope of the visit.<br><br>Required Permissions: `VisitCheckOutVisitor`",
        "operationId": "CheckOutVisitParticipant",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VisitorAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/visitor/{visitorId}": {
      "delete": {
        "tags": [
          "Visit Participants"
        ],
        "description": "Removes a visitor assignment from the visit.<br><br>Required Permissions: `VisitRemoveVisitor`",
        "operationId": "RemoveVisitParticipant",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/visitor/{visitorId}/credential": {
      "post": {
        "tags": [
          "Visit Participant Credentials"
        ],
        "description": "Assigns a credential to the visit participant.<br><br>Required Permissions: `VisitorCredentialAssign`",
        "operationId": "AssignVisitParticipantCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCredentialAssignmentRequest"
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssignmentResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visit Participant Credentials"
        ],
        "description": "Retrieves a list of all visit participant credential assignments.<br><br>Required Permissions: `VisitorCredentialList`",
        "operationId": "ListVisitParticipantCredentials",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "credentialType",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CredentialType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfCredentialAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/visitor/{visitorId}/credential/{credentialId}": {
      "delete": {
        "tags": [
          "Visit Participant Credentials"
        ],
        "description": "Removes a credential from the visit participant.<br><br>Required Permissions: `VisitorCredentialRemove`",
        "operationId": "RemoveVisitParticipantCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "visitorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 4
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/accessUnit": {
      "post": {
        "tags": [
          "Visit Access"
        ],
        "description": "Assigns an access unit to the visit.<br><br>Required Permissions: `VisitAccessUnitAssign`",
        "operationId": "AssignVisitAccess",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccessUnitAssignmentRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAccessUnitAssignmentResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Visit Access"
        ],
        "description": "Retrieves a list of all visit access unit assignments.<br><br>Required Permissions: `VisitAccessUnitList`",
        "operationId": "ListVisitAccess",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfEntityAccessUnitAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/visit/{visitId}/accessUnit/{accessUnitId}": {
      "delete": {
        "tags": [
          "Visit Access"
        ],
        "description": "Removes an access unit from the visit.<br><br>Required Permissions: `VisitAccessUnitRemove`",
        "operationId": "RemoveVisitAccess",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "visitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "accessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/extensionFieldDefinition": {
      "post": {
        "tags": [
          "Extension Field Definition"
        ],
        "description": "Creates a new extension field definition.<br><br>Required Permissions: `ExtensionFieldDefinitionCreate`",
        "operationId": "CreateExtensionFieldDefinition",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExtensionFieldDefinitionRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionFieldDefinition"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Extension Field Definition"
        ],
        "description": "Lists extension field definitions.<br><br>Required Permissions: `ExtensionFieldDefinitionList`",
        "operationId": "ListExtensionFieldDefinitions",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfExtensionFieldDefinition"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/extensionFieldDefinition/{efDefinitionId}": {
      "get": {
        "tags": [
          "Extension Field Definition"
        ],
        "description": "Retrieves an extension field definition.<br><br>Required Permissions: `ExtensionFieldDefinitionGet`",
        "operationId": "GetExtensionFieldDefinition",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "efDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionFieldDefinition"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Extension Field Definition"
        ],
        "description": "Updates an extension field definition.<br><br>Required Permissions: `ExtensionFieldDefinitionUpdate`",
        "operationId": "UpdateExtensionFieldDefinition",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "efDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfExtensionFieldDefinition"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionFieldDefinition"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected, or operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Extension Field Definition"
        ],
        "description": "Removes an extension field definition.<br><br>Required Permissions: `ExtensionFieldDefinitionRemove`",
        "operationId": "RemoveExtensionFieldDefinition",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "efDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/accessUnit": {
      "post": {
        "tags": [
          "Access Unit"
        ],
        "description": "Creates a new access unit.<br><br>Required Permissions: `AccessUnitCreate`",
        "operationId": "CreateAccessUnit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccessUnitRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessUnit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Access Unit"
        ],
        "description": "Lists all access units.<br><br>Required Permissions: `AccessUnitList`",
        "operationId": "ListAccessUnits",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pacsId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "eligibleFor",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DesignationType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfAccessUnit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/accessUnit/{accessUnitId}": {
      "get": {
        "tags": [
          "Access Unit"
        ],
        "description": "Retrieves a specific access unit.<br><br>Required Permissions: `AccessUnitGet`",
        "operationId": "GetAccessUnit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "accessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessUnit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Access Unit"
        ],
        "description": "Updates access unit.<br><br>Required Permissions: `AccessUnitUpdate`",
        "operationId": "UpdateAccessUnit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "accessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfAccessUnit"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessUnit"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Access Unit"
        ],
        "description": "Removes access unit.<br><br>Required Permissions: `AccessUnitRemove`",
        "operationId": "RemoveAccessUnit",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "accessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/accessUnit/{accessUnitId}/assignment": {
      "get": {
        "tags": [
          "Access Unit"
        ],
        "description": "Lists all access unit assignments.<br><br>Required Permissions: `AccessUnitAssignmentList`",
        "operationId": "ListAccessUnitAssignments",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "accessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "assignmentType",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/AccessUnitAssignmentType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfAccessUnitAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/cardType": {
      "post": {
        "tags": [
          "Card Type"
        ],
        "description": "Creates a new card type.<br><br>Required Permissions: `CardTypeCreate`",
        "operationId": "CreateCardType",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCardTypeRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardType"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Card Type"
        ],
        "description": "Lists all card types.<br><br>Required Permissions: `CardTypeList`",
        "operationId": "ListCardTypes",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "eligibleFor",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DesignationType"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfCardType"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/cardType/{cardTypeId}": {
      "get": {
        "tags": [
          "Card Type"
        ],
        "description": "Retrieves a specific card type.<br><br>Required Permissions: `CardTypeGet`",
        "operationId": "GetCardType",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "cardTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardType"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Card Type"
        ],
        "description": "Updates the card type.<br><br>Required Permissions: `CardTypeUpdate`",
        "operationId": "UpdateCardType",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "cardTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfCardType"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardType"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Card Type"
        ],
        "description": "Removes the card type.<br><br>Required Permissions: `CardTypeRemove`",
        "operationId": "RemoveCardType",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "cardTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/cardCredential": {
      "post": {
        "tags": [
          "Card Credential"
        ],
        "description": "Creates a new card credential. Actual constraints for the cardId and facilityId are defined on [Card Type](#/Card%20Type).<br><br>Required Permissions: `CardCredentialCreate`",
        "operationId": "CreateCardCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCardCredentialRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Card Credential"
        ],
        "description": "Lists all card credentials.<br><br>Required Permissions: `CardCredentialList`",
        "operationId": "ListCardCredentials",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "externalIds",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "eligibleFor",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DesignationType"
                }
              ]
            }
          },
          {
            "name": "cardTypeId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfCardCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/cardCredential/{credentialId}": {
      "get": {
        "tags": [
          "Card Credential"
        ],
        "description": "Retrieves a card credential.<br><br>Required Permissions: `CardCredentialGet`",
        "operationId": "GetCardCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Card Credential"
        ],
        "description": "Updates card credential.<br><br>Required Permissions: `CardCredentialUpdate`",
        "operationId": "UpdateCardCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfCredential"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Card Credential"
        ],
        "description": "Removes card credential.<br><br>Required Permissions: `CardCredentialRemove`",
        "operationId": "RemoveCardCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/cardCredential/{credentialId}/assignment": {
      "get": {
        "tags": [
          "Card Credential"
        ],
        "description": "Retrieves a card credential assignment.<br><br>Required Permissions: `CardCredentialGet`",
        "operationId": "GetCardCredentialAssignment",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssignmentResponse"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pinCredential": {
      "post": {
        "tags": [
          "PIN Credential"
        ],
        "description": "Creates a new PIN credential.<br><br>Required Permissions: `PinCredentialCreate`",
        "operationId": "CreatePinCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePinCredentialRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "PIN Credential"
        ],
        "description": "Lists all PIN credentials.<br><br>Required Permissions: `PinCredentialList`",
        "operationId": "ListPinCredentials",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "externalIds",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfPinCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pinCredential/{credentialId}": {
      "get": {
        "tags": [
          "PIN Credential"
        ],
        "description": "Retrieves a PIN credential.<br><br>Required Permissions: `PinCredentialGet`",
        "operationId": "GetPinCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "PIN Credential"
        ],
        "description": "Updates PIN credential.<br><br>Required Permissions: `PinCredentialUpdate`",
        "operationId": "UpdatePinCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfCredential"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinCredential"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "PIN Credential"
        ],
        "description": "Removes PIN credential.<br><br>Required Permissions: `PinCredentialRemove`",
        "operationId": "RemovePinCredential",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/pinCredential/{credentialId}/assignment": {
      "get": {
        "tags": [
          "PIN Credential"
        ],
        "description": "Retrieves a PIN credential assignment.<br><br>Required Permissions: `PinCredentialGet`",
        "operationId": "GetPinCredentialAssignment",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssignmentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/permission": {
      "get": {
        "tags": [
          "Role"
        ],
        "description": "Lists all permissions available. Permissions define what actions can be performed within the system.<br><br>Required Permissions: `None`",
        "operationId": "ListPermissions",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPermissionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/role": {
      "post": {
        "tags": [
          "Role"
        ],
        "description": "Creates a new role for a specific tenant.<br><br>Required Permissions: `RoleCreate`",
        "operationId": "CreateRole",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoleRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Role"
        ],
        "description": "Retrieves a list of all roles available for a tenant.<br><br>Required Permissions: `RoleList`",
        "operationId": "ListRoles",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfRole"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/role/{roleId}": {
      "get": {
        "tags": [
          "Role"
        ],
        "description": "Retrieves details of a specific role within a tenant, including its permissions.<br><br>Required Permissions: `RoleGet`",
        "operationId": "GetRole",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Role"
        ],
        "description": "Updates details of a specific role.<br><br>Required Permissions: `RoleUpdate`",
        "operationId": "UpdateRole",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "x-name": "operations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationOfRole"
                }
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected, or operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Role"
        ],
        "description": "Removes a role from the system and disassociates it from any assignments.<br><br>Required Permissions: `RoleRemove`",
        "operationId": "RemoveRole",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          },
          "409": {
            "description": "Concurrent modification detected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "412": {
            "description": "If-Match header does not match expected value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedError"
                }
              }
            }
          },
          "428": {
            "description": "The If-Match header is missing or is in incorrect format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionRequiredError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/role/{roleId}/assignment": {
      "post": {
        "tags": [
          "Role"
        ],
        "description": "Assigns a role to a specific user, granting them the associated permissions.<br><br>Required Permissions: `RoleAssign`",
        "operationId": "CreateRoleAssignment",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoleAssignmentRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleAssignment"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Role"
        ],
        "description": "Lists all assignments for a specific role.<br><br>Required Permissions: `RoleListAssignments`",
        "operationId": "ListRoleAssignments",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfRoleAssignment"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/role/{roleId}/assignment/{assignmentId}": {
      "get": {
        "tags": [
          "Role"
        ],
        "description": "Retrieves details of a specific role assignment.<br><br>Required Permissions: `RoleAssignmentGet`",
        "operationId": "GetRoleAssignment",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "assignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleAssignment"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Role"
        ],
        "description": "Removes a role assignment from a user.<br><br>Required Permissions: `RoleAssignmentRemove`",
        "operationId": "RemoveRoleAssignment",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "assignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "204": {
            "description": "Operation succeeded without any returned value"
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/user/{userId}/role": {
      "get": {
        "tags": [
          "Role"
        ],
        "description": "Lists all roles assigned for specified user.<br><br>Required Permissions: `UserListRoles`",
        "operationId": "ListUserRoles",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfRole"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/outgoing": {
      "get": {
        "tags": [
          "Personal Share"
        ],
        "description": "Lists all personal outgoing shares.<br><br>Required Permissions: `PersonalOutgoingShareList`",
        "operationId": "ListPersonalOutgoingShares",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "contractId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "correlationId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfPersonalOutgoingShare"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/outgoing/{shareId}": {
      "get": {
        "tags": [
          "Personal Share"
        ],
        "description": "Retrieves a specific personal outgoing share.<br><br>Required Permissions: `PersonalOutgoingShareGet`",
        "operationId": "GetPersonalOutgoingShare",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalOutgoingShare"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/outgoing/{shareId}/withdraw": {
      "post": {
        "tags": [
          "Personal Share"
        ],
        "description": "Withdraws a specific personal outgoing share.<br><br>Required Permissions: `PersonalOutgoingShareWithdraw`",
        "operationId": "WithdrawPersonalOutgoingShare",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalOutgoingShare"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/incoming": {
      "get": {
        "tags": [
          "Personal Share"
        ],
        "description": "Lists all personal incoming shares.<br><br>Required Permissions: `PersonalIncomingShareList`",
        "operationId": "ListPersonalIncomingShares",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "contractId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "correlationId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResultOfPersonalIncomingShare"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/incoming/{shareId}": {
      "get": {
        "tags": [
          "Personal Share"
        ],
        "description": "Retrieves a specific personal incoming share.<br><br>Required Permissions: `PersonalIncomingShareGet`",
        "operationId": "GetPersonalIncomingShare",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "includePhoto",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalIncomingShare"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/incoming/{shareId}/accept": {
      "post": {
        "tags": [
          "Personal Share"
        ],
        "description": "Accepts a specific personal incoming share.<br><br>Required Permissions: `PersonalIncomingShareAccept`",
        "operationId": "AcceptPersonalIncomingShare",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "dryRun",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 4
          }
        ],
        "requestBody": {
          "x-name": "request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptPersonalIncomingShareRequest"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/icap/v1/tenant/{tenantId}/personalShare/incoming/{shareId}/decline": {
      "post": {
        "tags": [
          "Personal Share"
        ],
        "description": "Declines a specific personal incoming share.<br><br>Required Permissions: `PersonalIncomingShareDecline`",
        "operationId": "DeclinePersonalIncomingShare",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Operation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalIncomingShare"
                }
              }
            }
          },
          "409": {
            "description": "Operation would result in a conflict with an already existing entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictError"
                }
              }
            }
          },
          "401": {
            "description": "Authentication token missing or is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            }
          },
          "403": {
            "description": "User is not authorized to perform this action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            }
          },
          "400": {
            "description": "Invalid operation or input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestError"
                }
              }
            }
          },
          "404": {
            "description": "One or more referenced entities do not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "NotFoundError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4"
          },
          "title": {
            "type": "string",
            "example": "Not Found"
          },
          "status": {
            "type": "number",
            "example": 404
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "InternalServerError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc6585#section-3"
          },
          "title": {
            "type": "string",
            "example": "Internal Server Error"
          },
          "status": {
            "type": "number",
            "example": 500
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "Tenant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VersionedEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "traceLogLevel": {
                "type": "string",
                "nullable": true
              },
              "pacsIntegrationEnabled": {
                "type": "boolean"
              },
              "personalSharing": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PersonalSharing"
                  }
                ]
              }
            }
          }
        ]
      },
      "PersonalSharing": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "allowedInboundTenants": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "allowedOutboundTenants": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "VersionedEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "version": {
                "type": "integer"
              }
            }
          }
        ]
      },
      "BasicEntity": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "tenantId": {
            "type": "string"
          }
        }
      },
      "UnauthorizedError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc7235#section-3.1"
          },
          "title": {
            "type": "string",
            "example": "Unauthorized"
          },
          "status": {
            "type": "number",
            "example": 401
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "ForbiddenError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.3"
          },
          "title": {
            "type": "string",
            "example": "Forbidden"
          },
          "status": {
            "type": "number",
            "example": 403
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "BadRequestError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1"
          },
          "title": {
            "type": "string",
            "example": "Bad Request"
          },
          "status": {
            "type": "number",
            "example": 400
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "ConflictError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.8"
          },
          "title": {
            "type": "string",
            "example": "Conflict"
          },
          "status": {
            "type": "number",
            "example": 409
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "OperationOfTenant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "Operation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OperationBase"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "value": {
                "nullable": true
              }
            }
          }
        ]
      },
      "OperationBase": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string",
            "nullable": true
          },
          "op": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PreconditionFailedError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc7232#section-4.2"
          },
          "title": {
            "type": "string",
            "example": "Precondition Failed"
          },
          "status": {
            "type": "number",
            "example": 412
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "PreconditionRequiredError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "https://datatracker.ietf.org/doc/html/rfc6585#section-3"
          },
          "title": {
            "type": "string",
            "example": "Precondition Required"
          },
          "status": {
            "type": "number",
            "example": 428
          },
          "detail": {
            "type": "string",
            "example": "Error detail"
          }
        }
      },
      "TenantStatisticsResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientApiCalls": {
            "$ref": "#/components/schemas/ApiUsage"
          },
          "callbackApiCalls": {
            "$ref": "#/components/schemas/ApiUsage"
          }
        }
      },
      "ApiUsage": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "successful": {
            "$ref": "#/components/schemas/ApiUsageCounter"
          },
          "authNErrors": {
            "$ref": "#/components/schemas/ApiUsageCounter"
          },
          "authZErrors": {
            "$ref": "#/components/schemas/ApiUsageCounter"
          },
          "clientErrors": {
            "$ref": "#/components/schemas/ApiUsageCounter"
          },
          "serverErrors": {
            "$ref": "#/components/schemas/ApiUsageCounter"
          }
        }
      },
      "ApiUsageCounter": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "bytesIn": {
            "type": "integer",
            "format": "int64"
          },
          "bytesOut": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ListResultOfPacsTransaction": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PacsTransaction"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PacsTransaction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AuditableEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "pacsId": {
                "type": "string"
              },
              "operation": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PacsTransactionOperation"
                  }
                ]
              },
              "entityId": {
                "type": "string"
              },
              "relatedEntityId": {
                "type": "string",
                "nullable": true
              },
              "status": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PacsTransactionStatus"
                  }
                ]
              },
              "resultCreatedAt": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "traceId": {
                "type": "string"
              }
            }
          }
        ]
      },
      "PacsTransactionOperation": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "synchronizeIdentity",
          "deleteIdentity",
          "importIdentities",
          "synchronizeVisitor",
          "deleteVisitor",
          "importVisitors"
        ],
        "enum": [
          "synchronizeIdentity",
          "deleteIdentity",
          "importIdentities",
          "synchronizeVisitor",
          "deleteVisitor",
          "importVisitors"
        ]
      },
      "PacsTransactionStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "pending",
          "running",
          "success",
          "failed",
          "partial",
          "unsupported",
          "unknown",
          "cancelled"
        ],
        "enum": [
          "pending",
          "running",
          "success",
          "failed",
          "partial",
          "unsupported",
          "unknown",
          "cancelled"
        ]
      },
      "AuditableEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VersionedEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "createdBy": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedBy": {
                "type": "string"
              }
            }
          }
        ]
      },
      "TenantFeatures": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "remotePhotoEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "remotePhotoCardholderGroup": {
            "type": "string",
            "nullable": true
          },
          "payloadLogEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "payloadLogPlaintext": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "OperationOfTenantFeatures": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "Pacs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VersionedEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "pacsId": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "config": {
                "$ref": "#/components/schemas/PacsConfig"
              },
              "mappings": {
                "$ref": "#/components/schemas/AttributeMappings"
              }
            }
          }
        ]
      },
      "PacsConfig": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "identityPropagationMode": {
            "$ref": "#/components/schemas/PropagationMode"
          },
          "visitorPropagationMode": {
            "$ref": "#/components/schemas/PropagationMode"
          },
          "featureCacheTtl": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "masterImportPeriod": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "utcOffset": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PropagationMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "off",
          "mirror",
          "jit",
          "master"
        ],
        "enum": [
          "off",
          "mirror",
          "jit",
          "master"
        ]
      },
      "AttributeMappings": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "identity": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "visitor": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "cardCredential": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "pinCredential": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "RegisterPacsRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "pacsId",
          "name"
        ],
        "properties": {
          "pacsId": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "config": {
            "$ref": "#/components/schemas/PacsConfig"
          },
          "mappings": {
            "$ref": "#/components/schemas/AttributeMappings"
          }
        }
      },
      "ListResultOfPacs": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Pacs"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfPacs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ListResultOfAccessUnitResponseDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessUnitResponseDto"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AccessUnitResponseDto": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "DesignationType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "identity",
          "visitor",
          "any"
        ],
        "enum": [
          "identity",
          "visitor",
          "any"
        ]
      },
      "GetCredentialFormatsResponseDto": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "formats"
        ],
        "properties": {
          "formats": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "constraints": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/CredentialFormatConstraints"
            }
          }
        }
      },
      "CredentialFormatConstraints": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cardId": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialIdConstraints"
              }
            ]
          },
          "cardCode": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialIdConstraints"
              }
            ]
          },
          "facilityId": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialIdConstraints"
              }
            ]
          }
        }
      },
      "CredentialIdConstraints": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "required",
              "optional",
              "ignored"
            ]
          },
          "min": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "max": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        }
      },
      "Identity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Person"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "status": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/IdentityStatus"
                  }
                ]
              }
            }
          }
        ]
      },
      "IdentityStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "active",
          "inactive"
        ],
        "enum": [
          "active",
          "inactive"
        ]
      },
      "Person": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PurgeableEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "externalIds": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "firstName": {
                "type": "string"
              },
              "middleName": {
                "type": "string",
                "nullable": true
              },
              "lastName": {
                "type": "string"
              },
              "displayName": {
                "type": "string",
                "nullable": true
              },
              "emails": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Email"
                }
              },
              "phoneNumbers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PhoneNumber"
                }
              },
              "photo": {
                "type": "string",
                "nullable": true
              },
              "dateOfBirth": {
                "type": "string",
                "format": "date",
                "nullable": true
              },
              "gender": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Gender"
                  }
                ]
              },
              "citizenship": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "string"
                }
              },
              "birthCountry": {
                "type": "string",
                "nullable": true
              },
              "type": {
                "type": "string",
                "nullable": true
              },
              "extensionFields": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          }
        ]
      },
      "Email": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "value": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "PhoneNumber": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "value": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "Gender": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "male",
          "female",
          "other"
        ],
        "enum": [
          "male",
          "female",
          "other"
        ]
      },
      "PurgeableEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArchivableEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false
          }
        ]
      },
      "ArchivableEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AuditableEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false
          }
        ]
      },
      "CreateIdentityRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreatePersonRequest"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "CreatePersonRequest": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "required": [
          "externalIds",
          "firstName",
          "lastName"
        ],
        "properties": {
          "externalIds": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "firstName": {
            "type": "string",
            "minLength": 1
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "minLength": 1
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Email"
            }
          },
          "phoneNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhoneNumber"
            }
          },
          "photo": {
            "type": "string",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "gender": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ]
          },
          "citizenship": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "birthCountry": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "extensionFields": {
            "type": "object",
            "additionalProperties": {}
          }
        }
      },
      "ListResultOfIdentity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Identity"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfIdentity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "PersonalOutgoingShare": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalShare"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "entityType": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PersonEntityType"
                  }
                ]
              },
              "entityId": {
                "type": "string"
              },
              "traceId": {
                "type": "string"
              },
              "targetTenantId": {
                "type": "string"
              },
              "targetShareId": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "PersonEntityType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "identity",
          "visitor"
        ],
        "enum": [
          "identity",
          "visitor"
        ]
      },
      "PersonalShare": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AuditableEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "contractId": {
                "type": "string",
                "nullable": true
              },
              "correlationId": {
                "type": "string",
                "nullable": true
              },
              "status": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PersonalShareStatus"
                  }
                ]
              },
              "attributes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "data": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PersonalData"
                  }
                ]
              }
            }
          }
        ]
      },
      "PersonalShareStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "created",
          "pending",
          "accepted",
          "declined",
          "withdrawn",
          "failed"
        ],
        "enum": [
          "created",
          "pending",
          "accepted",
          "declined",
          "withdrawn",
          "failed"
        ]
      },
      "PersonalData": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "externalIds": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Email"
            }
          },
          "phoneNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhoneNumber"
            }
          },
          "photo": {
            "type": "string",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "gender": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ]
          },
          "citizenship": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "birthCountry": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "extensionFields": {
            "type": "object",
            "additionalProperties": {}
          }
        }
      },
      "CreatePersonalOutgoingPersonalOutgoingShareRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "targetTenantId",
          "attributes"
        ],
        "properties": {
          "targetTenantId": {
            "type": "string",
            "minLength": 1
          },
          "contractId": {
            "type": "string",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CredentialAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "assignedTo": {
            "type": "string"
          },
          "assignmentType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialAssignmentType"
              }
            ]
          },
          "credentialId": {
            "type": "string"
          },
          "credentialType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/CredentialType"
              }
            ]
          },
          "assignedAt": {
            "type": "string",
            "format": "date-time"
          },
          "assignedBy": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        }
      },
      "CredentialAssignmentType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "identity",
          "visitor"
        ],
        "enum": [
          "identity",
          "visitor"
        ]
      },
      "CredentialType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "cardCredential",
          "pinCredential"
        ],
        "enum": [
          "cardCredential",
          "pinCredential"
        ]
      },
      "CreateCredentialAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "credentialId",
          "credentialType"
        ],
        "properties": {
          "credentialId": {
            "type": "string",
            "minLength": 1
          },
          "credentialType": {
            "$ref": "#/components/schemas/CredentialType"
          }
        }
      },
      "ListResultOfCredentialAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CredentialAssignmentResponse"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "EntityAccessUnitAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "accessUnitId": {
            "type": "string"
          },
          "assignedAt": {
            "type": "string",
            "format": "date-time"
          },
          "assignedBy": {
            "type": "string"
          }
        }
      },
      "CreateAccessUnitAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "accessUnitId"
        ],
        "properties": {
          "accessUnitId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ListResultOfEntityAccessUnitAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityAccessUnitAssignmentResponse"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PhotoRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "createdAt",
          "email",
          "status"
        ],
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PhotoRequestStatus"
          }
        }
      },
      "PhotoRequestStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "pending",
          "denied",
          "discarded",
          "onHold",
          "approved",
          "unknown"
        ],
        "enum": [
          "pending",
          "denied",
          "discarded",
          "onHold",
          "approved",
          "unknown"
        ]
      },
      "CreateIdentityPhotoRequestRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "emailType": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Visitor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Person"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "CreateVisitorPersonRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreatePersonRequest"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ListResultOfVisitor": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Visitor"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfVisitor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ListResultOfVisitorAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisitorAssignmentResponse"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "VisitorAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "visitorId": {
            "type": "string"
          },
          "visitId": {
            "type": "string"
          },
          "status": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/VisitorStatus"
              }
            ]
          },
          "checkedInAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "checkedInBy": {
            "type": "string",
            "nullable": true
          },
          "checkedOutAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "checkedOutBy": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "VisitorStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "planned",
          "checkedIn",
          "checkedOut"
        ],
        "enum": [
          "planned",
          "checkedIn",
          "checkedOut"
        ]
      },
      "CreateVisitorPhotoRequestRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "emailType": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Visit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArchivableEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "externalIds": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "nullable": true
              },
              "start": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "end": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "hostId": {
                "type": "string",
                "nullable": true
              },
              "extensionFields": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          }
        ]
      },
      "CreateVisitRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "externalIds": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "hostId": {
            "type": "string",
            "nullable": true
          },
          "extensionFields": {
            "type": "object",
            "additionalProperties": {}
          }
        }
      },
      "ListResultOfVisit": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Visit"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfVisit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "CreateVisitorAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "visitorId"
        ],
        "properties": {
          "visitorId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ExtensionFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VersionedEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string",
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "dataType": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExtensionFieldDataType"
                  }
                ]
              },
              "entityType": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExtensionFieldEntityType"
                  }
                ]
              },
              "required": {
                "type": "boolean"
              },
              "pattern": {
                "type": "string",
                "nullable": true
              },
              "min": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "max": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              }
            }
          }
        ]
      },
      "ExtensionFieldDataType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "text",
          "integer",
          "decimal",
          "boolean",
          "date",
          "dateTime"
        ],
        "enum": [
          "text",
          "integer",
          "decimal",
          "boolean",
          "date",
          "dateTime"
        ]
      },
      "ExtensionFieldEntityType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "identity",
          "visitor",
          "visit",
          "cardCredential",
          "pinCredential"
        ],
        "enum": [
          "identity",
          "visitor",
          "visit",
          "cardCredential",
          "pinCredential"
        ]
      },
      "CreateExtensionFieldDefinitionRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "key",
          "label",
          "dataType",
          "entityType"
        ],
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1
          },
          "label": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "dataType": {
            "$ref": "#/components/schemas/ExtensionFieldDataType"
          },
          "entityType": {
            "$ref": "#/components/schemas/ExtensionFieldEntityType"
          },
          "required": {
            "type": "boolean"
          },
          "pattern": {
            "type": "string",
            "nullable": true
          },
          "min": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ListResultOfExtensionFieldDefinition": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtensionFieldDefinition"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfExtensionFieldDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "AccessUnit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArchivableEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "eligibleFor": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/DesignationType"
                  }
                ]
              },
              "pacsMappings": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/AccessUnitMapping"
                }
              }
            }
          }
        ]
      },
      "AccessUnitMapping": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "pacsId": {
            "type": "string"
          },
          "accessUnitId": {
            "type": "string"
          },
          "accessUnitName": {
            "type": "string"
          }
        }
      },
      "CreateAccessUnitRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "eligibleFor"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "eligibleFor": {
            "$ref": "#/components/schemas/DesignationType"
          },
          "pacsMappings": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateAccessUnitMapping"
            }
          }
        }
      },
      "CreateAccessUnitMapping": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "pacsId",
          "accessUnitId"
        ],
        "properties": {
          "pacsId": {
            "type": "string",
            "minLength": 1
          },
          "accessUnitId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ListResultOfAccessUnit": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessUnit"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfAccessUnit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ListResultOfAccessUnitAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessUnitAssignmentResponse"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AccessUnitAssignmentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "assignedTo": {
            "type": "string"
          },
          "assignmentType": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AccessUnitAssignmentType"
              }
            ]
          },
          "assignedAt": {
            "type": "string",
            "format": "date-time"
          },
          "assignedBy": {
            "type": "string"
          }
        }
      },
      "AccessUnitAssignmentType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "identity",
          "visit"
        ],
        "enum": [
          "identity",
          "visit"
        ]
      },
      "CardType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VersionedEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "eligibleFor": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/DesignationType"
                  }
                ]
              },
              "pacsFormatMappings": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "constraints": {
                "$ref": "#/components/schemas/CredentialFormatConstraints"
              }
            }
          }
        ]
      },
      "CreateCardTypeRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "eligibleFor"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "eligibleFor": {
            "$ref": "#/components/schemas/DesignationType"
          },
          "pacsFormatMappings": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "ListResultOfCardType": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardType"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfCardType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "CardCredential": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Credential"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "cardType": {
                "type": "string"
              },
              "cardId": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "facilityId": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "cardCode": {
                "type": "string",
                "nullable": true
              },
              "eligibleFor": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/DesignationType"
                  }
                ]
              }
            }
          }
        ]
      },
      "Credential": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArchivableEntity"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "externalIds": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "status": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CredentialStatus"
                  }
                ]
              },
              "extensionFields": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          }
        ]
      },
      "CredentialStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "active",
          "inactive"
        ],
        "enum": [
          "active",
          "inactive"
        ]
      },
      "CreateCardCredentialRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCredentialRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "cardType"
            ],
            "properties": {
              "cardType": {
                "type": "string",
                "minLength": 1
              },
              "cardId": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "facilityId": {
                "type": "integer",
                "format": "int64",
                "nullable": true
              },
              "cardCode": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "CreateCredentialRequest": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "externalIds": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "extensionFields": {
            "type": "object",
            "additionalProperties": {}
          }
        }
      },
      "ListResultOfCardCredential": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardCredential"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfCredential": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "PinCredential": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Credential"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "pacsMappings": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "CreatePinCredentialRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCredentialRequest"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string",
                "minLength": 1
              },
              "pacsMappings": {
                "type": "array",
                "nullable": true,
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "ListResultOfPinCredential": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PinCredential"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ListPermissionsResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "permissions"
        ],
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Role": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VersionedEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "permissions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "CreateRoleRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "permissions"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ListResultOfRole": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OperationOfRole": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "RoleAssignment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicEntity"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "userId": {
                "type": "string"
              },
              "roleId": {
                "type": "string"
              }
            }
          }
        ]
      },
      "CreateRoleAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "userId"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ListResultOfRoleAssignment": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleAssignment"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PacsCallbackRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "createdAt": {
            "type": "string",
            "nullable": true
          },
          "resultLocation": {
            "type": "string",
            "nullable": true
          },
          "resultState": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ListResultOfPersonalOutgoingShare": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalOutgoingShare"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ListResultOfPersonalIncomingShare": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonalIncomingShare"
            }
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PersonalIncomingShare": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonalShare"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "entityType": {
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PersonEntityType"
                  }
                ]
              },
              "entityId": {
                "type": "string",
                "nullable": true
              },
              "sourceTenantId": {
                "type": "string"
              },
              "sourceEntityId": {
                "type": "string"
              },
              "sourceShareId": {
                "type": "string"
              }
            }
          }
        ]
      },
      "AcceptPersonalIncomingShareRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "entityType",
          "externalIdKey",
          "externalIdValue",
          "attributes"
        ],
        "properties": {
          "entityType": {
            "type": "string",
            "minLength": 1,
            "enum": [
              "Identity",
              "Visitor"
            ]
          },
          "externalIdKey": {
            "type": "string",
            "minLength": 1
          },
          "externalIdValue": {
            "type": "string",
            "minLength": 1
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MappedAttribute"
            }
          }
        }
      },
      "MappedAttribute": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sourcePath": {
            "type": "string",
            "nullable": true
          },
          "targetPath": {
            "type": "string",
            "nullable": true
          },
          "defaultValue": {
            "nullable": true
          },
          "forceDefaultValue": {
            "type": "boolean",
            "nullable": true
          }
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Enter your JWT token.",
        "name": "Authorization",
        "in": "header",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}