{
  "openapi": "3.0.1",
  "info": {
    "title": "Profiles API",
    "description": "**Welcome to the Profile API documentation.**\r\n\r\nYou can try out the API using **[Swagger](/profiles/demo/v10-0/docs/swagger)**.\r\n\r\nYou can find a detailed documentation by following **[this link](https://docs.egov4.ch/docs/9.1/category/profile-api)**.\r\n\r\n# Current Configured Levels\r\n\r\nTo get the context regarding this section please follow [this link](https://docs.egov4.ch/docs/9.1/apis/profile-api/features/responses#current-configured-levels).\r\n\r\n###### Level 1  \n**Role :** ProfileApi_Low  \n**Properties per entity :**  \n\n| Entity Key | Available Properties |  \n| :-------- | :------------------- |  \n| `profile` | `email` `person` `organization` |  \n| `person` | `firstname` `lastname` |  \n| `organization` | `name` `uid` |  \n| `service` | `name` `displayName` |  \n  \n###### Level 2  \n**Role :** ProfileApi_Medium  \n**Properties per entity :**  \n\n| Entity Key | Available Properties |  \n| :-------- | :------------------- |  \n| `profile` | `isEnabled` `email` `phone` `person` `organization` |  \n| `person` | `firstname` `lastname` `birthdate` `gender` `account` |  \n| `account` | `sessionDuration` `hasSeenOwnProfile` |  \n| `organization` |_No property limitation for this entity._ |  \n| `service` | `name` `displayName` `url` |  \n  \n###### Level 9  \n**Role :** ProfileApi_Max  \n**Properties per entity :**  \n\n_No property limitation for this level._  \n  \n\r\n\r\n# Entity Keys\r\n\r\nTo get the context regarding this section please follow [this link](https://docs.egov4.ch/docs/9.1/apis/profile-api/features/responses#entity-keys).\r\n\r\n| Entity Key | DTOs |  \n| :--------- | :--- |  \n| `role` | `RoleDto` `RoleByProfileDto` `RoleByServiceDto` |  \n| `service` | `ServiceDto` `ServiceByProfileDto` `ExpandableServiceDto` `ServiceByProcurationDto` |  \n| `serviceSetting` | `ServiceSettingDto` `ServiceSettingByProfileDto` |  \n| `widget` | `WidgetDto` `WidgetByProfileDto` `ExpandableWidgetDto` |  \n| `account` | `AccountDto` `ExpandableAccountDto` |  \n| `identity` | `IdentityDto` `ExpandableIdentityDto` |  \n| `organization` | `OrganizationDto` `ExpandableOrganizationDto` |  \n| `person` | `PersonDto` `ExpandablePersonDto` |  \n| `procuration` | `ProcurationDto` `ExpandableProcurationDto` |  \n| `procuration-invite` | `ExpandableProcurationInviteDto` |  \n| `profile` | `ProfileDto` `ExpandableProfileDto` |  \n| `chartType` | `ChartTypeDto` |  \n| `client` | `ClientDto` |  \n| `favoriteService` | `FavoriteServiceDto` |  \n| `favoriteWidget` | `FavoriteWidgetDto` |  \n| `identificationLevel` | `IdentificationLevelDto` |  \n| `identityProvider` | `IdentityProviderDto` |  \n| `legalForm` | `LegalFormDto` |  \n| `maritalStatus` | `MaritalStatusDto` |  \n| `orgCategory` | `OrgCategoryDto` |  \n| `orgCategoryRole` | `OrgCategoryRoleDto` |  \n| `orgIdentificationLevel` | `OrgIdentificationLevelDto` |  \n| `orgSignatory` | `OrgSignatoryDto` |  \n| `procurationInvite` | `ProcurationInviteDto` |  \n| `procurationService` | `ProcurationServiceDto` |  \n| `profilePicture` | `ProfilePictureDto` |  \n| `profileRole` | `ProfileRoleDto` |  \n| `serviceClient` | `ServiceClientDto` |  \n| `serviceRole` | `ServiceRoleDto` |  \n| `serviceSettingValue` | `ServiceSettingValueDto` |  \n| `serviceStep` | `ServiceStepDto` |  \n| `serviceTheme` | `ServiceThemeDto` |  \n| `survey` | `SurveyDto` |  \n| `surveyEntry` | `SurveyEntryDto` |  \n\r\n",
    "contact": {
      "name": "Artionet",
      "url": "https://www.artionet.ch/",
      "email": "support@artionet.com"
    },
    "version": "v10.0",
    "x-logo": {
      "url": "/profiles/demo/v10-0/Documentation/Images/logo_artionet.png",
      "backgroundColor": "#fafafa",
      "altText": "Artionet Logo"
    }
  },
  "servers": [
    {
      "url": "/profiles/demo/v10-0"
    }
  ],
  "paths": {
    "/clients": {
      "get": {
        "tags": [
          "Clients"
        ],
        "summary": "Get a list of Clients",
        "description": "Allows to retrieve a list of Clients according to certain criteria.",
        "operationId": "GetClients",
        "parameters": [
          {
            "name": "Name",
            "in": "query",
            "description": "Filters settings on the `Name` field (CI match)",
            "schema": {
              "maxLength": 100,
              "type": "string",
              "description": "Filters settings on the `Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Clients"
        ],
        "summary": "Add a new Client",
        "description": "Allows to create a new Client.",
        "operationId": "CreateClient",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateClientCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/clients/{clientId}": {
      "get": {
        "tags": [
          "Clients"
        ],
        "summary": "Get the specified Client",
        "description": "Allows to retrieve a specific Client identified by its `Id`.",
        "operationId": "GetClientById",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Clients"
        ],
        "summary": "Update the specified Client",
        "description": "Allows to update an existing Client identified by its `Id`.",
        "operationId": "UpdateClient",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateClientCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Clients"
        ],
        "summary": "Delete the specified Client",
        "description": "Allows to delete an existing Client identified by its `Id`.",
        "operationId": "DeleteClient",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/identification-levels": {
      "get": {
        "tags": [
          "IdentificationLevels"
        ],
        "summary": "Get a list of Identification Levels",
        "description": "Allows to retrieve a list of Identification Levels according to certain criteria.",
        "operationId": "GetIdentificationLevels",
        "parameters": [
          {
            "name": "IsForServicesCatalog",
            "in": "query",
            "description": "Filters identification levels to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`\r\nand are within a visible theme",
            "schema": {
              "type": "boolean",
              "description": "Filters identification levels to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`\r\nand are within a visible theme",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IdentificationLevelDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "IdentificationLevels"
        ],
        "summary": "Add a new Identification Level",
        "description": "Allows to create a new Identification Level.",
        "operationId": "CreateIdentificationLevel",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateIdentificationLevelCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentificationLevelDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/identification-levels/{identificationLevelId}": {
      "get": {
        "tags": [
          "IdentificationLevels"
        ],
        "summary": "Get the specified Identification Level",
        "description": "Allows to retrieve a specific Identification Level identified by its `Id`.",
        "operationId": "GetIdentificationLevelById",
        "parameters": [
          {
            "name": "identificationLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentificationLevelDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "IdentificationLevels"
        ],
        "summary": "Update the specified Identification Level",
        "description": "Allows to update an existing Identification Level identified by its `Id`.",
        "operationId": "UpdateIdentificationLevel",
        "parameters": [
          {
            "name": "identificationLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateIdentificationLevelCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentificationLevelDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "IdentificationLevels"
        ],
        "summary": "Delete the specified Identification Level",
        "description": "Allows to delete an existing Identification Level identified by its `Id`.<br><p>Deletion is only possible when the targeted identification level is not in use by any Service or Identity.</p>",
        "operationId": "DeleteIdentificationLevel",
        "parameters": [
          {
            "name": "identificationLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/identities": {
      "get": {
        "tags": [
          "Identities"
        ],
        "summary": "Get a list of Identities",
        "description": "Allows to retrieve a list of Identities according to certain criteria.",
        "operationId": "GetIdentities",
        "parameters": [
          {
            "name": "ExternalId",
            "in": "query",
            "description": "Filters identites on the `ExternalId` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters identites on the `ExternalId` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "IdpName",
            "in": "query",
            "description": "Filters identities on the IdentityProvider `Name` field (CI match)",
            "schema": {
              "maxLength": 200,
              "type": "string",
              "description": "Filters identities on the IdentityProvider `Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IdentitiesExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableIdentityDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/identity-providers": {
      "get": {
        "tags": [
          "IdentityProviders"
        ],
        "summary": "Get a list of Identity Providers",
        "description": "Allows to retrieve a list of Identity Providers according to certain criteria.",
        "operationId": "GetIdentityProviders",
        "parameters": [
          {
            "name": "IsEnabled",
            "in": "query",
            "description": "Filters IdentityProviders on the `IsEnabled` field",
            "schema": {
              "type": "boolean",
              "description": "Filters IdentityProviders on the `IsEnabled` field",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IdentityProviderDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "IdentityProviders"
        ],
        "summary": "Add a new Identity Provider",
        "description": "Allows to create a new Identity Provider.",
        "operationId": "CreateIdentityProvider",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateIdentityProviderCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityProviderDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/identity-providers/{identityProviderId}": {
      "get": {
        "tags": [
          "IdentityProviders"
        ],
        "summary": "Get the specified Identity Provider",
        "description": "Allows to retrieve a specific Identity Provider identified by its `Id`.",
        "operationId": "GetIdentityProviderById",
        "parameters": [
          {
            "name": "identityProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityProviderDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "IdentityProviders"
        ],
        "summary": "Update the specified Identity Provider",
        "description": "Allows to update an existing Identity Provider identified by its `Id`.",
        "operationId": "UpdateIdentityProvider",
        "parameters": [
          {
            "name": "identityProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateIdentityProviderCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityProviderDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "IdentityProviders"
        ],
        "summary": "Delete the specified Identity Provider",
        "description": "Allows to delete an existing Identity Provider identified by its `Id`.",
        "operationId": "DeleteIdentityProvider",
        "parameters": [
          {
            "name": "identityProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/legal-forms": {
      "get": {
        "tags": [
          "LegalForms"
        ],
        "summary": "Get a list of Legal Forms",
        "description": "Allows to retrieve a list of Legal Forms according to certain criteria.",
        "operationId": "GetLegalForms",
        "parameters": [
          {
            "name": "Code",
            "in": "query",
            "description": "Filters LegalForms on the `Code` field (CI match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters LegalForms on the `Code` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LegalFormDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LegalForms"
        ],
        "summary": "Add a new Legal Form",
        "description": "Allows to create a new Legal Form.",
        "operationId": "CreateLegalForm",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateLegalFormCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalFormDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/legal-forms/{legalFormId}": {
      "get": {
        "tags": [
          "LegalForms"
        ],
        "summary": "Get the specified Legal Form",
        "description": "Allows to retrieve a specific Legal Form identified by its `Id`.",
        "operationId": "GetLegalFormById",
        "parameters": [
          {
            "name": "legalFormId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalFormDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "LegalForms"
        ],
        "summary": "Update the specified Legal Form",
        "description": "Allows to update an existing Legal Form identified by its `Id`.",
        "operationId": "UpdateLegalForm",
        "parameters": [
          {
            "name": "legalFormId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateLegalFormCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalFormDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "LegalForms"
        ],
        "summary": "Delete the specified Legal Form",
        "description": "Allows to delete an existing Legal Form identified by its `Id`.<br><p>Deletion is only possible when the targeted legal form is not in use by any Organization.</p>",
        "operationId": "DeleteLegalForm",
        "parameters": [
          {
            "name": "legalFormId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/marital-statuses": {
      "get": {
        "tags": [
          "MaritalStatuses"
        ],
        "summary": "Get a list of Marital Statuses",
        "description": "Allows to retrieve a list of Marital Statuses according to certain criteria.",
        "operationId": "GetMaritalStatuses",
        "parameters": [
          {
            "name": "IsEnabled",
            "in": "query",
            "description": "Filters marital statuses on the `IsEnabled` field",
            "schema": {
              "type": "boolean",
              "description": "Filters marital statuses on the `IsEnabled` field",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaritalStatusDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MaritalStatuses"
        ],
        "summary": "Add an new Marital Status",
        "description": "Allows to create a new Marital Status.",
        "operationId": "CreateMaritalStatus",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateMaritalStatusCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaritalStatusDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/marital-statuses/{maritalStatusId}": {
      "get": {
        "tags": [
          "MaritalStatuses"
        ],
        "summary": "Get the specified Marital Status",
        "description": "Allows to retrieve a specific Marital Status identified by its `Id`.",
        "operationId": "GetMaritalStatusById",
        "parameters": [
          {
            "name": "maritalStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaritalStatusDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "MaritalStatuses"
        ],
        "summary": "Update a the specified Marital Status",
        "description": "Allows to update an existing Marital Status identified by its `Id`.",
        "operationId": "UpdateMaritalStatus",
        "parameters": [
          {
            "name": "maritalStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateMaritalStatusCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaritalStatusDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MaritalStatuses"
        ],
        "summary": "Delete the specified Marital Status",
        "description": "Allows to delete an existing Marital Status identified by its `Id`.",
        "operationId": "DeleteMaritalStatus",
        "parameters": [
          {
            "name": "maritalStatusId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organization-categories": {
      "get": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Get a list of OrgCategories",
        "description": "Allows to retrieve a list of OrgCategories according to certain criteria.",
        "operationId": "GetOrgCategories",
        "parameters": [
          {
            "name": "Code",
            "in": "query",
            "description": "Filters categories on the `Code` field (CI match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters categories on the `Code` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "IsVisible",
            "in": "query",
            "description": "Filters categories on the `IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters categories on the `IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrgCategoryDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Add a new OrgCategory",
        "description": "Allows to create a new OrgCategory.",
        "operationId": "CreateOrgCategory",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateOrgCategoryCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCategoryDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organization-categories/{orgCategoryId}": {
      "get": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Get the specified OrgCategory",
        "description": "Allows to retrieve a specific OrgCategory identified by its `Id`.",
        "operationId": "GetOrgCategoryById",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCategoryDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Update the specified OrgCategory",
        "description": "Allows to update an existing OrgCategory identified by its `Id`.",
        "operationId": "UpdateOrgCategory",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateOrgCategoryCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCategoryDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Delete the specified OrgCategory",
        "description": "Allows to delete an existing OrgCategory identified by its `Id`.<br><p>Deletion is only possible when the targeted organization category is not in use by any Organization.</p>",
        "operationId": "DeleteOrgCategory",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organization-categories/{orgCategoryId}/roles": {
      "get": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Get the list of Roles for the specified OrgCategory",
        "description": "Allows to retrieve a list of OrgCategory's roles according to certain criteria.",
        "operationId": "GetRolesByOrgCategory",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organization-categories/{orgCategoryId}/roles/{roleId}": {
      "put": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Add/update the relation between the specified Role and OrgCategory",
        "description": "Allows to create or update a OrgCategory-Role relation.<br><p>The specified Role will also be added (if not already present) to all Organizations within the specified Category. <br>__Triggers an automated update of related procuration services__.</p>",
        "operationId": "UpsertOrgCategoryRole",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertOrgCategoryRoleCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCategoryRoleDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgCategoryRoleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Get a specific Role within a specific OrgCategory",
        "description": "Allows to retrieve a specific Role and its relation with a specific OrgCategory",
        "operationId": "GetRoleByOrgCategoryAndId",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "OrgCategories"
        ],
        "summary": "Delete the relation between the specified Role and OrgCategory",
        "description": "Allows to delete an existing OrgCategory-Role identified by its OrgCategory and Role identifiers.<br><p>The specified Role will also be removed from all Organizations within the specified Category. <br>__Triggers an automated update of related procuration services__.</p>",
        "operationId": "DeleteOrgCategoryRole",
        "parameters": [
          {
            "name": "orgCategoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organization-identification-levels": {
      "get": {
        "tags": [
          "OrgIdentificationLevels"
        ],
        "summary": "Get a list of Identification Levels",
        "description": "Allows to retrieve a list of Identification Levels according to certain criteria.",
        "operationId": "GetOrgIdentificationLevels",
        "parameters": [
          {
            "name": "IsForServicesCatalog",
            "in": "query",
            "description": "Filters identification levels to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`\r\nand are within a visible theme",
            "schema": {
              "type": "boolean",
              "description": "Filters identification levels to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`\r\nand are within a visible theme",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrgIdentificationLevelDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "OrgIdentificationLevels"
        ],
        "summary": "Add a new Identification Level",
        "description": "Allows to create a new Identification Level.",
        "operationId": "CreateOrgIdentificationLevel",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateOrgIdentificationLevelCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgIdentificationLevelDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organization-identification-levels/{identificationLevelId}": {
      "get": {
        "tags": [
          "OrgIdentificationLevels"
        ],
        "summary": "Get the specified Identification Level",
        "description": "Allows to retrieve a specific Identification Level identified by its `Id`.",
        "operationId": "GetOrgIdentificationLevelById",
        "parameters": [
          {
            "name": "identificationLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgIdentificationLevelDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "OrgIdentificationLevels"
        ],
        "summary": "Update the specified Identification Level",
        "description": "Allows to update an existing Identification Level identified by its `Id`.",
        "operationId": "UpdateOrgIdentificationLevel",
        "parameters": [
          {
            "name": "identificationLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateOrgIdentificationLevelCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgIdentificationLevelDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "OrgIdentificationLevels"
        ],
        "summary": "Delete the specified Identification Level",
        "description": "Allows to delete an existing Identification Level identified by its `Id`.",
        "operationId": "DeleteOrgIdentificationLevel",
        "parameters": [
          {
            "name": "identificationLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/procurations": {
      "get": {
        "tags": [
          "Procurations"
        ],
        "summary": "Get a list of Procurations",
        "description": "Allows to retrieve a list of Procurations according to certain criteria.",
        "operationId": "GetProcurations",
        "parameters": [
          {
            "name": "HasToBeProcessedForRenewal",
            "in": "query",
            "description": "Filters procurations to preserve those that have to be processed and updated\r\nto the specified state according to their renewal dates.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ProcurationRenewalState"
                }
              ],
              "description": "Filters procurations to preserve those that have to be processed and updated\r\nto the specified state according to their renewal dates.",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters procurations to match a list of ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters procurations to match a list of ids",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProcurationsExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProcurationDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles": {
      "head": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get a list of Profiles (headers only)",
        "description": "Allows to retrieve a list of Profiles (headers only) according to certain criteria.",
        "operationId": "GetProfilesWithOnlyHeaders",
        "parameters": [
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProfilesExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "HeadersOnly",
            "in": "query",
            "description": "Defines if the response will only contains headers",
            "schema": {
              "type": "boolean",
              "description": "Defines if the response will only contains headers",
              "default": false
            }
          },
          {
            "name": "ProfileType",
            "in": "query",
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ProfileType"
                }
              ],
              "description": "Filters profiles bye their type (person-type or organization-type)",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters profiles to match a list of ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters profiles to match a list of ids",
              "nullable": true
            }
          },
          {
            "name": "IsEnabled",
            "in": "query",
            "description": "Filters profiles on the `IsEnabled` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `IsEnabled` field",
              "nullable": true
            }
          },
          {
            "name": "ExternalKey",
            "in": "query",
            "description": "Filters profiles on the `ExternalKey` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters profiles on the `ExternalKey` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "Keyword",
            "in": "query",
            "description": "Filters profiles on the following fields : <br />\r\n`Id` (exact match), `ZipCode`, `City` (CI, contains) <br />\r\n`Person.Firstname`, `Person.Lastname` (CI, contains) <br />\r\n`Organization.Name` (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters profiles on the following fields : <br />\r\n`Id` (exact match), `ZipCode`, `City` (CI, contains) <br />\r\n`Person.Firstname`, `Person.Lastname` (CI, contains) <br />\r\n`Organization.Name` (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "EmailContains",
            "in": "query",
            "description": "Filters profiles on the `Email` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters profiles on the `Email` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "ZipCodeContains",
            "in": "query",
            "description": "Filters profiles on the `ZipCode` field (CI, contains)",
            "schema": {
              "maxLength": 8,
              "type": "string",
              "description": "Filters profiles on the `ZipCode` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "CityContains",
            "in": "query",
            "description": "Filters profiles on the `City` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `City` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "MinLastLoginStamp",
            "in": "query",
            "description": "Filters profiles on the `LastLoginStamp` field with a minimum or equal value",
            "schema": {
              "type": "string",
              "description": "Filters profiles on the `LastLoginStamp` field with a minimum or equal value",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "MaxLastLoginStamp",
            "in": "query",
            "description": "Filters profiles on the `LastLoginStamp` field with a maximum or equal value",
            "schema": {
              "type": "string",
              "description": "Filters profiles on the `LastLoginStamp` field with a maximum or equal value",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "IsInGracePeriod",
            "in": "query",
            "description": "Filters profiles on the `GracePeriodEndDate` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `GracePeriodEndDate` field",
              "nullable": true
            }
          },
          {
            "name": "IsFlaggedForDeletion",
            "in": "query",
            "description": "Filters profiles on the `IsFlaggedForDeletion` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `IsFlaggedForDeletion` field",
              "nullable": true
            }
          },
          {
            "name": "OrganizationId",
            "in": "query",
            "description": "Filters profiles on the `Organization.Id` field",
            "schema": {
              "type": "integer",
              "description": "Filters profiles on the `Organization.Id` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "OrganizationUid",
            "in": "query",
            "description": "Filters profiles on the `Organization.Uid` field (CI match)",
            "schema": {
              "maxLength": 30,
              "type": "string",
              "description": "Filters profiles on the `Organization.Uid` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "OrganizationName",
            "in": "query",
            "description": "Filters profiles on the `Organization.Name` field (CI match)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Organization.Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "OrganizationNameContains",
            "in": "query",
            "description": "Filters profiles on the `Organization.Name` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Organization.Name` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "OrganizationIsPending",
            "in": "query",
            "description": "Filters profiles on the `Organization.IsPending` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `Organization.IsPending` field",
              "nullable": true
            }
          },
          {
            "name": "OrganizationCategoryCode",
            "in": "query",
            "description": "Filters profiles on the `Organization.Category.Code` field",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters profiles on the `Organization.Category.Code` field",
              "nullable": true
            }
          },
          {
            "name": "OrganizationValidationPerimeter",
            "in": "query",
            "description": "Filters profiles on codes combinations for legal forms and categories with a CI match<br />\r\nFormat : `LegalFormCode_CategoryCode`<br />\r\nWildcards : `all` available for both codes",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Filters profiles on codes combinations for legal forms and categories with a CI match<br />\r\nFormat : `LegalFormCode_CategoryCode`<br />\r\nWildcards : `all` available for both codes",
              "nullable": true
            }
          },
          {
            "name": "OrganizationFsoId",
            "in": "query",
            "description": "Filters profiles on the `Organization.FsoId` field",
            "schema": {
              "type": "integer",
              "description": "Filters profiles on the `Organization.FsoId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PersonId",
            "in": "query",
            "description": "Filters profiles on the `Person.Id` field",
            "schema": {
              "type": "integer",
              "description": "Filters profiles on the `Person.Id` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PersonFirstNameContains",
            "in": "query",
            "description": "Filters profiles on the `Person.Firstname` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Person.Firstname` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "PersonLastnameContains",
            "in": "query",
            "description": "Filters profiles on the `Person.Lastname` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Person.Lastname` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "PersonAhvNumber",
            "in": "query",
            "description": "Filters profiles on the `Person.AhvNumber` field (exact match)",
            "schema": {
              "maxLength": 64,
              "type": "string",
              "description": "Filters profiles on the `Person.AhvNumber` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "HasToBeProcessedForInactivity",
            "in": "query",
            "description": "Filters profiles to preserve those that have to be processed and updated\r\nto the specified inactivity state according to their last login stamp.<br />\r\nDisabled/pending/rejected/never used profiles will be ignored.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/InactivityState"
                }
              ],
              "description": "Filters profiles to preserve those that have to be processed and updated\r\nto the specified inactivity state according to their last login stamp.<br />\r\nDisabled/pending/rejected/never used profiles will be ignored.",
              "nullable": true
            }
          },
          {
            "name": "IncludeCustomImageBytes",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get a list of Profiles",
        "description": "Allows to retrieve a list of Profiles according to certain criteria.",
        "operationId": "GetProfiles",
        "parameters": [
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProfilesExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "HeadersOnly",
            "in": "query",
            "description": "Defines if the response will only contains headers",
            "schema": {
              "type": "boolean",
              "description": "Defines if the response will only contains headers",
              "default": false
            }
          },
          {
            "name": "ProfileType",
            "in": "query",
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ProfileType"
                }
              ],
              "description": "Filters profiles bye their type (person-type or organization-type)",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters profiles to match a list of ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters profiles to match a list of ids",
              "nullable": true
            }
          },
          {
            "name": "IsEnabled",
            "in": "query",
            "description": "Filters profiles on the `IsEnabled` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `IsEnabled` field",
              "nullable": true
            }
          },
          {
            "name": "ExternalKey",
            "in": "query",
            "description": "Filters profiles on the `ExternalKey` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters profiles on the `ExternalKey` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "Keyword",
            "in": "query",
            "description": "Filters profiles on the following fields : <br />\r\n`Id` (exact match), `ZipCode`, `City` (CI, contains) <br />\r\n`Person.Firstname`, `Person.Lastname` (CI, contains) <br />\r\n`Organization.Name` (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters profiles on the following fields : <br />\r\n`Id` (exact match), `ZipCode`, `City` (CI, contains) <br />\r\n`Person.Firstname`, `Person.Lastname` (CI, contains) <br />\r\n`Organization.Name` (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "EmailContains",
            "in": "query",
            "description": "Filters profiles on the `Email` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters profiles on the `Email` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "ZipCodeContains",
            "in": "query",
            "description": "Filters profiles on the `ZipCode` field (CI, contains)",
            "schema": {
              "maxLength": 8,
              "type": "string",
              "description": "Filters profiles on the `ZipCode` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "CityContains",
            "in": "query",
            "description": "Filters profiles on the `City` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `City` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "MinLastLoginStamp",
            "in": "query",
            "description": "Filters profiles on the `LastLoginStamp` field with a minimum or equal value",
            "schema": {
              "type": "string",
              "description": "Filters profiles on the `LastLoginStamp` field with a minimum or equal value",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "MaxLastLoginStamp",
            "in": "query",
            "description": "Filters profiles on the `LastLoginStamp` field with a maximum or equal value",
            "schema": {
              "type": "string",
              "description": "Filters profiles on the `LastLoginStamp` field with a maximum or equal value",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "IsInGracePeriod",
            "in": "query",
            "description": "Filters profiles on the `GracePeriodEndDate` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `GracePeriodEndDate` field",
              "nullable": true
            }
          },
          {
            "name": "IsFlaggedForDeletion",
            "in": "query",
            "description": "Filters profiles on the `IsFlaggedForDeletion` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `IsFlaggedForDeletion` field",
              "nullable": true
            }
          },
          {
            "name": "OrganizationId",
            "in": "query",
            "description": "Filters profiles on the `Organization.Id` field",
            "schema": {
              "type": "integer",
              "description": "Filters profiles on the `Organization.Id` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "OrganizationUid",
            "in": "query",
            "description": "Filters profiles on the `Organization.Uid` field (CI match)",
            "schema": {
              "maxLength": 30,
              "type": "string",
              "description": "Filters profiles on the `Organization.Uid` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "OrganizationName",
            "in": "query",
            "description": "Filters profiles on the `Organization.Name` field (CI match)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Organization.Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "OrganizationNameContains",
            "in": "query",
            "description": "Filters profiles on the `Organization.Name` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Organization.Name` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "OrganizationIsPending",
            "in": "query",
            "description": "Filters profiles on the `Organization.IsPending` field",
            "schema": {
              "type": "boolean",
              "description": "Filters profiles on the `Organization.IsPending` field",
              "nullable": true
            }
          },
          {
            "name": "OrganizationCategoryCode",
            "in": "query",
            "description": "Filters profiles on the `Organization.Category.Code` field",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters profiles on the `Organization.Category.Code` field",
              "nullable": true
            }
          },
          {
            "name": "OrganizationValidationPerimeter",
            "in": "query",
            "description": "Filters profiles on codes combinations for legal forms and categories with a CI match<br />\r\nFormat : `LegalFormCode_CategoryCode`<br />\r\nWildcards : `all` available for both codes",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Filters profiles on codes combinations for legal forms and categories with a CI match<br />\r\nFormat : `LegalFormCode_CategoryCode`<br />\r\nWildcards : `all` available for both codes",
              "nullable": true
            }
          },
          {
            "name": "OrganizationFsoId",
            "in": "query",
            "description": "Filters profiles on the `Organization.FsoId` field",
            "schema": {
              "type": "integer",
              "description": "Filters profiles on the `Organization.FsoId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PersonId",
            "in": "query",
            "description": "Filters profiles on the `Person.Id` field",
            "schema": {
              "type": "integer",
              "description": "Filters profiles on the `Person.Id` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "PersonFirstNameContains",
            "in": "query",
            "description": "Filters profiles on the `Person.Firstname` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Person.Firstname` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "PersonLastnameContains",
            "in": "query",
            "description": "Filters profiles on the `Person.Lastname` field (CI, contains)",
            "schema": {
              "maxLength": 160,
              "type": "string",
              "description": "Filters profiles on the `Person.Lastname` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "PersonAhvNumber",
            "in": "query",
            "description": "Filters profiles on the `Person.AhvNumber` field (exact match)",
            "schema": {
              "maxLength": 64,
              "type": "string",
              "description": "Filters profiles on the `Person.AhvNumber` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "HasToBeProcessedForInactivity",
            "in": "query",
            "description": "Filters profiles to preserve those that have to be processed and updated\r\nto the specified inactivity state according to their last login stamp.<br />\r\nDisabled/pending/rejected/never used profiles will be ignored.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/InactivityState"
                }
              ],
              "description": "Filters profiles to preserve those that have to be processed and updated\r\nto the specified inactivity state according to their last login stamp.<br />\r\nDisabled/pending/rejected/never used profiles will be ignored.",
              "nullable": true
            }
          },
          {
            "name": "IncludeCustomImageBytes",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add a new Profile",
        "description": "Allows to create a new Profile (+person +account / +organization).<br><ul><li>Citizen role is automatically added for person profiles.</li><li>Category roles are automatically added for organization profiles.</li></ul>",
        "operationId": "CreateProfile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateProfileCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableProfileDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete filtered profiles",
        "description": "Allows to delete existing Profiles according to the selected filters.",
        "operationId": "DeleteProfiles",
        "parameters": [
          {
            "name": "ObsoleteOlderThanNDays",
            "in": "query",
            "description": "Number of days after which an obsolete profile should be removed.<br />\r\nDisabled/pending/rejected/never used profiles are considered obsolete.<br />\r\n`LastLoginStamp` is used for comparison if present, otherwise `CreateStamp`.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Number of days after which an obsolete profile should be removed.<br />\r\nDisabled/pending/rejected/never used profiles are considered obsolete.<br />\r\n`LastLoginStamp` is used for comparison if present, otherwise `CreateStamp`.",
              "format": "int32"
            }
          },
          {
            "name": "DoNothing",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the specified Profile",
        "description": "Allows to retrieve a specific Profile identified by its `Id`.",
        "operationId": "GetProfileById",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IncludeCustomImageBytes",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProfileByIdExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableProfileDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update partially the specified Profile",
        "description": "Allows to update partially an existing Profile (+person +account / +organization) identified by its `Id`.<br><p>When altering the category of an organization profile :</p><ul><li>Roles of the old category are removed from the organization profile</li><li>Roles of the new category are added to the organization profile</li><li>Roles that are both in the old and the new category are not affected for the organization profile</li><li>__Triggers an automated update of procuration services.__</li></ul>",
        "operationId": "UpdateProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchProfileCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the specified Profile",
        "description": "Allows to delete an existing Profile identified by its `Id`.",
        "operationId": "DeleteProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/identity-providers/{identityProviderId}": {
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update the relation between the specified Identity Provider and Profile",
        "description": "Allows to create or update an Identity (relation between a person Profile and an Identity Provider).",
        "operationId": "UpsertProfileIdentity",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "identityProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertIdentityCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the relation between the specified Identity Provider and Profile",
        "description": "Allows to delete an existing Identity identified by its Profile and Identity Provider identifiers.",
        "operationId": "DeleteProfileIdentity",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "identityProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/roles": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Roles for the specified Profile",
        "description": "Allows to retrieve a list of Profile's Roles according to certain criteria.",
        "operationId": "GetRolesByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RolesByProfileExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleByProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/roles/{roleId}": {
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update the relation between the specified Role and Profile",
        "description": "Allows to create or update a Profile-Role relation.<br><p>__Triggers an automated update of related procuration services__.</p>",
        "operationId": "UpsertProfileRole",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertProfileRoleCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileRoleDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileRoleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get a specific Role within a specific Profile",
        "description": "Allows to retrieve a specific Role and its relation with a specific Profile",
        "operationId": "GetRoleByProfileAndId",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RoleByProfileAndIdExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleByProfileDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the relation between the specified Role and Profile",
        "description": "Allows to delete an existing Profile-Role identified by its Profile and Role identifiers.<br><p>__Triggers an automated update of related procuration services__.</p>",
        "operationId": "DeleteProfileRole",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Services for the specified Profile",
        "description": "Allows to retrieve the list of Services accessible (by rights) to a Profile according to certain criteria.",
        "operationId": "GetServicesByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters services on the `Id` field to match the provided ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters services on the `Id` field to match the provided ids",
              "nullable": true
            }
          },
          {
            "name": "ServiceThemeId",
            "in": "query",
            "description": "Filters services on the `ServiceThemeId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ServiceThemeId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ExternalId",
            "in": "query",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters services on the `ExternalId` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "IsShownInCatalog",
            "in": "query",
            "description": "Filters services on the `IsShownInCatalog` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsShownInCatalog` field",
              "nullable": true
            }
          },
          {
            "name": "IsForProcurationManagementView",
            "in": "query",
            "description": "Filters services on the `IsProcurationAvailable` field and also disable the anonymous role access path",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsProcurationAvailable` field and also disable the anonymous role access path",
              "nullable": true
            }
          },
          {
            "name": "IsNew",
            "in": "query",
            "description": "Filters services on the `IsNew` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsNew` field",
              "nullable": true
            }
          },
          {
            "name": "UrlContains",
            "in": "query",
            "description": "Filters services on the `Url` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters services on the `Url` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleServiceRole",
            "in": "query",
            "description": "Filters services to keep only the ones that are accessible to the profile within a service-role with given `IsVisible` value",
            "schema": {
              "type": "boolean",
              "description": "Filters services to keep only the ones that are accessible to the profile within a service-role with given `IsVisible` value",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleTheme",
            "in": "query",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `ServiceTheme.IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "IsFavorite",
            "in": "query",
            "description": "Filters services according if set or not as favourite by this profile",
            "schema": {
              "type": "boolean",
              "description": "Filters services according if set or not as favourite by this profile",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServicesByProfileExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceByProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services/{serviceId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the the specified Service for the specified Profile",
        "description": "Allows to retrieve a specific Service when it is accessible (by rights) by the specified Profile.",
        "operationId": "GetServiceByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServiceByProfileExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceByProfileDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{principalProfileId}/outbound-procurations/to/{representativeProfileId}/services": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of agreed Services for the specified Profile's Outbound Procuration",
        "description": "Allows to retrieve a list of Agreed Services within a Profile's Outbound Procuration according to certain criteria.",
        "operationId": "GetOutboundProcurationAgreedServices",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procuration",
            "schema": {
              "type": "integer",
              "description": "Id of the profile who delegated the procuration",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters services on the `Id` field to match the provided ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters services on the `Id` field to match the provided ids",
              "nullable": true
            }
          },
          {
            "name": "ServiceThemeId",
            "in": "query",
            "description": "Filters services on the `ServiceThemeId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ServiceThemeId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ExternalId",
            "in": "query",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters services on the `ExternalId` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "UrlContains",
            "in": "query",
            "description": "Filters services on the `Url` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters services on the `Url` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleTheme",
            "in": "query",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `ServiceTheme.IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "IsShownInCatalog",
            "in": "query",
            "description": "Filters services on the `IsShownInCatalog` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsShownInCatalog` field",
              "nullable": true
            }
          },
          {
            "name": "IsNew",
            "in": "query",
            "description": "Filters services on the `IsNew` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsNew` field",
              "nullable": true
            }
          },
          {
            "name": "IsFavorite",
            "in": "query",
            "description": "Filters services according if set or not as favourite by this procuration",
            "schema": {
              "type": "boolean",
              "description": "Filters services according if set or not as favourite by this procuration",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleServiceRole",
            "in": "query",
            "description": "Filters services to keep only the ones that are accessible to the principal profile within a service-role with given `IsVisible` value",
            "schema": {
              "type": "boolean",
              "description": "Filters services to keep only the ones that are accessible to the principal profile within a service-role with given `IsVisible` value",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServicesByProcurationKeysExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceByProcurationDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add all missing possible Service relations (ProcurationService) for the specified Procuration",
        "description": "Allows to create all missing Procuration-Service links for the specified Procuration.",
        "operationId": "CreateMissingProcurationServices",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item options",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateMissingProcurationServicesCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}/services": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of accessible Services for the specified Profile's Inbound Procuration",
        "description": "Allows to retrieve a list of accessible (by rights) Services within a Profile's Inbound Procuration according to certain criteria.",
        "operationId": "GetInboundProcurationEffectiveServices",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procuration",
            "schema": {
              "type": "integer",
              "description": "Id of the profile who delegated the procuration",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters services on the `Id` field to match the provided ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters services on the `Id` field to match the provided ids",
              "nullable": true
            }
          },
          {
            "name": "ServiceThemeId",
            "in": "query",
            "description": "Filters services on the `ServiceThemeId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ServiceThemeId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ExternalId",
            "in": "query",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters services on the `ExternalId` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "UrlContains",
            "in": "query",
            "description": "Filters services on the `Url` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters services on the `Url` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleTheme",
            "in": "query",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `ServiceTheme.IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "IsShownInCatalog",
            "in": "query",
            "description": "Filters services on the `IsShownInCatalog` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsShownInCatalog` field",
              "nullable": true
            }
          },
          {
            "name": "IsNew",
            "in": "query",
            "description": "Filters services on the `IsNew` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsNew` field",
              "nullable": true
            }
          },
          {
            "name": "IsFavorite",
            "in": "query",
            "description": "Filters services according if set or not as favourite by this procuration",
            "schema": {
              "type": "boolean",
              "description": "Filters services according if set or not as favourite by this procuration",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleServiceRole",
            "in": "query",
            "description": "Filters services to keep only the ones that are accessible to the principal profile within a service-role with given `IsVisible` value",
            "schema": {
              "type": "boolean",
              "description": "Filters services to keep only the ones that are accessible to the principal profile within a service-role with given `IsVisible` value",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServicesByProcurationKeysExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceByProcurationDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{principalProfileId}/outbound-procurations/to/{representativeProfileId}/services/{serviceId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the Agreed Service for the specified Outbound Procuration and Service",
        "description": "Allows to retrieve a specific Agreed Service identified by its Outbound Procuration and Service identifiers.",
        "operationId": "GetAgreedServiceByOutboundProcurationAndId",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServiceByProcurationAndServiceExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceByProcurationDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update the relation (ProcurationService) between the specified Service and Procuration",
        "description": "Allows to create or update a Procuration-Service link.",
        "operationId": "UpsertOutboundProcurationService",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "description": "Id of the service to add to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item to create/update",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertProcurationServiceCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationServiceDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationServiceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the relation (ProcurationService) between the specified Outbound Procuration and Service",
        "description": "Allows to delete an existing Procuration-Service identified by its Outbound Procuration and Service identifiers.",
        "operationId": "DeleteProcurationService",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "description": "Id of the service to add to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}/services/{serviceId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the accessible Service for the specified inbound Procuration and Service",
        "description": "Allows to retrieve a specific accessible (by rights) Service identified by its Inbound Procuration and Service identifiers.",
        "operationId": "GetEffectiveServiceByInboundProcurationAndId",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServiceByProcurationAndServiceExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceByProcurationDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services/themes": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Themes for the specified Profile's Services",
        "description": "Allows to retrieve a list of Profile's Services Themes (by rights) according to certain criteria.",
        "operationId": "GetServiceThemesByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IsVisible",
            "in": "query",
            "description": "Filters themes on the `IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters themes on the `IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "IsForProcurationManagementView",
            "in": "query",
            "description": "Filters services on the `IsProcurationAvailable` field and also disable the anonymous role access path",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsProcurationAvailable` field and also disable the anonymous role access path",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceThemeDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/service-settings": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of configured Service Settings (and their Values) for the specified Profile",
        "description": "Allows to retrieve a list of Profile's configured Service Settings (and their Values) according to certain criteria.",
        "operationId": "GetServiceSettingsByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ServiceId",
            "in": "query",
            "description": "Filters settings on the `ServiceId` field",
            "schema": {
              "type": "integer",
              "description": "Filters settings on the `ServiceId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Name",
            "in": "query",
            "description": "Filters settings on the `Name` field (CI match)",
            "schema": {
              "maxLength": 100,
              "type": "string",
              "description": "Filters settings on the `Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceSettingByProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/service-settings/{settingId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the configured Service Setting (and its Value) for the specified Profile",
        "description": "Allows to retrieve a specific configured Service Setting (and its Value) identified by its Profile and Service Setting identifiers.",
        "operationId": "GetServiceSettingByIdAndProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "settingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceSettingByProfileDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update the specified Service Setting Value for the specified Profile",
        "description": "Allows to create or update a Service Setting Value for a Profile.",
        "operationId": "UpsertServiceSettingValue",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "settingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertServiceSettingValueCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceSettingValueDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceSettingValueDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the specified Service Setting Value from the specified Profile",
        "description": "Allows to delete an existing Service Setting Value identified by its Profile and Service Setting identifiers.",
        "operationId": "DeleteServiceSettingValue",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "settingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{principalProfileId}/outbound-procurations/to/{representativeProfileId}": {
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Create a new Procuration (outbound) from the specified Profile (principal) with another specified Profile (representative)",
        "description": "Allows to create a new Outbound Procuration bewteen a Principal Profile and a Representative Profile.",
        "operationId": "CreateOutboundProcuration",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration to insert",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration to insert",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration to insert",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item to create",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateProcurationCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update the specified Oubtbound Procuration for the specified Profile with another Profile",
        "description": "Allows to create/update an Outbound Procuration bewteen a Principal Profile and a Representative Profile.<br><p>When representative is set as owner or manager (for org. to private proc. only), __triggers an automated update of related procuration services__.</p>",
        "operationId": "UpsertOutboundProcuration",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration to insert/update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration to insert/update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration to insert/update",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item to create/update",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertProcurationCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "patch": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update partially a specific outbound Procuration",
        "description": "Allows to update partially an existing outbound Procuration bewteen a Principal Profile and a Representative Profile.",
        "operationId": "UpdateOutboundProcuration",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the outbound procuration to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the outbound procuration to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the outbound procuration to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Update to apply to the procuration",
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchOutboundProcurationCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the specified Outbound Procuration for the specified Profile with another Profile",
        "description": "Allows to delete an existing Outbound Procuration identified by its Principal Profile and Representative Profile identifiers.",
        "operationId": "DeleteOutboundProcuration",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration to delete",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the Profile's Outbound Procuration with the specified other Profile",
        "description": "Allows to retrieve a specific Procuration identified by its Principal Profile and Representative Profile identifiers.",
        "operationId": "GetOutboundProcurationByKeys",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProcurationsExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableProcurationDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}": {
      "patch": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update partially a specific inbound Procuration",
        "description": "Allows to update partially an existing inbound Procuration bewteen a Principal Profile and a Representative Profile.",
        "operationId": "UpdateInboundProcuration",
        "parameters": [
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the inbound procuration to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the inbound procuration to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the inbound procuration to update",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Update to apply to the procuration",
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchInboundProcurationCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the specified Inbound Procuration for the specified Profile with another Profile",
        "description": "Allows to delete an existing Inbound Procuration identified by its Representative Profile and Principal Profile identifiers.",
        "operationId": "DeleteInboundProcuration",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration to delete",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the Profile's Inbound Procuration with the specified other Profile",
        "description": "Allows to retrieve a specific Procuration identified by its Representative Profile and Principal Profile identifiers.",
        "operationId": "GetInboundProcurationByKeys",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProcurationsExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableProcurationDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/inbound-procurations": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Profile's Inbound Procurations",
        "description": "Allows to retrieve a list of Profile's Inbound Procurations according to certain criteria.",
        "operationId": "GetInboundProcurationsByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procurations",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PrincipalProfileId",
            "in": "query",
            "description": "Id of the profile who is represented through the procurations",
            "schema": {
              "type": "integer",
              "description": "Id of the profile who is represented through the procurations",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procurations. <br />\r\nWhen provided, parameter `IncludeDelegations` is ignored. <br />\r\nValue `-1` can be used as joker to only keep delegated procurations.",
            "schema": {
              "type": "integer",
              "description": "Id of the profile who delegated the procurations. <br />\r\nWhen provided, parameter `IncludeDelegations` is ignored. <br />\r\nValue `-1` can be used as joker to only keep delegated procurations.",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "IncludeDelegations",
            "in": "query",
            "description": "Filters inbound procurations to include/filter out those having or not a delegator profile. <br />\r\nBy default, delegated procurations are not included and only base procurations are returned.",
            "schema": {
              "type": "boolean",
              "description": "Filters inbound procurations to include/filter out those having or not a delegator profile. <br />\r\nBy default, delegated procurations are not included and only base procurations are returned.",
              "nullable": true
            }
          },
          {
            "name": "HasAccessToServiceId",
            "in": "query",
            "description": "Id of a service to which the procurations must have access",
            "schema": {
              "type": "integer",
              "description": "Id of a service to which the procurations must have access",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "IncludeCustomImageBytes",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/InboundProcurationsByProfileExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProcurationDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/outbound-procurations": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Profile's Outbound Procurations",
        "description": "Allows to retrieve a list of Profile's Outbound Procurations according to certain criteria.",
        "operationId": "GetOutboundProcurationsByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procurations",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "RepresentativeProfileId",
            "in": "query",
            "description": "Id of the profile who is representing the principal through the procurations.",
            "schema": {
              "type": "integer",
              "description": "Id of the profile who is representing the principal through the procurations.",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "DelegatorProfileId",
            "in": "query",
            "description": "Id of the profile who delegated the procurations. <br />\r\nWhen provided, parameter `IncludeDelegations` is ignored. <br />\r\nValue `-1` can be used as joker to only keep delegated procurations.",
            "schema": {
              "type": "integer",
              "description": "Id of the profile who delegated the procurations. <br />\r\nWhen provided, parameter `IncludeDelegations` is ignored. <br />\r\nValue `-1` can be used as joker to only keep delegated procurations.",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "IncludeDelegations",
            "in": "query",
            "description": "Filters outbound procurations to include/filter out those having or not a delegator profile. <br />\r\nBy default, delegated procurations are not included and only base procurations are returned.",
            "schema": {
              "type": "boolean",
              "description": "Filters outbound procurations to include/filter out those having or not a delegator profile. <br />\r\nBy default, delegated procurations are not included and only base procurations are returned.",
              "nullable": true
            }
          },
          {
            "name": "IsOrgOwner",
            "in": "query",
            "description": "Filters outbound procurations on the `PersonInOrganizationFunction` field<br />\r\nWhen true, only owners are returned. When false, other members are returned.",
            "schema": {
              "type": "boolean",
              "description": "Filters outbound procurations on the `PersonInOrganizationFunction` field<br />\r\nWhen true, only owners are returned. When false, other members are returned.",
              "nullable": true
            }
          },
          {
            "name": "IsOrgManagerOrOwner",
            "in": "query",
            "description": "Filters outbound procurations on the `PersonInOrganizationFunction` field<br />\r\nWhen true, only owners and managers are returned. When false, other members are returned.",
            "schema": {
              "type": "boolean",
              "description": "Filters outbound procurations on the `PersonInOrganizationFunction` field<br />\r\nWhen true, only owners and managers are returned. When false, other members are returned.",
              "nullable": true
            }
          },
          {
            "name": "RepresentativeProfileKeyword",
            "in": "query",
            "description": "Filters outbound procurations on the following fields of the reprentative profile : <br />\r\n`Id` (exact match),  `Email` (CI, contains) <br />\r\n`Person.AhvNumber` (CI, contains), `Person.Firstname` (CI, contains), `Person.Lastname` (CI, contains),",
            "schema": {
              "type": "string",
              "description": "Filters outbound procurations on the following fields of the reprentative profile : <br />\r\n`Id` (exact match),  `Email` (CI, contains) <br />\r\n`Person.AhvNumber` (CI, contains), `Person.Firstname` (CI, contains), `Person.Lastname` (CI, contains),",
              "nullable": true
            }
          },
          {
            "name": "HasAccessToServiceId",
            "in": "query",
            "description": "Id of a service to which the procurations must have access",
            "schema": {
              "type": "integer",
              "description": "Id of a service to which the procurations must have access",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "IncludeCustomImageBytes",
            "in": "query",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OutboundProcurationsByProfileExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProcurationDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/outbound-procuration-invite": {
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Create a new Procuration Invite (outbound) from the specified Profile (principal)",
        "description": "Allows to create a new Procuration Invite (outbound) from the specified Profile (principal).",
        "operationId": "CreateOutboundProcurationInvite",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateOutboundProcurationInviteCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationInviteDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/outbound-procuration-invite/{inviteId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get a specific outbound Procuration Invite",
        "description": "Allows to retrieve a specific Procuration Invite (outbound) from the specified Profile (principal).",
        "operationId": "GetOutboundProcurationInviteByProfileAndId",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inviteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OutboundProcurationInviteExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableProcurationInviteDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete a specific outbound Procuration Invite",
        "description": "Allows to delete a specific Procuration Invite (outbound) from the specified Profile (principal).",
        "operationId": "DeleteOutboundProcurationInvite",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inviteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update partially a specific outbound Procuration Invite",
        "description": "Allows to update partially an existing outbound Procuration Invite identified by its principal profile and its `Id`.",
        "operationId": "UpdateOutboundProcurationInvite",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inviteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchOutboundProcurationInviteCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/outbound-procuration-invites": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Profile's outbound Procuration Invites",
        "description": "Allows to retrieve a list of Profile's outbound Procuration Invites according to certain criteria.",
        "operationId": "GetOutboundProcurationInvitesByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IsClosed",
            "in": "query",
            "description": "Filters procuration invites on the `IsApproved` field, an invite is closed when `IsApproved` is not null.",
            "schema": {
              "type": "boolean",
              "description": "Filters procuration invites on the `IsApproved` field, an invite is closed when `IsApproved` is not null.",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OutboundProcurationInviteExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProcurationInviteDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/inbound-procuration-invite": {
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Consume an existing Procuration Invite (inbound) within the specified Profile (representative)",
        "description": "Allows to consume an existing Procuration Invite (inbound) within the specified Profile (representative).",
        "operationId": "ConsumeInboundProcurationInvite",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConsumeInboundProcurationInviteCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationInviteDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/inbound-procuration-invite/{inviteId}": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get a specific inbound Procuration Invite",
        "description": "Allows to retrieve a specific Procuration Invite (inbound) from the specified Profile (representative).",
        "operationId": "GetInboundProcurationInviteByProfileAndId",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inviteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/InboundProcurationInviteExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableProcurationInviteDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete a specific inbound Procuration Invite",
        "description": "Allows to delete a specific Procuration Invite (inbound) from the specified Profile (representative).",
        "operationId": "DeleteInboundProcurationInvite",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inviteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update partially a specific inbound Procuration Invite",
        "description": "Allows to update partially an existing inbound Procuration Invite identified by its representative profile and its `Id`.",
        "operationId": "UpdateInboundProcurationInvite",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inviteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/merge-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchInboundProcurationInviteCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/inbound-procuration-invites": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of Profile's inbound Procuration Invites",
        "description": "Allows to retrieve a list of Profile's inbound Procuration Invites according to certain criteria.",
        "operationId": "GetInboundProcurationInvitesByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IsClosed",
            "in": "query",
            "description": "Filters procuration invites on the `IsApproved` field, an invite is closed when `IsApproved` is not null.",
            "schema": {
              "type": "boolean",
              "description": "Filters procuration invites on the `IsApproved` field, an invite is closed when `IsApproved` is not null.",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/InboundProcurationInviteExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProcurationInviteDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/picture": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the the Profile Picture of the specified Profile",
        "description": "Allows to retrieve the Profile Picture of the specified Profile.",
        "operationId": "GetProfilePictureByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IncludeCustomImageBytes",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfilePictureDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Update the Profile Picture of the specified Profile",
        "description": "Allows to update the Profile Picture of the specified Profile",
        "operationId": "UpdateCustomProfilePicture",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateCustomProfilePictureCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete the Custom Profile Picture of the specified Profile",
        "description": "Allows to delete the Custom Profile Picture for the specified Profile",
        "operationId": "DeleteCustomProfilePicture",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services/{serviceId}/survey": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the survey status of the specified Profile and Service",
        "description": "Allows to retrieve the survey status of the specified Profile and Service.",
        "operationId": "GetSurveyStatus",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SurveyStatusDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services/{serviceId}/survey/entries": {
      "post": {
        "tags": [
          "Profiles"
        ],
        "summary": "Create a survey entry for the specified Profile and Service Survey",
        "description": "Allows to create a survey entry for the specified Profile and Service survey",
        "operationId": "CreateSurveyEntry",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateSurveyEntryCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SurveyEntryDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services/{serviceId}/survey/entries/last": {
      "patch": {
        "tags": [
          "Profiles"
        ],
        "summary": "Patch the last survey entry for the specified Profile and Service Survey",
        "description": "Allows to patch the last survey entry for the specified Profile and Service survey",
        "operationId": "PatchLastSurveyEntry",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchLastSurveyEntryCommand"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchLastSurveyEntryCommand"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchLastSurveyEntryCommand"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchLastSurveyEntryCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SurveyEntryDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/services/widgets": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get the list of accessible Widgets for the specified Profile",
        "description": "Allows to retrieve a list of Widgets accessible (by rights) by a specific Profile according to certain criteria.",
        "operationId": "GetWidgetsByProfile",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IsFavorite",
            "in": "query",
            "description": "Filters widgets according if set or not as favourite by this procuration",
            "schema": {
              "type": "boolean",
              "description": "Filters widgets according if set or not as favourite by this procuration",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WidgetByProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}/services/widgets": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "summary": "Get list of accessible Widgets for the specified Profile's Inbound Procuration",
        "description": "Allows to retrieve a list of accessible (by rights) Widgets within a Profile's Inbound Procuration according to certain criteria.",
        "operationId": "GetInboundProcurationWidgets",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IsFavorite",
            "in": "query",
            "description": "Filters widgets according if set or not as favourite by this procuration",
            "schema": {
              "type": "boolean",
              "description": "Filters widgets according if set or not as favourite by this procuration",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WidgetByProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/favorites/widgets/{widgetId}": {
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update a Widget as favorite for the specified Profile",
        "description": "Allows to create or update a relation of favorite between a specific Widget and a specific Profile.",
        "operationId": "UpsertFavoriteWidget",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteWidgetDto"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteWidgetDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete a Widget from the favorites of the specified Profile",
        "description": "Allows to delete an existing relation of favorite between a specific Widget and a specific Profile.",
        "operationId": "DeleteFavoriteWidget",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}/favorites/widgets/{widgetId}": {
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update a Widget as favorite for the specified Profile's Inbound Procuration",
        "description": "Allows to create or update a relation of favorite between a specific Widget and a specific Profile's Inbound Procuration.",
        "operationId": "UpsertInboundProcurationFavoriteWidget",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "description": "Id of the widget for which a favorite must be created",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item to create/update",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteWidgetCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteWidgetDto"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteWidgetDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete a Widget from the favorites of the specified Profile's Inbound Procuration",
        "description": "Allows to delete an existing relation of favorite between a specific Widget and a specific Profile's Inbound Procuration.",
        "operationId": "DeleteInboundProcurationFavoriteWidget",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "description": "Id of the widget for which the favorite must be removed",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{profileId}/favorites/services/{serviceId}": {
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete a Service from the favorites of the specified Profile",
        "description": "Allows to delete an existing relation of favorite between a specific Service and a specific Profile.",
        "operationId": "DeleteFavoriteService",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update a Service as favorite for the specified Profile",
        "description": "Allows to create or update a relation of favorite between a specific Service and a specific Profile.",
        "operationId": "UpsertFavoriteService",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteServiceDto"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteServiceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}/favorites/service/{serviceId}": {
      "delete": {
        "tags": [
          "Profiles"
        ],
        "summary": "Delete a Service from the favorites of the specified Profile's Inbound Procuration",
        "description": "Allows to delete an existing relation of favorite between a specific Service and a specific Profile's Inbound Procuration.",
        "operationId": "DeleteInboundProcurationFavoriteService",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "description": "Id of the service for which the favorite must be removed",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{representativeProfileId}/inbound-procurations/from/{principalProfileId}/favorites/services/{serviceId}": {
      "put": {
        "tags": [
          "Profiles"
        ],
        "summary": "Add/update a Service as favorite for the specified Profile's Inbound Procuration",
        "description": "Allows to create or update a relation of favorite between a specific Service and a specific Profile's Inbound Procuration.",
        "operationId": "UpsertInboundProcurationFavoriteService",
        "parameters": [
          {
            "name": "representativeProfileId",
            "in": "path",
            "description": "Id of the representative profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "principalProfileId",
            "in": "path",
            "description": "Id of the principal profile linked to the procuration",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "description": "Id of the service for which a favorite must be created",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "delegatorProfileId",
            "in": "query",
            "description": "Id of the delegator profile linked to the procuration",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item to create/update",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertFavoriteServiceCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteServiceDto"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FavoriteServiceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/roles": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get a list of Roles",
        "description": "Allows to retrieve a list of Roles according to certain criteria.",
        "operationId": "GetRoles",
        "parameters": [
          {
            "name": "Name",
            "in": "query",
            "description": "Filters settings on the `Name` field (CI match)",
            "schema": {
              "maxLength": 100,
              "type": "string",
              "description": "Filters settings on the `Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Roles"
        ],
        "summary": "Add a new Role",
        "description": "Allows to create a new Role.",
        "operationId": "CreateRole",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateRoleCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/roles/{roleId}": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get the specified Role",
        "description": "Allows to retrieve a specific Role identified by its `Id`.",
        "operationId": "GetRoleById",
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Roles"
        ],
        "summary": "Update the specified Role",
        "description": "Allows to update an existing Role identified by its `Id`.",
        "operationId": "UpdateRole",
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateRoleCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Roles"
        ],
        "summary": "Delete the specified Role",
        "description": "Allows to delete an existing Role identified by its `Id`.",
        "operationId": "DeleteRole",
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/roles/{roleId}/profiles": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Get the list of Profiles for the specified Role",
        "description": "Allows to retrieve a list of Role's Profiles according to certain criteria.",
        "operationId": "GetProfilesByRole",
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ProfileType",
            "in": "query",
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ProfileType"
                }
              ],
              "description": "Filters profiles bye their type (person-type or organization-type)",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProfilesByRoleExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services": {
      "head": {
        "tags": [
          "Services"
        ],
        "summary": "Get a list of Services (headers only)",
        "description": "Allows to retrieve a list of Services (headers only) according to certain criteria.",
        "operationId": "GetServicesWithOnlyHeaders",
        "parameters": [
          {
            "name": "HeadersOnly",
            "in": "query",
            "description": "Defines if the response will only contains headers",
            "schema": {
              "type": "boolean",
              "description": "Defines if the response will only contains headers",
              "default": false
            }
          },
          {
            "name": "AsAnonymous",
            "in": "query",
            "description": "Filters services to only keep the ones that are visible through anonymous role",
            "schema": {
              "type": "boolean",
              "description": "Filters services to only keep the ones that are visible through anonymous role",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters services on the `Id` field to match the provided ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters services on the `Id` field to match the provided ids",
              "nullable": true
            }
          },
          {
            "name": "ServiceThemeId",
            "in": "query",
            "description": "Filters services on the `ServiceThemeId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ServiceThemeId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ClientId",
            "in": "query",
            "description": "Filters services on the `ClientId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ClientId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ExternalId",
            "in": "query",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters services on the `ExternalId` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "IdentificationLevelId",
            "in": "query",
            "description": "Filters services on the `IdentificationLevelId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `IdentificationLevelId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "OrgIdentificationLevelId",
            "in": "query",
            "description": "Filters services on the `OrgIdentificationLevelId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `OrgIdentificationLevelId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "HasAtLeastOneSetting",
            "in": "query",
            "description": "Filters services to keep only the ones that have at least one setting",
            "schema": {
              "type": "boolean",
              "description": "Filters services to keep only the ones that have at least one setting",
              "nullable": true
            }
          },
          {
            "name": "IsShownInCatalog",
            "in": "query",
            "description": "Filters services on the `IsShownInCatalog` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsShownInCatalog` field",
              "nullable": true
            }
          },
          {
            "name": "IsNew",
            "in": "query",
            "description": "Filters services on the `IsNew` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsNew` field",
              "nullable": true
            }
          },
          {
            "name": "UrlContains",
            "in": "query",
            "description": "Filters services on the `Url` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters services on the `Url` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleTheme",
            "in": "query",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `ServiceTheme.IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServicesExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get a list of Services",
        "description": "Allows to retrieve a list of Services according to certain criteria.",
        "operationId": "GetServices",
        "parameters": [
          {
            "name": "HeadersOnly",
            "in": "query",
            "description": "Defines if the response will only contains headers",
            "schema": {
              "type": "boolean",
              "description": "Defines if the response will only contains headers",
              "default": false
            }
          },
          {
            "name": "AsAnonymous",
            "in": "query",
            "description": "Filters services to only keep the ones that are visible through anonymous role",
            "schema": {
              "type": "boolean",
              "description": "Filters services to only keep the ones that are visible through anonymous role",
              "nullable": true
            }
          },
          {
            "name": "Ids",
            "in": "query",
            "description": "Filters services on the `Id` field to match the provided ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": "Filters services on the `Id` field to match the provided ids",
              "nullable": true
            }
          },
          {
            "name": "ServiceThemeId",
            "in": "query",
            "description": "Filters services on the `ServiceThemeId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ServiceThemeId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ClientId",
            "in": "query",
            "description": "Filters services on the `ClientId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `ClientId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "ExternalId",
            "in": "query",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "schema": {
              "maxLength": 50,
              "type": "string",
              "description": "Filters services on the `ExternalId` field (exact match)",
              "nullable": true
            }
          },
          {
            "name": "IdentificationLevelId",
            "in": "query",
            "description": "Filters services on the `IdentificationLevelId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `IdentificationLevelId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "OrgIdentificationLevelId",
            "in": "query",
            "description": "Filters services on the `OrgIdentificationLevelId` field",
            "schema": {
              "type": "integer",
              "description": "Filters services on the `OrgIdentificationLevelId` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "HasAtLeastOneSetting",
            "in": "query",
            "description": "Filters services to keep only the ones that have at least one setting",
            "schema": {
              "type": "boolean",
              "description": "Filters services to keep only the ones that have at least one setting",
              "nullable": true
            }
          },
          {
            "name": "IsShownInCatalog",
            "in": "query",
            "description": "Filters services on the `IsShownInCatalog` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsShownInCatalog` field",
              "nullable": true
            }
          },
          {
            "name": "IsNew",
            "in": "query",
            "description": "Filters services on the `IsNew` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `IsNew` field",
              "nullable": true
            }
          },
          {
            "name": "UrlContains",
            "in": "query",
            "description": "Filters services on the `Url` field (CI, contains)",
            "schema": {
              "maxLength": 400,
              "type": "string",
              "description": "Filters services on the `Url` field (CI, contains)",
              "nullable": true
            }
          },
          {
            "name": "HasVisibleTheme",
            "in": "query",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters services on the `ServiceTheme.IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServicesExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableServiceDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Add a new Service",
        "description": "Allows to create a new Service.",
        "operationId": "CreateService",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateServiceCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the specified Service",
        "description": "Allows to retrieve a specific Service identified by its `Id`.",
        "operationId": "GetServiceById",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ServiceByIdExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableServiceDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update the specified Service",
        "description": "Allows to update an existing Service identified by its `Id`.<br><p>When `IsProcurationAvailable` is toggled, __triggers an automated update of related procuration services__.</p>",
        "operationId": "UpdateService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateServiceCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete the specified Service",
        "description": "Allows to delete an existing Service identified by its `Id`.",
        "operationId": "DeleteService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/profiles": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the list of Profiles for the specified Service",
        "description": "Allows to retrieve a list of Service's Profiles (by rights) according to certain criteria.",
        "operationId": "GetProfilesByService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ProfileType",
            "in": "query",
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ProfileType"
                }
              ],
              "description": "Filters profiles bye their type (person-type or organization-type)",
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProfilesByServiceExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableProfileDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/roles/{roleId}": {
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Add/update the relation between the specified Role and Service",
        "description": "Allows to create or update a Service-Role relation.<br><p>__Triggers an automated update of related procuration services__.</p>",
        "operationId": "UpsertServiceRole",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertServiceRoleCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceRoleDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceRoleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete the relation between the specified Role and Service",
        "description": "Allows to delete an existing Service-Role identified by its Service and Role identifiers.<br><p>__Triggers an automated update of related procuration services__.</p>",
        "operationId": "DeleteServiceRole",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the the specified Role within the Service",
        "description": "Allows to retrieve a specific Role (and its relation) within a Service",
        "operationId": "GetRoleByServiceAndId",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "roleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RoleByServiceAndIdExpand"
              }
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleByServiceDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/roles": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the list of Roles for the specified Service",
        "description": "Allows to retrieve a list of Service's Roles (and their relations) according to certain criteria.",
        "operationId": "GetRolesByService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RolesByServiceExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleByServiceDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/clients": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the list of Clients for the specified Service",
        "description": "Allows to retrieve a list of Service's Clients according to certain criteria.",
        "operationId": "GetClientsByService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/clients/{clientId}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the the specified Client within the Service",
        "description": "Allows to retrieve a specific Client within a Service",
        "operationId": "GetClientByServiceAndId",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Add/update the relation between the specified Client and Service",
        "description": "Allows to create or update a Service-Client relation.",
        "operationId": "UpsertServiceClient",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertServiceClientCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceClientDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceClientDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete the relation between the specified Client and Service",
        "description": "Allows to delete an existing Service-Client identified by its Service and Client identifiers.",
        "operationId": "DeleteServiceClient",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/settings": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the list of Service Settings for the specified Service",
        "description": "Allows to retrieve a list of Service's Settings according to certain criteria.",
        "operationId": "GetServiceSettingsByService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Name",
            "in": "query",
            "description": "Filters settings on the `Name` field (CI match)",
            "schema": {
              "maxLength": 100,
              "type": "string",
              "description": "Filters settings on the `Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceSettingDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Add an new Service Setting to the specified Service",
        "description": "Allows to create a new Service Setting for the given Service.",
        "operationId": "CreateServiceSetting",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateServiceSettingCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceSettingDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/settings/{settingId}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the specified Service Setting for the specified Service",
        "description": "Allows to retrieve a specific Service Setting identified by its Service and Service Setting identifiers.",
        "operationId": "GetServiceSettingByIdAndService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "settingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceSettingDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update the specified Service Setting for the specified Service",
        "description": "Allows to update an existing Service Setting identified by its Service and Service Setting identifiers.",
        "operationId": "UpdateServiceSetting",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "settingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateServiceSettingCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceSettingDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete the specified Service Setting for the specified Service",
        "description": "Allows to delete an existing Service Setting identified by its Service and Service Setting identifiers.",
        "operationId": "DeleteServiceSetting",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "settingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/steps": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the list of Service Steps for the specified Service",
        "description": "Allows to retrieve a list of Service's Steps according to certain criteria.",
        "operationId": "GetServiceStepsByService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Name",
            "in": "query",
            "description": "Filters steps on the `Name` field (CI match)",
            "schema": {
              "maxLength": 100,
              "type": "string",
              "description": "Filters steps on the `Name` field (CI match)",
              "nullable": true
            }
          },
          {
            "name": "MinSortOrder",
            "in": "query",
            "description": "Filters steps on the `SortOrder` field",
            "schema": {
              "type": "integer",
              "description": "Filters steps on the `SortOrder` field",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStepDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Add an new Service Step to the specified Service",
        "description": "Allows to create a new Service Step for the given Service.",
        "operationId": "CreateServiceStep",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateServiceStepCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceStepDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/steps/{stepId}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the specified Service Step for the specified Service",
        "description": "Allows to retrieve a specific Service Step identified by its Service and Service Step identifiers.",
        "operationId": "GetServiceStepByIdAndService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceStepDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update the specified Service Step for the specified Service",
        "description": "Allows to update an existing Service Step identified by its Service and Service Step identifiers.",
        "operationId": "UpdateServiceStep",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateServiceStepCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceStepDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete the specified Service Step for the specified Service",
        "description": "Allows to delete an existing Service Step identified by its Service and Service Step identifiers.",
        "operationId": "DeleteServiceStep",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/survey": {
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Create or update the Survey for the specified Service",
        "description": "Allows to create or update an existing Survey identified by its Service identifier.",
        "operationId": "UpsertSurvey",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertSurveyCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SurveyDto"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SurveyDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get the Survey for the specified Service",
        "description": "Allows to retrieve a specific Survey identified by its Service identifier.",
        "operationId": "GetSurveyByServiceId",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SurveyDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete the Survey for the specified Service",
        "description": "Allows to delete an existing Survey identified by its Service identifier.",
        "operationId": "DeleteSurvey",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/widgets/types": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get a list of available ChartTypes for widgets",
        "description": "Allows to retrieve a list of available Widget ChartTypes.",
        "operationId": "GetWidgetChartTypes",
        "parameters": [
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChartTypeDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/widgets": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Create a new Widget for the specified Service",
        "description": "Allows to create a Widget for the given Service",
        "operationId": "CreateServiceWidget",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateWidgetCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WidgetDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get a list of Widget for the specified Service",
        "description": "Allows to retrieve a list of Service's Widgets according to certain criteria.",
        "operationId": "GetWidgetsByService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/WidgetsByServiceExpand"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpandableWidgetDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/services/{serviceId}/widgets/{widgetId}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get a specific Widget for the specified Service",
        "description": "Allows to retrieve a specific Widget identified by its Service and Widget identifiers.",
        "operationId": "GetWidgetByIdAndService",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Expand",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/WidgetByIdAndServiceExpand"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpandableWidgetDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update a specific Widget for the specified Service",
        "description": "Allows to update an existing Widget identified by its Service and Widget identifiers.",
        "operationId": "UpdateServiceWidget",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateWidgetCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WidgetDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete a specific Widget for the specified Service",
        "description": "Allows to delete an existing Widget identified by its Service and Widget identifiers.",
        "operationId": "DeleteServiceWidget",
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/themes": {
      "get": {
        "tags": [
          "ServiceThemes"
        ],
        "summary": "Get a list of Themes",
        "description": "Allows to retrieve a list of Service Themes according to certain criteria.",
        "operationId": "GetServiceThemes",
        "parameters": [
          {
            "name": "AsAnonymous",
            "in": "query",
            "description": "Filters themes to keep only the ones that are visible through the anonymous role",
            "schema": {
              "type": "boolean",
              "description": "Filters themes to keep only the ones that are visible through the anonymous role",
              "nullable": true
            }
          },
          {
            "name": "IsVisible",
            "in": "query",
            "description": "Filters themes on the `IsVisible` field",
            "schema": {
              "type": "boolean",
              "description": "Filters themes on the `IsVisible` field",
              "nullable": true
            }
          },
          {
            "name": "HasServiceShownInCatalog",
            "in": "query",
            "description": "Filters themes to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`",
            "schema": {
              "type": "boolean",
              "description": "Filters themes to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`",
              "nullable": true
            }
          },
          {
            "name": "Limited",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            }
          },
          {
            "name": "Select",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Page number (index, 1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Pagination-Total-Count": {
                "description": "Total number of elements",
                "schema": {
                  "type": "int",
                  "description": "Total number of elements",
                  "format": ""
                }
              },
              "X-Pagination-Page-Size": {
                "description": "Size of a page of element",
                "schema": {
                  "type": "int",
                  "description": "Size of a page of element",
                  "format": ""
                }
              },
              "X-Pagination-Current-Page": {
                "description": "Index of the current page",
                "schema": {
                  "type": "int",
                  "description": "Index of the current page",
                  "format": ""
                }
              },
              "X-Pagination-Total-Pages": {
                "description": "Total number of pages",
                "schema": {
                  "type": "int",
                  "description": "Total number of pages",
                  "format": ""
                }
              },
              "X-Pagination-Next-Page-Link": {
                "description": "Link to the next page",
                "schema": {
                  "type": "string",
                  "description": "Link to the next page",
                  "format": ""
                }
              },
              "X-Pagination-Previous-Page-Link": {
                "description": "Link to the previous page",
                "schema": {
                  "type": "string",
                  "description": "Link to the previous page",
                  "format": ""
                }
              },
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceThemeDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ServiceThemes"
        ],
        "summary": "Add an new Theme",
        "description": "Allows to create a new Service Theme.",
        "operationId": "CreateServiceTheme",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateServiceThemeCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceThemeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/themes/{themeId}": {
      "get": {
        "tags": [
          "ServiceThemes"
        ],
        "summary": "Get the specified Theme",
        "description": "Allows to retrieve a specific Service Theme identified by its `Id`.",
        "operationId": "GetServiceThemeById",
        "parameters": [
          {
            "name": "themeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceThemeDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ServiceThemes"
        ],
        "summary": "Update a the specified Theme",
        "description": "Allows to update an existing Service Theme identified by its `Id`.",
        "operationId": "UpdateServiceTheme",
        "parameters": [
          {
            "name": "themeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateServiceThemeCommand"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceThemeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ServiceThemes"
        ],
        "summary": "Delete the specified Theme",
        "description": "Allows to delete an existing Service Theme identified by its `Id`.<br><p>Deletion is only possible when the targeted service theme is not in use by any Service.</p>",
        "operationId": "DeleteServiceTheme",
        "parameters": [
          {
            "name": "themeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/settings/procuration-renewal": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get configuration related to procurations renewal",
        "description": "Allows to retrieve a configuration related to procuration renewal.",
        "operationId": "GetProcurationRenewalSettings",
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcurationRenewalSettingsDto"
                }
              }
            }
          }
        }
      }
    },
    "/settings/person-inactivity": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get configuration related to person inactivity delays",
        "description": "Allows to retrieve a configuration related to person inactivity.",
        "operationId": "GetPersonsInactivitySettings",
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Correlation-Id": {
                "description": "Unique identifier of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PersonInactivitySettingsDto"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "username": {
            "type": "string",
            "description": "Username (used only for username provider)",
            "nullable": true
          },
          "password": {
            "type": "string",
            "description": "Password (used only for username provider)",
            "nullable": true
          },
          "sessionDuration": {
            "type": "integer",
            "description": "Session duration in minutes before the user is disconnected",
            "format": "int32",
            "nullable": true
          },
          "isSignupComplete": {
            "type": "boolean",
            "description": "Indicates if the signup of the account is complete"
          },
          "isLocal": {
            "type": "boolean",
            "description": "Indicates if the account has been matched with GERES"
          },
          "hasSeenOwnProfile": {
            "type": "boolean",
            "description": "Indicates if the user has already seen its profile edition"
          }
        },
        "additionalProperties": false,
        "description": "Reprsents an account inside the ePortal"
      },
      "BaseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier",
            "format": "int32"
          },
          "createdBy": {
            "type": "string",
            "description": "Creation requester"
          },
          "createStamp": {
            "type": "string",
            "description": "Date and time of creation (UTC)",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "description": "Requester of the last update",
            "nullable": true
          },
          "updateStamp": {
            "type": "string",
            "description": "Date and time of the last update (UTC)",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Base DTO containing fields that are common to all DTOs"
      },
      "ChartTypeDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "libraryType": {
            "type": "string",
            "description": "Type of chart type within the chart library"
          },
          "icon": {
            "type": "string",
            "description": "Icon name that will be used to associate an image"
          }
        },
        "additionalProperties": false
      },
      "ClientDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConsumeInboundProcurationInviteCommand": {
        "required": [
          "token"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "token": {
            "maxLength": 10,
            "minLength": 10,
            "type": "string",
            "description": "Unique token of the invitation to consume"
          },
          "consumerInOrgProfileId": {
            "type": "integer",
            "description": "Identifier of the person profile in an organization who consumes the procuration invite",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateClientCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateCommand": {
        "required": [
          "createdBy"
        ],
        "type": "object",
        "properties": {
          "createdBy": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Requester of the creation"
          }
        },
        "additionalProperties": false,
        "description": "Base class for commands involving creation"
      },
      "CreateIdentificationLevelCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "levelOfTrust": {
            "minimum": 0,
            "type": "integer",
            "description": "Level value of the identification level",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateIdentityProviderCommand": {
        "required": [
          "displayName",
          "name",
          "typeName"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "typeName": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "Name of the binary related to this provider"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Defines if the provider will be used by default",
            "default": false
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Defines if the provider is enabled",
            "default": false
          },
          "data": {
            "maxLength": 4000,
            "type": "string",
            "description": "Contains specific data used by the provider",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateLegalFormCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "code": {
            "type": "string",
            "description": "Unique code used during organization registration to know if self-registration is possible.<br />\r\nCannot contain the character '_'.",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isOrgDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if affiliated organizations can be deleted by one of their owners",
            "default": true
          }
        },
        "additionalProperties": false
      },
      "CreateMaritalStatusCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the marital status is usable by the citizen",
            "default": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the marital statuses will be sorted (asc) for display to the citizen<br />\r\nWhen omitted, the higher value + 1 is used by default.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateMissingProcurationServicesCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid. Default value is now.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateOrgCategoryCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "code": {
            "type": "string",
            "description": "Unique code used during registration to know if self-registration is possible<br />\r\nCannot contain the character '_'.",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the category is shown in the organization registration form",
            "default": true
          },
          "isOrgDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if affiliated organizations can be deleted by one of their owners",
            "default": true
          },
          "profilePictureUrl": {
            "maxLength": 100,
            "type": "string",
            "description": "Url of the default profile picture for organizations belonging to this category",
            "nullable": true
          },
          "smallProfilePictureUrl": {
            "maxLength": 100,
            "type": "string",
            "description": "Url of the default profile picture (small version) for organizations belonging to this category",
            "nullable": true
          },
          "daysUntilFirstDeletionReminder": {
            "type": "integer",
            "description": "Number of days until the first deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          },
          "daysUntilSecondDeletionReminder": {
            "type": "integer",
            "description": "Number of days until the second deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          },
          "daysUntilDeletion": {
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "description": "Number of days until the deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateOrgIdentificationLevelCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "levelOfTrust": {
            "minimum": 0,
            "type": "integer",
            "description": "Level value of the identification level",
            "format": "int32"
          },
          "elevationServiceId": {
            "type": "integer",
            "description": "Identifier of the service designed to elevate an organization profile to this identification level",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateOutboundProcurationInviteCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Short description of the procuration case",
            "nullable": true
          },
          "principalBusinessCaseId": {
            "type": "string",
            "description": "Business case ID for the principal side",
            "format": "uuid",
            "nullable": true
          },
          "serviceIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Listing of service identifiers that will be part of the procuration when the invitation process is achieved"
          }
        },
        "additionalProperties": false
      },
      "CreateProcurationCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid. Default value is now.",
            "format": "date-time"
          },
          "personInOrganizationFunction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgFunction"
              }
            ],
            "description": "Representative's function within the organization.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "isPersonInOrganizationPendingDelete": {
            "type": "boolean",
            "description": "Defines if the representative is in the process of being removed from the organization.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is an owner of the said organization.",
            "default": false
          },
          "representativeEmail": {
            "maxLength": 400,
            "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\")+[a-zA-Z]{2,}))$",
            "type": "string",
            "description": "Email to notify the representative in the context of the procuration.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "delegationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DelegationMode"
              }
            ],
            "description": "Procuration delegation mode to define how rights can be shared with organization members.<br />\r\nOnly available when RepresentativeProfile is an organization.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateProfileCommand": {
        "required": [
          "email"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the profile is enabled (usable)",
            "default": true
          },
          "externalKey": {
            "maxLength": 50,
            "type": "string",
            "description": "External unique key",
            "nullable": true
          },
          "email": {
            "maxLength": 400,
            "minLength": 1,
            "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\")+[a-zA-Z]{2,}))$",
            "type": "string",
            "description": "Contact email"
          },
          "language": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "description": "Preferred language (e.g. : EN)",
            "nullable": true
          },
          "phone": {
            "maxLength": 40,
            "pattern": "^\\+([0-9]{2}(\\s)?){2}[0-9]{3}((\\s)?[0-9]{2}){2}$",
            "type": "string",
            "description": "Phone number",
            "nullable": true
          },
          "fax": {
            "maxLength": 40,
            "pattern": "^\\+([0-9]{2}(\\s)?){2}[0-9]{3}((\\s)?[0-9]{2}){2}$",
            "type": "string",
            "description": "Fax number",
            "nullable": true
          },
          "address": {
            "maxLength": 320,
            "type": "string",
            "description": "Address (with house number)",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 12,
            "pattern": "^[0-9]{4}$",
            "type": "string",
            "description": "ZipCode of the city",
            "nullable": true
          },
          "city": {
            "maxLength": 160,
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "countryCode": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "description": "Country code (e.g. : CH)",
            "nullable": true
          },
          "acceptsAdvertisement": {
            "type": "boolean",
            "description": "Indicates if the profile accepts to receive advertisement",
            "default": true
          },
          "person": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateProfilePerson"
              }
            ],
            "nullable": true
          },
          "organization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateProfileOrganization"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateProfileOrganization": {
        "required": [
          "legalFormId",
          "name",
          "orgCategoryId"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string",
            "description": "Name of the organization"
          },
          "uid": {
            "maxLength": 30,
            "type": "string",
            "allOf": [
              {
                "pattern": "^(CHE(-)?)((([0-9](\\.)?){3}){3})$"
              },
              {
                "pattern": "^(CHE(-)?)((([0-9](\\.)?){3}){3})$"
              }
            ],
            "description": "Federal unique ID of the organization (CHE-...)",
            "nullable": true
          },
          "fsoId": {
            "type": "integer",
            "description": "Unique ID provided by the Federal Statistical Office",
            "format": "int32",
            "nullable": true
          },
          "website": {
            "maxLength": 400,
            "type": "string",
            "description": "Website URL",
            "nullable": true
          },
          "orgCategoryId": {
            "type": "integer",
            "description": "Id of the category",
            "format": "int32"
          },
          "legalFormId": {
            "type": "integer",
            "description": "Id of the legal form",
            "format": "int32"
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Id of the identification level",
            "format": "int32"
          },
          "identificationProcess": {
            "maxLength": 100,
            "type": "string",
            "description": "Name of the idenfication process used for registration",
            "nullable": true
          },
          "isSelfRegistration": {
            "type": "boolean",
            "description": "Indicates if the organization has been self-registred through the ePortal",
            "default": false
          },
          "createdByProfileId": {
            "type": "integer",
            "description": "Profile Id of the user that has fill the registration form for this organization",
            "format": "int32",
            "nullable": true
          },
          "isPending": {
            "type": "boolean",
            "description": "Indicates if the organization is still in approvment phase",
            "default": true
          },
          "signatureType": {
            "title": "SignatureType",
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatureType"
              }
            ],
            "description": "Type of the signature (registration related)",
            "default": "Single"
          },
          "businessCaseId": {
            "type": "string",
            "description": "Id of the business case related to the registration of this organization",
            "format": "uuid",
            "nullable": true
          },
          "signatories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateProfileOrganizationSignatory"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateProfileOrganizationSignatory": {
        "required": [
          "email",
          "firstname",
          "lastname"
        ],
        "type": "object",
        "properties": {
          "isRequester": {
            "type": "boolean",
            "description": "Indicates if this signatory is the same profile as the one that submitted the organization registration"
          },
          "type": {
            "title": "SignatoryType",
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatoryType"
              }
            ],
            "description": "Type of the signature (contract between ePortal and organization)"
          },
          "position": {
            "maxLength": 100,
            "type": "string",
            "description": "Position of this signatory within the organization (e.g. CEO, secretary, etc.)",
            "nullable": true
          },
          "gender": {
            "title": "Gender",
            "allOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ],
            "description": "Gender following the ISO/IEC 5218",
            "default": "Unknown"
          },
          "firstname": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string",
            "description": "Firstname"
          },
          "lastname": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string",
            "description": "Lastname"
          },
          "birthdate": {
            "type": "string",
            "description": "Date of birth",
            "format": "date-time"
          },
          "email": {
            "maxLength": 400,
            "minLength": 1,
            "type": "string",
            "allOf": [
              {
                "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\")+[a-zA-Z]{2,}))$"
              },
              {
                "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\")+[a-zA-Z]{2,}))$"
              },
              {
                "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\")+[a-zA-Z]{2,}))$"
              }
            ],
            "description": "Email address"
          },
          "ahvNumber": {
            "maxLength": 64,
            "type": "string",
            "description": "AHV number",
            "nullable": true
          },
          "identityNumber": {
            "maxLength": 80,
            "type": "string",
            "description": "Identity number specified on identity document",
            "nullable": true
          },
          "address": {
            "maxLength": 320,
            "type": "string",
            "description": "Address (with house number)",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 12,
            "type": "string",
            "allOf": [
              {
                "pattern": "^[0-9]{4}$"
              },
              {
                "pattern": "^[0-9]{4}$"
              },
              {
                "pattern": "^[0-9]{4}$"
              }
            ],
            "description": "ZipCode of the city",
            "nullable": true
          },
          "city": {
            "maxLength": 160,
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "origin": {
            "maxLength": 160,
            "type": "string",
            "description": "Place of origin (city/town + country when outside Switzerland)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateProfilePerson": {
        "required": [
          "firstname",
          "lastname"
        ],
        "type": "object",
        "properties": {
          "firstname": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string",
            "description": "Firstname"
          },
          "lastname": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string",
            "description": "Lastname"
          },
          "gender": {
            "title": "Gender",
            "allOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ],
            "description": "Gender following the ISO/IEC 5218",
            "default": "Unknown"
          },
          "ahvNumber": {
            "maxLength": 64,
            "type": "string",
            "description": "AHV number",
            "nullable": true
          },
          "mobilePhone": {
            "maxLength": 40,
            "type": "string",
            "description": "Mobile phone number",
            "nullable": true
          },
          "birthdate": {
            "type": "string",
            "description": "Date of birth",
            "format": "date-time",
            "nullable": true
          },
          "maritalStatusId": {
            "type": "integer",
            "description": "Identifier of the person's marital status",
            "format": "int32",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateProfilePersonAccount"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateProfilePersonAccount": {
        "type": "object",
        "properties": {
          "username": {
            "maxLength": 400,
            "type": "string",
            "description": "Username (used only for username provider)",
            "nullable": true
          },
          "password": {
            "maxLength": 400,
            "type": "string",
            "description": "Password (used only for username provider)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateRoleCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateServiceCommand": {
        "required": [
          "displayName",
          "identificationLevelId",
          "name",
          "serviceThemeId",
          "url"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "externalId": {
            "type": "string",
            "description": "External identifier of the service (defined by the canton)",
            "nullable": true
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "identificationLevelId": {
            "type": "integer",
            "description": "Identifier of the service's identification level",
            "format": "int32"
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Identifier of the service's org identification level",
            "format": "int32"
          },
          "serviceThemeId": {
            "type": "integer",
            "description": "Identifier of the service's theme",
            "format": "int32"
          },
          "iconPath": {
            "maxLength": 64,
            "type": "string",
            "description": "Path of the icon to use in the service tile",
            "nullable": true
          },
          "cssClass": {
            "maxLength": 32,
            "type": "string",
            "description": "Css classes to apply to the service tile",
            "nullable": true
          },
          "url": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string",
            "description": "URL used when the service tile is clicked"
          },
          "urlTarget": {
            "title": "UrlTarget",
            "allOf": [
              {
                "$ref": "#/components/schemas/UrlTarget"
              }
            ],
            "description": "Type of redirection used when the tile is clicked",
            "default": "Self"
          },
          "jiraProjectId": {
            "maxLength": 50,
            "type": "string",
            "description": "Identifier of the Jira project related to the service",
            "nullable": true
          },
          "isProcurationAvailable": {
            "type": "boolean",
            "description": "Indicates if this service can be shared using procuration",
            "default": false
          },
          "isInMaintenance": {
            "type": "boolean",
            "description": "Indicates if the service is currently available to the citizen.\r\nWhen in maintenance, the service tile indicates that the service is not available due to a maintenance.",
            "default": false
          },
          "isShownInCatalog": {
            "type": "boolean",
            "description": "Indicates if the service tile is shown in the service catalog. \r\nThis value does not affect the service tile visibility in the themes.",
            "default": true
          },
          "isExternal": {
            "type": "boolean",
            "description": "Indicates if the service URL refers to an external website",
            "default": false
          },
          "isAccessible": {
            "type": "boolean",
            "description": "Indicates if the service follows the web standards in term of accessibility",
            "default": true
          },
          "isResponsive": {
            "type": "boolean",
            "description": "Indicates if the service is mobile-friendly",
            "default": true
          },
          "isNew": {
            "type": "boolean",
            "description": "Indicates if the service is a fresh addition to the ePortal",
            "default": true
          },
          "isNavigationShown": {
            "type": "boolean",
            "description": "Indicates if the navigation panel is opened within the service",
            "default": true
          },
          "isSupportAvailable": {
            "type": "boolean",
            "description": "Indicates if the support panel is shown within the service",
            "default": true
          },
          "subThemeKey": {
            "maxLength": 100,
            "type": "string",
            "description": "Key of the service's sub-theme",
            "nullable": true
          },
          "isProfileManagerAvailable": {
            "type": "boolean",
            "description": "Indicates whether the profile manager (ePM) is available for the service.\r\nIf the profile manager is available, it will be displayed before accessing the service.",
            "default": false
          },
          "daysUntilReminder": {
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "description": "Number of days after which a reminder must be sent once the related business case is closed.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateServiceSettingCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique-per-service code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isSecure": {
            "type": "boolean",
            "description": "Indicates if the value of the setting is considered sensitive. \r\nAffects the way the value is displayed in the back-office.",
            "default": false
          }
        },
        "additionalProperties": false
      },
      "CreateServiceStepCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique-per-service code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Translation term containing the text",
            "nullable": true
          },
          "redirectUrl": {
            "maxLength": 2000,
            "type": "string",
            "description": "Redirect URL related to the step",
            "nullable": true
          },
          "iconPath": {
            "maxLength": 2000,
            "type": "string",
            "description": "Relative system file path to an icon",
            "nullable": true
          },
          "processingTimeInHours": {
            "type": "integer",
            "description": "Estimated time in hours the step will take to be completed",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the steps will be sorted (asc.) in the navigation panel",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateServiceThemeCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the theme menu is visible within the navigation panel.",
            "default": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the themes will be sorted (asc.) in the navigation panel<br />\r\nWhen omitted, the higher value + 1 is used by default.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateSurveyEntryCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "isSpontaneousFeedback": {
            "type": "boolean",
            "description": "Indicates if the entry is from a spontaneous survey"
          }
        },
        "additionalProperties": false
      },
      "CreateWidgetCommand": {
        "required": [
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "chartTypeId": {
            "type": "integer",
            "description": "Related chart type id",
            "format": "int32"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Name of the widget"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "endpointUrl": {
            "type": "string",
            "description": "EndpointUrl"
          },
          "description": {
            "type": "string",
            "description": "Quick description",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DelegationMode": {
        "title": "DelegationMode",
        "enum": [
          "Unitary",
          "Global"
        ],
        "type": "string"
      },
      "DelegationModeNullableOptional": {
        "type": "object",
        "properties": {
          "isValuePresent": {
            "type": "boolean"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DelegationMode"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeleteProfilesCommand": {
        "required": [
          "obsoleteOlderThanNDays"
        ],
        "type": "object",
        "properties": {
          "obsoleteOlderThanNDays": {
            "type": "integer",
            "description": "Number of days after which an obsolete profile should be removed.<br />\r\nDisabled/pending/rejected/never used profiles are considered obsolete.<br />\r\n`LastLoginStamp` is used for comparison if present, otherwise `CreateStamp`.",
            "format": "int32"
          },
          "doNothing": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ExpandableAccountDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountDto"
          }
        ],
        "properties": {
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IdentityDto"
            },
            "description": "Relations linking the Profile to IdentityProviders",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableIdentityDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/IdentityDto"
          }
        ],
        "properties": {
          "identificationLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IdentificationLevelDto"
              }
            ],
            "description": "Identification level of this identity",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountDto"
              }
            ],
            "description": "Account of the person",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableOrganizationDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationDto"
          }
        ],
        "properties": {
          "legalForm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LegalFormDto"
              }
            ],
            "description": "Legal form of the organization",
            "nullable": true
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgCategoryDto"
              }
            ],
            "description": "Category of the organization",
            "nullable": true
          },
          "identificationLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgIdentificationLevelDto"
              }
            ],
            "description": "Identification level of the organization",
            "nullable": true
          },
          "signatories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrgSignatoryDto"
            },
            "description": "Signatories of the organization",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandablePersonDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonDto"
          }
        ],
        "properties": {
          "maritalStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaritalStatusDto"
              }
            ],
            "description": "Marital status of the person",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableAccountDto"
              }
            ],
            "description": "Account of the person",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableProcurationDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProcurationDto"
          }
        ],
        "properties": {
          "principalProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableProfileDto"
              }
            ],
            "description": "Profile who gave the procuration",
            "nullable": true
          },
          "representativeProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableProfileDto"
              }
            ],
            "description": "Profile who received the procuration",
            "nullable": true
          },
          "delegatorProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableProfileDto"
              }
            ],
            "description": "Profile who delegated the procuration",
            "nullable": true
          },
          "procurationServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProcurationServiceDto"
            },
            "description": "Relations giving access to the service within the procuration",
            "nullable": true
          },
          "procurationInvite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcurationInviteDto"
              }
            ],
            "description": "Invite related to this procuration",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableProcurationInviteDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProcurationInviteDto"
          }
        ],
        "properties": {
          "principalProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableProfileDto"
              }
            ],
            "description": "Profile who emitted the procuration invite",
            "nullable": true
          },
          "representativeProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableProfileDto"
              }
            ],
            "description": "Profile who received the procuration invite",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableProfileDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProfileDto"
          }
        ],
        "properties": {
          "person": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandablePersonDto"
              }
            ],
            "description": "Person related to the profile",
            "nullable": true
          },
          "organization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpandableOrganizationDto"
              }
            ],
            "description": "Organization related to the profile",
            "nullable": true
          },
          "profilePicture": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfilePictureDto"
              }
            ],
            "description": "Profile picture",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableServiceDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceDto"
          }
        ],
        "properties": {
          "serviceTheme": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServiceThemeDto"
              }
            ],
            "description": "Theme of the service",
            "nullable": true
          },
          "serviceClients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceClientDto"
            },
            "description": "Clients of the service",
            "nullable": true
          },
          "identificationLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IdentificationLevelDto"
              }
            ],
            "description": "Person IdentificationLevel of the service",
            "nullable": true
          },
          "orgIdentificationLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgIdentificationLevelDto"
              }
            ],
            "description": "Organization IdentificationLevel of the service",
            "nullable": true
          },
          "survey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SurveyDto"
              }
            ],
            "description": "Survey of the service",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpandableWidgetDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WidgetDto"
          }
        ],
        "properties": {
          "chartType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChartTypeDto"
              }
            ],
            "description": "ChartType of the widget",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FavoriteServiceDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "profileId": {
            "type": "integer",
            "description": "Identifier of the linked profile, or principal profile identifier in the case of a procuration",
            "format": "int32",
            "nullable": true
          },
          "representativeProfileId": {
            "type": "integer",
            "description": "Identifier of the representative profile in the case of a procuration",
            "format": "int32",
            "nullable": true
          },
          "delegatorProfileId": {
            "type": "integer",
            "description": "Identifier of the delegator profile in the case of a delegated procuration",
            "format": "int32",
            "nullable": true
          },
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the linked service",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the favorite services will be sorted (asc.) on the user dashboard",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FavoriteWidgetDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "profileId": {
            "type": "integer",
            "description": "Identifier of the linked profile, or principal profile identifier in the case of a procuration",
            "format": "int32",
            "nullable": true
          },
          "representativeProfileId": {
            "type": "integer",
            "description": "Identifier of the representative profile in the case of a procuration",
            "format": "int32",
            "nullable": true
          },
          "delegatorProfileId": {
            "type": "integer",
            "description": "Identifier of the delegator profile in the case of a delegated procuration",
            "format": "int32",
            "nullable": true
          },
          "widgetId": {
            "type": "integer",
            "description": "Identifier of the linked widget",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the favorite widgets will be sorted (asc.) on the user dashboard",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Gender": {
        "title": "Gender",
        "enum": [
          "Unknown",
          "Male",
          "Female",
          "NotApplicable"
        ],
        "type": "string"
      },
      "GetChartTypesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetClientsByServiceQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetClientsQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "type": "string",
            "description": "Filters settings on the `Name` field (CI match)",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetEffectiveServicesByProcurationKeysQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "delegatorProfileId": {
            "type": "integer",
            "description": "Id of the profile who delegated the procuration",
            "format": "int32",
            "nullable": true
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filters services on the `Id` field to match the provided ids",
            "nullable": true
          },
          "serviceThemeId": {
            "type": "integer",
            "description": "Filters services on the `ServiceThemeId` field",
            "format": "int32",
            "nullable": true
          },
          "externalId": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "nullable": true
          },
          "urlContains": {
            "maxLength": 400,
            "type": "string",
            "description": "Filters services on the `Url` field (CI, contains)",
            "nullable": true
          },
          "hasVisibleTheme": {
            "type": "boolean",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "nullable": true
          },
          "isShownInCatalog": {
            "type": "boolean",
            "description": "Filters services on the `IsShownInCatalog` field",
            "nullable": true
          },
          "isNew": {
            "type": "boolean",
            "description": "Filters services on the `IsNew` field",
            "nullable": true
          },
          "isFavorite": {
            "type": "boolean",
            "description": "Filters services according if set or not as favourite by this procuration",
            "nullable": true
          },
          "hasVisibleServiceRole": {
            "type": "boolean",
            "description": "Filters services to keep only the ones that are accessible to the principal profile within a service-role with given `IsVisible` value",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServicesByProcurationKeysExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetIdentificationLevelsQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isForServicesCatalog": {
            "type": "boolean",
            "description": "Filters identification levels to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`\r\nand are within a visible theme",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetIdentitiesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "externalId": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters identites on the `ExternalId` field (exact match)",
            "nullable": true
          },
          "idpName": {
            "maxLength": 200,
            "type": "string",
            "description": "Filters identities on the IdentityProvider `Name` field (CI match)",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IdentitiesExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetIdentityProvidersQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isEnabled": {
            "type": "boolean",
            "description": "Filters IdentityProviders on the `IsEnabled` field",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetInboundProcurationInvitesByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isClosed": {
            "type": "boolean",
            "description": "Filters procuration invites on the `IsApproved` field, an invite is closed when `IsApproved` is not null.",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboundProcurationInviteExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetInboundProcurationsByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "principalProfileId": {
            "type": "integer",
            "description": "Id of the profile who is represented through the procurations",
            "format": "int32",
            "nullable": true
          },
          "delegatorProfileId": {
            "type": "integer",
            "description": "Id of the profile who delegated the procurations. <br />\r\nWhen provided, parameter `IncludeDelegations` is ignored. <br />\r\nValue `-1` can be used as joker to only keep delegated procurations.",
            "format": "int32",
            "nullable": true
          },
          "includeDelegations": {
            "type": "boolean",
            "description": "Filters inbound procurations to include/filter out those having or not a delegator profile. <br />\r\nBy default, delegated procurations are not included and only base procurations are returned.",
            "nullable": true
          },
          "hasAccessToServiceId": {
            "type": "integer",
            "description": "Id of a service to which the procurations must have access",
            "format": "int32",
            "nullable": true
          },
          "includeCustomImageBytes": {
            "type": "boolean",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboundProcurationsByProfileExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetLegalFormsQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "code": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters LegalForms on the `Code` field (CI match)",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetMaritalStatusesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isEnabled": {
            "type": "boolean",
            "description": "Filters marital statuses on the `IsEnabled` field",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetOrgCategoriesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "code": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters categories on the `Code` field (CI match)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Filters categories on the `IsVisible` field",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetOrgIdentificationLevelsQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isForServicesCatalog": {
            "type": "boolean",
            "description": "Filters identification levels to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`\r\nand are within a visible theme",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetOutboundProcurationInvitesByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isClosed": {
            "type": "boolean",
            "description": "Filters procuration invites on the `IsApproved` field, an invite is closed when `IsApproved` is not null.",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutboundProcurationInviteExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetOutboundProcurationsByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "representativeProfileId": {
            "type": "integer",
            "description": "Id of the profile who is representing the principal through the procurations.",
            "format": "int32",
            "nullable": true
          },
          "delegatorProfileId": {
            "type": "integer",
            "description": "Id of the profile who delegated the procurations. <br />\r\nWhen provided, parameter `IncludeDelegations` is ignored. <br />\r\nValue `-1` can be used as joker to only keep delegated procurations.",
            "format": "int32",
            "nullable": true
          },
          "includeDelegations": {
            "type": "boolean",
            "description": "Filters outbound procurations to include/filter out those having or not a delegator profile. <br />\r\nBy default, delegated procurations are not included and only base procurations are returned.",
            "nullable": true
          },
          "isOrgOwner": {
            "type": "boolean",
            "description": "Filters outbound procurations on the `PersonInOrganizationFunction` field<br />\r\nWhen true, only owners are returned. When false, other members are returned.",
            "nullable": true
          },
          "isOrgManagerOrOwner": {
            "type": "boolean",
            "description": "Filters outbound procurations on the `PersonInOrganizationFunction` field<br />\r\nWhen true, only owners and managers are returned. When false, other members are returned.",
            "nullable": true
          },
          "representativeProfileKeyword": {
            "type": "string",
            "description": "Filters outbound procurations on the following fields of the reprentative profile : <br />\r\n`Id` (exact match),  `Email` (CI, contains) <br />\r\n`Person.AhvNumber` (CI, contains), `Person.Firstname` (CI, contains), `Person.Lastname` (CI, contains),",
            "nullable": true
          },
          "hasAccessToServiceId": {
            "type": "integer",
            "description": "Id of a service to which the procurations must have access",
            "format": "int32",
            "nullable": true
          },
          "includeCustomImageBytes": {
            "type": "boolean",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutboundProcurationsByProfileExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetProcurationsQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "hasToBeProcessedForRenewal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcurationRenewalState"
              }
            ],
            "description": "Filters procurations to preserve those that have to be processed and updated\r\nto the specified state according to their renewal dates.",
            "nullable": true
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filters procurations to match a list of ids",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProcurationsExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetProfilesByRoleQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "profileType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileType"
              }
            ],
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilesByRoleExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetProfilesByServiceQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "profileType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileType"
              }
            ],
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilesByServiceExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetProfilesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfilesExpand"
            },
            "nullable": true
          },
          "headersOnly": {
            "type": "boolean",
            "description": "Defines if the response will only contains headers",
            "default": false
          },
          "profileType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileType"
              }
            ],
            "description": "Filters profiles bye their type (person-type or organization-type)",
            "nullable": true
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filters profiles to match a list of ids",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Filters profiles on the `IsEnabled` field",
            "nullable": true
          },
          "externalKey": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters profiles on the `ExternalKey` field (exact match)",
            "nullable": true
          },
          "keyword": {
            "maxLength": 400,
            "type": "string",
            "description": "Filters profiles on the following fields : <br />\r\n`Id` (exact match), `ZipCode`, `City` (CI, contains) <br />\r\n`Person.Firstname`, `Person.Lastname` (CI, contains) <br />\r\n`Organization.Name` (CI, contains)",
            "nullable": true
          },
          "emailContains": {
            "maxLength": 400,
            "type": "string",
            "description": "Filters profiles on the `Email` field (CI, contains)",
            "nullable": true
          },
          "zipCodeContains": {
            "maxLength": 8,
            "type": "string",
            "description": "Filters profiles on the `ZipCode` field (CI, contains)",
            "nullable": true
          },
          "cityContains": {
            "maxLength": 160,
            "type": "string",
            "description": "Filters profiles on the `City` field (CI, contains)",
            "nullable": true
          },
          "minLastLoginStamp": {
            "type": "string",
            "description": "Filters profiles on the `LastLoginStamp` field with a minimum or equal value",
            "format": "date-time",
            "nullable": true
          },
          "maxLastLoginStamp": {
            "type": "string",
            "description": "Filters profiles on the `LastLoginStamp` field with a maximum or equal value",
            "format": "date-time",
            "nullable": true
          },
          "isInGracePeriod": {
            "type": "boolean",
            "description": "Filters profiles on the `GracePeriodEndDate` field",
            "nullable": true
          },
          "isFlaggedForDeletion": {
            "type": "boolean",
            "description": "Filters profiles on the `IsFlaggedForDeletion` field",
            "nullable": true
          },
          "organizationId": {
            "type": "integer",
            "description": "Filters profiles on the `Organization.Id` field",
            "format": "int32",
            "nullable": true
          },
          "organizationUid": {
            "maxLength": 30,
            "type": "string",
            "description": "Filters profiles on the `Organization.Uid` field (CI match)",
            "nullable": true
          },
          "organizationName": {
            "maxLength": 160,
            "type": "string",
            "description": "Filters profiles on the `Organization.Name` field (CI match)",
            "nullable": true
          },
          "organizationNameContains": {
            "maxLength": 160,
            "type": "string",
            "description": "Filters profiles on the `Organization.Name` field (CI, contains)",
            "nullable": true
          },
          "organizationIsPending": {
            "type": "boolean",
            "description": "Filters profiles on the `Organization.IsPending` field",
            "nullable": true
          },
          "organizationCategoryCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters profiles on the `Organization.Category.Code` field",
            "nullable": true
          },
          "organizationValidationPerimeter": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Filters profiles on codes combinations for legal forms and categories with a CI match<br />\r\nFormat : `LegalFormCode_CategoryCode`<br />\r\nWildcards : `all` available for both codes",
            "nullable": true
          },
          "organizationFsoId": {
            "type": "integer",
            "description": "Filters profiles on the `Organization.FsoId` field",
            "format": "int32",
            "nullable": true
          },
          "personId": {
            "type": "integer",
            "description": "Filters profiles on the `Person.Id` field",
            "format": "int32",
            "nullable": true
          },
          "personFirstNameContains": {
            "maxLength": 160,
            "type": "string",
            "description": "Filters profiles on the `Person.Firstname` field (CI, contains)",
            "nullable": true
          },
          "personLastnameContains": {
            "maxLength": 160,
            "type": "string",
            "description": "Filters profiles on the `Person.Lastname` field (CI, contains)",
            "nullable": true
          },
          "personAhvNumber": {
            "maxLength": 64,
            "type": "string",
            "description": "Filters profiles on the `Person.AhvNumber` field (exact match)",
            "nullable": true
          },
          "hasToBeProcessedForInactivity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InactivityState"
              }
            ],
            "description": "Filters profiles to preserve those that have to be processed and updated\r\nto the specified inactivity state according to their last login stamp.<br />\r\nDisabled/pending/rejected/never used profiles will be ignored.",
            "nullable": true
          },
          "includeCustomImageBytes": {
            "type": "boolean",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRolesByOrgCategoryQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRolesByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RolesByProfileExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRolesByServiceQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RolesByServiceExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetRolesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "type": "string",
            "description": "Filters settings on the `Name` field (CI match)",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServiceSettingsByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "serviceId": {
            "type": "integer",
            "description": "Filters settings on the `ServiceId` field",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "maxLength": 100,
            "type": "string",
            "description": "Filters settings on the `Name` field (CI match)",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServiceSettingsByServiceQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "type": "string",
            "description": "Filters settings on the `Name` field (CI match)",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServiceStepsByServiceQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "type": "string",
            "description": "Filters steps on the `Name` field (CI match)",
            "nullable": true
          },
          "minSortOrder": {
            "type": "integer",
            "description": "Filters steps on the `SortOrder` field",
            "format": "int32",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServiceThemesByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isVisible": {
            "type": "boolean",
            "description": "Filters themes on the `IsVisible` field",
            "nullable": true
          },
          "isForProcurationManagementView": {
            "type": "boolean",
            "description": "Filters services on the `IsProcurationAvailable` field and also disable the anonymous role access path",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServiceThemesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "asAnonymous": {
            "type": "boolean",
            "description": "Filters themes to keep only the ones that are visible through the anonymous role",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Filters themes on the `IsVisible` field",
            "nullable": true
          },
          "hasServiceShownInCatalog": {
            "type": "boolean",
            "description": "Filters themes to keep only the ones that are related to at least one service that has the given value for the field `IsShownInCatalog`",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServicesByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filters services on the `Id` field to match the provided ids",
            "nullable": true
          },
          "serviceThemeId": {
            "type": "integer",
            "description": "Filters services on the `ServiceThemeId` field",
            "format": "int32",
            "nullable": true
          },
          "externalId": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "nullable": true
          },
          "isShownInCatalog": {
            "type": "boolean",
            "description": "Filters services on the `IsShownInCatalog` field",
            "nullable": true
          },
          "isForProcurationManagementView": {
            "type": "boolean",
            "description": "Filters services on the `IsProcurationAvailable` field and also disable the anonymous role access path",
            "nullable": true
          },
          "isNew": {
            "type": "boolean",
            "description": "Filters services on the `IsNew` field",
            "nullable": true
          },
          "urlContains": {
            "maxLength": 400,
            "type": "string",
            "description": "Filters services on the `Url` field (CI, contains)",
            "nullable": true
          },
          "hasVisibleServiceRole": {
            "type": "boolean",
            "description": "Filters services to keep only the ones that are accessible to the profile within a service-role with given `IsVisible` value",
            "nullable": true
          },
          "hasVisibleTheme": {
            "type": "boolean",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "nullable": true
          },
          "isFavorite": {
            "type": "boolean",
            "description": "Filters services according if set or not as favourite by this profile",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServicesByProfileExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetServicesQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "headersOnly": {
            "type": "boolean",
            "description": "Defines if the response will only contains headers",
            "default": false
          },
          "asAnonymous": {
            "type": "boolean",
            "description": "Filters services to only keep the ones that are visible through anonymous role",
            "nullable": true
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filters services on the `Id` field to match the provided ids",
            "nullable": true
          },
          "serviceThemeId": {
            "type": "integer",
            "description": "Filters services on the `ServiceThemeId` field",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "Filters services on the `ClientId` field",
            "format": "int32",
            "nullable": true
          },
          "externalId": {
            "maxLength": 50,
            "type": "string",
            "description": "Filters services on the `ExternalId` field (exact match)",
            "nullable": true
          },
          "identificationLevelId": {
            "type": "integer",
            "description": "Filters services on the `IdentificationLevelId` field",
            "format": "int32",
            "nullable": true
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Filters services on the `OrgIdentificationLevelId` field",
            "format": "int32",
            "nullable": true
          },
          "hasAtLeastOneSetting": {
            "type": "boolean",
            "description": "Filters services to keep only the ones that have at least one setting",
            "nullable": true
          },
          "isShownInCatalog": {
            "type": "boolean",
            "description": "Filters services on the `IsShownInCatalog` field",
            "nullable": true
          },
          "isNew": {
            "type": "boolean",
            "description": "Filters services on the `IsNew` field",
            "nullable": true
          },
          "urlContains": {
            "maxLength": 400,
            "type": "string",
            "description": "Filters services on the `Url` field (CI, contains)",
            "nullable": true
          },
          "hasVisibleTheme": {
            "type": "boolean",
            "description": "Filters services on the `ServiceTheme.IsVisible` field",
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServicesExpand"
            },
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetWidgetsByProfileQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "isFavorite": {
            "type": "boolean",
            "description": "Filters widgets according if set or not as favourite by this procuration",
            "nullable": true
          },
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetWidgetsByServiceQuery": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedAndOrderedQuery"
          }
        ],
        "properties": {
          "limited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WidgetsByServiceExpand"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HttpValidationProblemDetails": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProblemDetails"
          }
        ],
        "properties": {
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "additionalProperties": { }
      },
      "IdentificationLevelDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "levelOfTrust": {
            "type": "integer",
            "description": "Level value of the identification level",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "IdentitiesExpand": {
        "title": "IdentitiesExpand",
        "enum": [
          "Account",
          "IdentificationLevel"
        ],
        "type": "string"
      },
      "IdentityDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "identityProviderId": {
            "type": "integer",
            "description": "Id of the related provider",
            "format": "int32"
          },
          "accountId": {
            "type": "integer",
            "description": "Id of the related account",
            "format": "int32"
          },
          "identificationLevelId": {
            "type": "integer",
            "description": "Id of the level of identification",
            "format": "int32"
          },
          "externalId": {
            "type": "string",
            "description": "External Id given by the related provider to the related account",
            "nullable": true
          },
          "profileId": {
            "type": "integer",
            "description": "Id of the related profile",
            "format": "int32"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Dictionary of additional data",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an identity linking an account and an identity provider"
      },
      "IdentityProviderDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "typeName": {
            "type": "string",
            "description": "TypeName of the provider to use in the code"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the provider is the default one"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the provider is usable"
          },
          "data": {
            "type": "string",
            "description": "Data of the provider",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InactivityState": {
        "title": "InactivityState",
        "enum": [
          "Active",
          "InactiveLevelOne",
          "InactiveLevelTwo",
          "InactiveLevelThree"
        ],
        "type": "string"
      },
      "InboundProcurationInviteExpand": {
        "title": "InboundProcurationInviteExpand",
        "enum": [
          "PrincipalProfile",
          "RepresentativeProfile",
          "PrincipalProfile_Person",
          "RepresentativeProfile_Person",
          "PrincipalProfile_Organization",
          "RepresentativeProfile_Organization"
        ],
        "type": "string"
      },
      "InboundProcurationsByProfileExpand": {
        "title": "InboundProcurationsByProfileExpand",
        "enum": [
          "PrincipalProfile",
          "RepresentativeProfile",
          "DelegatorProfile",
          "PrincipalProfile_Person",
          "RepresentativeProfile_Person",
          "PrincipalProfile_Organization",
          "RepresentativeProfile_Organization",
          "DelegatorProfile_Organization",
          "PrincipalProfile_ProfilePicture",
          "RepresentativeProfile_ProfilePicture",
          "ProcurationServices",
          "ProcurationInvite"
        ],
        "type": "string"
      },
      "Int32ListOptional": {
        "type": "object",
        "properties": {
          "isValuePresent": {
            "type": "boolean"
          },
          "value": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LegalFormDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "code": {
            "type": "string",
            "description": "Unique code used during organization registration to know if self-registration is possible"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isOrgDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if affiliated organizations can be deleted by one of their owners"
          }
        },
        "additionalProperties": false
      },
      "MaritalStatusDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the marital status is usable by the citizen"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the marital statuses will be sorted for display to the citizen",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OrgCategoryDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "code": {
            "type": "string",
            "description": "Unique code used during registration to know if self-registration is possible"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the category is shown in the organization registration form"
          },
          "isOrgDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if affiliated organizations can be deleted by one of their owners"
          },
          "profilePictureUrl": {
            "type": "string",
            "description": "Url of the default profile picture for organizations belonging to this category",
            "nullable": true
          },
          "smallProfilePictureUrl": {
            "type": "string",
            "description": "Url of the default profile picture (small version) for organizations belonging to this category",
            "nullable": true
          },
          "daysUntilFirstDeletionReminder": {
            "type": "integer",
            "description": "Number of days until the first deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          },
          "daysUntilSecondDeletionReminder": {
            "type": "integer",
            "description": "Number of days until the second deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          },
          "daysUntilDeletion": {
            "type": "integer",
            "description": "Number of days until the deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrgCategoryRoleDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "orgCategoryId": {
            "type": "integer",
            "description": "Identifier of the related OrgCategory",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "description": "Identifier of the related Role",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a link between an OrgCategory and a Role"
      },
      "OrgFunction": {
        "title": "OrgFunction",
        "enum": [
          "Collaborator",
          "DelegationManager",
          "Manager",
          "Owner"
        ],
        "type": "string"
      },
      "OrgFunctionNullableOptional": {
        "type": "object",
        "properties": {
          "isValuePresent": {
            "type": "boolean"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgFunction"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrgIdentificationLevelDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "levelOfTrust": {
            "type": "integer",
            "description": "Level value of the identification level",
            "format": "int32"
          },
          "elevationServiceId": {
            "type": "integer",
            "description": "Identifier of the service designed to elevate an organization profile to this identification level",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrgSignatoryDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "organizationId": {
            "type": "integer",
            "description": "Identifier of the related organization",
            "format": "int32"
          },
          "isRequester": {
            "type": "boolean",
            "description": "Indicates if this signatory is the same profile as the one that submitted the organization registration"
          },
          "type": {
            "title": "SignatoryType",
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatoryType"
              }
            ],
            "description": "Type of the signature (contract between ePortal and organization)"
          },
          "position": {
            "type": "string",
            "description": "Position of this signatory within the organization (e.g. CEO, secretary, etc.)",
            "nullable": true
          },
          "gender": {
            "title": "Gender",
            "allOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ],
            "description": "Gender following the ISO/IEC 5218"
          },
          "firstname": {
            "type": "string",
            "description": "Firstname"
          },
          "lastname": {
            "type": "string",
            "description": "Lastname"
          },
          "birthdate": {
            "type": "string",
            "description": "Date of birth",
            "format": "date-time"
          },
          "email": {
            "type": "string",
            "description": "Email address"
          },
          "ahvNumber": {
            "type": "string",
            "description": "AHV number",
            "nullable": true
          },
          "identityNumber": {
            "type": "string",
            "description": "Identity number specified on identity document",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Address (with house number)",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "Zip code of the city",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City/town",
            "nullable": true
          },
          "origin": {
            "type": "string",
            "description": "Place of origin (city/town + country when outside Switzerland)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrganizationDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the organization"
          },
          "uid": {
            "type": "string",
            "description": "Federal unique ID of the organization (CHE-...)",
            "nullable": true
          },
          "fsoId": {
            "type": "integer",
            "description": "Unique ID provided by the Federal Statistical Office",
            "format": "int32",
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "Website URL",
            "nullable": true
          },
          "isSelfRegistration": {
            "type": "boolean",
            "description": "Indicates if the organization has been self-registred through the ePortal"
          },
          "identificationProcess": {
            "type": "string",
            "description": "Name of the idenfication process used for registration",
            "nullable": true
          },
          "isPending": {
            "type": "boolean",
            "description": "Indicates if the organization is still in approvment phase"
          },
          "createdByProfileId": {
            "type": "integer",
            "description": "Profile Id of the user that has fill the registration form for this organization",
            "format": "int32",
            "nullable": true
          },
          "signatureType": {
            "title": "SignatureType",
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatureType"
              }
            ],
            "description": "Type of the signature (registration related)"
          },
          "businessCaseId": {
            "type": "string",
            "description": "Id of the business case related to the registration of this organization",
            "format": "uuid",
            "nullable": true
          },
          "orgCategoryId": {
            "type": "integer",
            "description": "Id of the category",
            "format": "int32"
          },
          "legalFormId": {
            "type": "integer",
            "description": "Id of the legal form",
            "format": "int32"
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Id of the identification level",
            "format": "int32"
          },
          "isDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if the organization can be deleted by one of its owners"
          }
        },
        "additionalProperties": false
      },
      "OutboundProcurationInviteExpand": {
        "title": "OutboundProcurationInviteExpand",
        "enum": [
          "PrincipalProfile",
          "RepresentativeProfile",
          "PrincipalProfile_Person",
          "RepresentativeProfile_Person",
          "PrincipalProfile_Organization",
          "RepresentativeProfile_Organization"
        ],
        "type": "string"
      },
      "OutboundProcurationsByProfileExpand": {
        "title": "OutboundProcurationsByProfileExpand",
        "enum": [
          "PrincipalProfile",
          "RepresentativeProfile",
          "DelegatorProfile",
          "PrincipalProfile_Person",
          "RepresentativeProfile_Person",
          "PrincipalProfile_Organization",
          "RepresentativeProfile_Organization",
          "DelegatorProfile_Organization",
          "PrincipalProfile_ProfilePicture",
          "RepresentativeProfile_ProfilePicture",
          "ProcurationServices",
          "ProcurationInvite"
        ],
        "type": "string"
      },
      "PagedAndOrderedQuery": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "minimum": 1,
            "type": "integer",
            "description": "Page number (index, 1-based)",
            "format": "int32",
            "nullable": true
          },
          "pageSize": {
            "maximum": 50,
            "minimum": -1,
            "type": "integer",
            "description": "Number of items per page. Using value `-1` disable pagination and gives all results at once.",
            "format": "int32",
            "nullable": true
          },
          "orderBy": {
            "maxLength": 300,
            "pattern": "^\\w+(\\.\\w+)*( +asc| +desc)?(,\\s?\\w+(\\.\\w+)*( +asc| +desc)?)*$",
            "type": "string",
            "description": "Sorting option. Ascending is the default direction when omitted.<br />\r\n**Usage :** `orderBy=[property] [asc,desc],[property] [asc,desc],...`<br />\r\n**Example :** `orderBy=person.maritalstatus.name desc`",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Base class for queries involving sorting and pagination"
      },
      "PatchInboundProcurationCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "representativeEmail": {
            "type": "string",
            "description": "Email to notify the representative in the context of the procuration.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "delegationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DelegationModeNullableOptional"
              }
            ],
            "description": "Procuration delegation mode to define how rights can be shared with organization members.<br />\r\nOnly available when RepresentativeProfile is an organization.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchInboundProcurationInviteCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "isReadyForApproval": {
            "type": "boolean",
            "description": "Indicates whether this invite is ready to be approved back by the principal"
          },
          "messageToPrincipal": {
            "type": "string",
            "description": "Optional message from the representative to the principal",
            "nullable": true
          },
          "representativeBusinessCaseId": {
            "type": "string",
            "description": "Business case ID for the representative side",
            "format": "uuid",
            "nullable": true
          },
          "representativeEmail": {
            "type": "string",
            "description": "Email to notify the representative in the context of the procuration.\r\nThe principal must be an organization and the representative must be a person.",
            "nullable": true
          },
          "serviceIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Int32ListOptional"
              }
            ],
            "description": "Listing of service identifiers that will be part of the procuration when the invitation process is achieved"
          }
        },
        "additionalProperties": false
      },
      "PatchLastSurveyEntryCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "response": {
            "type": "boolean",
            "description": "Response of the survey entry"
          }
        },
        "additionalProperties": false
      },
      "PatchOutboundProcurationCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid. Default value is now.",
            "format": "date-time"
          },
          "personInOrganizationFunction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgFunctionNullableOptional"
              }
            ],
            "description": "Representative's function within the organization.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "isPersonInOrganizationPendingDelete": {
            "type": "boolean",
            "description": "Defines if the representative is in the process of being removed from the organization.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is an owner of the said organization."
          },
          "hasBeenRenewed": {
            "type": "boolean",
            "description": "Indicates if the procuration has been renewed by the principal to update the renewal stamps (incl. expiration)."
          },
          "renewalState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcurationRenewalStateOptional"
              }
            ],
            "description": "State of renewal of the procuration"
          }
        },
        "additionalProperties": false
      },
      "PatchOutboundProcurationInviteCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "isApproved": {
            "type": "boolean",
            "description": "Indicates the approval decision by the principal. Mandatory when `IsReadyForApproval` is set to true."
          },
          "serviceIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Int32ListOptional"
              }
            ],
            "description": "Listing of service identifiers that will be part of the procuration when the invitation process is achieved"
          }
        },
        "additionalProperties": false
      },
      "PatchProfileCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the profile is enabled (usable)"
          },
          "externalKey": {
            "type": "string",
            "description": "External unique key",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Contact email"
          },
          "language": {
            "type": "string",
            "description": "Preferred language (e.g. : EN)",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "nullable": true
          },
          "fax": {
            "type": "string",
            "description": "Fax number",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Address (with house number)",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "ZipCode of the city",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code (e.g. : CH)",
            "nullable": true
          },
          "acceptsAdvertisement": {
            "type": "boolean",
            "description": "Indicates if the profile accepts to receive advertisement"
          },
          "lastLoginStamp": {
            "type": "string",
            "description": "Date and time of the last login",
            "format": "date-time"
          },
          "hasLoggedIn": {
            "type": "boolean",
            "description": "Indicates the user has logged in"
          },
          "inactivityState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InactivityState"
              }
            ],
            "description": "State of inactivity of the profile"
          },
          "isFlaggedForDeletion": {
            "type": "boolean",
            "description": "Indicates if the profile is marked for deletion"
          },
          "gracePeriodEndDate": {
            "type": "string",
            "description": "Date of the last day of the grace period",
            "format": "date-time",
            "nullable": true
          },
          "person": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PatchProfilePerson"
              }
            ],
            "nullable": true
          },
          "organization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PatchProfileOrganization"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchProfileOrganization": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the organization"
          },
          "uid": {
            "type": "string",
            "description": "Federal unique ID of the organization (CHE-...)",
            "nullable": true
          },
          "fsoId": {
            "type": "integer",
            "description": "Unique ID provided by the Federal Statistical Office",
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "Website URL",
            "nullable": true
          },
          "orgCategoryId": {
            "type": "integer",
            "description": "Id of the category"
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Id of the identification level"
          },
          "identificationProcess": {
            "type": "string",
            "description": "Name of the idenfication process used for registration",
            "nullable": true
          },
          "legalFormId": {
            "type": "integer",
            "description": "Id of the legal form"
          },
          "isSelfRegistration": {
            "type": "boolean",
            "description": "Indicates if the organization has been self-registred through the ePortal"
          },
          "createdByProfileId": {
            "type": "integer",
            "description": "Profile Id of the user that has fill the registration form for this organization",
            "nullable": true
          },
          "isPending": {
            "type": "boolean",
            "description": "Indicates if the organization is still in approvment phase"
          },
          "signatureType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignatureType"
              }
            ],
            "description": "Type of the signature (registration related)"
          },
          "businessCaseId": {
            "type": "string",
            "description": "Id of the business case related to the registration of this organization",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchProfilePerson": {
        "type": "object",
        "properties": {
          "firstname": {
            "type": "string",
            "description": "Firstname"
          },
          "lastname": {
            "type": "string",
            "description": "Lastname"
          },
          "gender": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ],
            "description": "Gender following the ISO/IEC 5218"
          },
          "ahvNumber": {
            "type": "string",
            "description": "AHV number",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "description": "Mobile phone number",
            "nullable": true
          },
          "birthdate": {
            "type": "string",
            "description": "Date of birth",
            "format": "date-time",
            "nullable": true
          },
          "maritalStatusId": {
            "type": "integer",
            "description": "Identifier of the person's marital status",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PatchProfilePersonAccount"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PatchProfilePersonAccount": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "Username (used only for username provider)",
            "nullable": true
          },
          "password": {
            "type": "string",
            "description": "Password (used only for username provider)",
            "nullable": true
          },
          "sessionDuration": {
            "type": "integer",
            "description": "Session duration in minutes before the user is disconnected",
            "nullable": true
          },
          "isSignupComplete": {
            "type": "boolean",
            "description": "Indicates if the signup of the account is complete"
          },
          "isLocal": {
            "type": "boolean",
            "description": "Indicates if the account has been matched with GERES"
          },
          "hasSeenOwnProfile": {
            "type": "boolean",
            "description": "Indicates if the user has already seen its profile edition"
          }
        },
        "additionalProperties": false
      },
      "PersonDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "accountId": {
            "type": "integer",
            "description": "Identifier of the person's account",
            "format": "int32"
          },
          "firstname": {
            "type": "string",
            "description": "Firstname"
          },
          "lastname": {
            "type": "string",
            "description": "Lastname"
          },
          "gender": {
            "title": "Gender",
            "allOf": [
              {
                "$ref": "#/components/schemas/Gender"
              }
            ],
            "description": "Gender following the ISO/IEC 5218"
          },
          "ahvNumber": {
            "type": "string",
            "description": "AHV number",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "description": "Mobile phone number",
            "nullable": true
          },
          "birthdate": {
            "type": "string",
            "description": "Date of birth",
            "format": "date-time",
            "nullable": true
          },
          "maritalStatusId": {
            "type": "integer",
            "description": "Identifier of the person's marital status",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PersonInactivitySettingsDto": {
        "type": "object",
        "properties": {
          "daysUntilFirstDeletionReminder": {
            "type": "integer",
            "format": "int32"
          },
          "daysUntilSecondDeletionReminder": {
            "type": "integer",
            "format": "int32"
          },
          "daysUntilDeletion": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "URI that identifies the problem detail type",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "A short human-readable summary about the problem",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "HTTP Status Code",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "description": "A human-readable explanation about the problem",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "description": "Unique identifier of the request"
          }
        },
        "additionalProperties": { }
      },
      "ProcurationDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "principalProfileId": {
            "type": "integer",
            "description": "Identifier of the profile who gave the procuration",
            "format": "int32"
          },
          "delegatorProfileId": {
            "type": "integer",
            "description": "Identifier of the profile who delegated the procuration",
            "format": "int32",
            "nullable": true
          },
          "representativeProfileId": {
            "type": "integer",
            "description": "Identifier of the profile who received the procuration",
            "format": "int32"
          },
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid",
            "format": "date-time"
          },
          "validityEndStamp": {
            "type": "string",
            "description": "Date from which the procuration will be considered expired",
            "format": "date-time",
            "nullable": true
          },
          "renewableFromDate": {
            "type": "string",
            "description": "Date from which the procuration will be renewable by its principal",
            "format": "date-time",
            "nullable": true
          },
          "removalDate": {
            "type": "string",
            "description": "Date from which the procuration will be permanently removed",
            "format": "date-time",
            "nullable": true
          },
          "renewalState": {
            "title": "ProcurationRenewalState",
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcurationRenewalState"
              }
            ],
            "description": "State of the renewal process related to this procuration"
          },
          "isRenewable": {
            "type": "boolean",
            "description": "Indicates if the procuration is currently renewable"
          },
          "isUsable": {
            "type": "boolean",
            "description": "Indicates if the procuration is usable by the representative"
          },
          "representativeEmail": {
            "type": "string",
            "description": "Email to notify the representative in the context of the procuration",
            "nullable": true
          },
          "personInOrganizationFunction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgFunction"
              }
            ],
            "description": "Function of an organization member. \r\nOnly used when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "isPersonInOrganizationPendingDelete": {
            "type": "boolean",
            "description": "Indicates if this organization member is in pass of deletion from the organization\r\nOnly used when the PrincipalProfile is an organization and the RepresentativeProfile is an owner of the said organization."
          },
          "delegationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DelegationMode"
              }
            ],
            "description": "Defines the way delegated procurations and their rights are registered (manual vs auto)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProcurationInviteDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "principalProfileId": {
            "type": "integer",
            "description": "Identifier of the profile who emitted the procuration invite",
            "format": "int32"
          },
          "representativeProfileId": {
            "type": "integer",
            "description": "Identifier of the profile who received the procuration invite",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Short description of the procuration case",
            "nullable": true
          },
          "token": {
            "type": "string",
            "description": "Unique token that has to be used to consume this invitation"
          },
          "expirationStamp": {
            "type": "string",
            "description": "Date and time (UTC) of invite expiration (invite won't be consumable after that)",
            "format": "date-time"
          },
          "consumptionStamp": {
            "type": "string",
            "description": "Date and time (UTC) of the consumption event by the representative",
            "format": "date-time",
            "nullable": true
          },
          "isReadyForApproval": {
            "type": "boolean",
            "description": "Indicates whether this invite is ready to be approved back by the principal"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Indicates the approval decision by the principal",
            "nullable": true
          },
          "approvalStamp": {
            "type": "string",
            "description": "Date and time (UTC) of the approval event by the principal",
            "format": "date-time",
            "nullable": true
          },
          "messageToPrincipal": {
            "type": "string",
            "description": "Optional message from the representative to the principal",
            "nullable": true
          },
          "principalBusinessCaseId": {
            "type": "string",
            "description": "Business case ID for the principal side",
            "format": "uuid",
            "nullable": true
          },
          "representativeBusinessCaseId": {
            "type": "string",
            "description": "Business case ID for the representative side",
            "format": "uuid",
            "nullable": true
          },
          "representativeEmail": {
            "type": "string",
            "description": "Email to notify the representative in the context of the procuration",
            "nullable": true
          },
          "serviceIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Listing of service identifiers that will be part of the procuration when the invitation process is achieved"
          },
          "consumerInOrgFirstname": {
            "type": "string",
            "description": "Firstname of the invitation consumer in an organization",
            "nullable": true
          },
          "consumerInOrgLastname": {
            "type": "string",
            "description": "Lastname of the invitation consumer in an organization",
            "nullable": true
          },
          "consumerInOrgProfileId": {
            "type": "integer",
            "description": "Profile identifier of the invitation consumer in an organization",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProcurationRenewalSettingsDto": {
        "type": "object",
        "properties": {
          "daysUntilRenewable": {
            "type": "integer",
            "format": "int32"
          },
          "daysUntilFirstRenewalReminder": {
            "type": "integer",
            "format": "int32"
          },
          "daysUntilSecondRenewalReminder": {
            "type": "integer",
            "format": "int32"
          },
          "daysUntilExpiration": {
            "type": "integer",
            "format": "int32"
          },
          "daysUntilRemoval": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProcurationRenewalState": {
        "title": "ProcurationRenewalState",
        "enum": [
          "Active",
          "Renewable",
          "FirstReminder",
          "SecondReminder",
          "Expiration",
          "Deletion"
        ],
        "type": "string"
      },
      "ProcurationRenewalStateOptional": {
        "type": "object",
        "properties": {
          "isValuePresent": {
            "type": "boolean"
          },
          "value": {
            "title": "ProcurationRenewalState",
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcurationRenewalState"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "ProcurationServiceDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "procurationId": {
            "type": "integer",
            "description": "Identifier of the linked procuration",
            "format": "int32"
          },
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the linked service",
            "format": "int32"
          },
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a link bewteen a service and a procuration"
      },
      "ProcurationsExpand": {
        "title": "ProcurationsExpand",
        "enum": [
          "PrincipalProfile",
          "RepresentativeProfile",
          "DelegatorProfile",
          "PrincipalProfile_Person",
          "RepresentativeProfile_Person",
          "PrincipalProfile_Organization",
          "RepresentativeProfile_Organization",
          "DelegatorProfile_Organization",
          "PrincipalProfile_ProfilePicture",
          "RepresentativeProfile_ProfilePicture",
          "ProcurationServices",
          "ProcurationInvite"
        ],
        "type": "string"
      },
      "ProfileByIdExpand": {
        "title": "ProfileByIdExpand",
        "enum": [
          "Person",
          "Person_MaritalStatus",
          "Person_Account",
          "Person_Account_Identities",
          "Organization",
          "Organization_LegalForm",
          "Organization_Category",
          "Organization_IdentificationLevel",
          "Organization_Signatories",
          "ProfilePicture"
        ],
        "type": "string"
      },
      "ProfileDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "personId": {
            "type": "integer",
            "description": "Identifier of the person linked to the profile",
            "format": "int32",
            "nullable": true
          },
          "organizationId": {
            "type": "integer",
            "description": "Identifier of the organization linked to the profile",
            "format": "int32",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the profile is enabled (active)"
          },
          "externalKey": {
            "type": "string",
            "description": "External unique key of this profile",
            "nullable": true
          },
          "language": {
            "type": "string",
            "description": "Preferred language (e.g. : EN)",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Contact email"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "nullable": true
          },
          "fax": {
            "type": "string",
            "description": "Fax number",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Address",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "Zip code",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City/town",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code (e.g. : CH)",
            "nullable": true
          },
          "acceptsAdvertisement": {
            "type": "boolean",
            "description": "Indicates if the profile accepts to receive advertisement"
          },
          "lastLoginStamp": {
            "type": "string",
            "description": "Date and time of the last login",
            "format": "date-time",
            "nullable": true
          },
          "loginCount": {
            "type": "integer",
            "description": "Number of times the user has logged in",
            "format": "int32"
          },
          "inactivityState": {
            "title": "InactivityState",
            "allOf": [
              {
                "$ref": "#/components/schemas/InactivityState"
              }
            ],
            "description": "State of inactivity of the profile"
          },
          "isFlaggedForDeletion": {
            "type": "boolean",
            "description": "Indicates if the profile is marked for deletion"
          },
          "gracePeriodEndDate": {
            "type": "string",
            "description": "Date of the last day of the grace period",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProfilePictureDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "profileId": {
            "type": "integer",
            "description": "Id of linked profile",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "description": "Unique Id of the picture",
            "format": "uuid"
          },
          "customImageType": {
            "type": "string",
            "description": "Type of the custom image",
            "nullable": true
          },
          "customImageBytesEncoded": {
            "type": "string",
            "description": "Base64 encoded Bytes for the custom profile picture",
            "nullable": true
          },
          "defaultImageUrl": {
            "type": "string",
            "description": "Url of the fallback image for the profile"
          },
          "defaultSmallImageUrl": {
            "type": "string",
            "description": "Url of the small version of the fallback image for the profile"
          }
        },
        "additionalProperties": false
      },
      "ProfileRoleDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "profileId": {
            "type": "integer",
            "description": "Identifier of the linked profile",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "description": "Identifier of the linked role",
            "format": "int32"
          },
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a link between a profile and a role"
      },
      "ProfileType": {
        "title": "ProfileType",
        "enum": [
          "Person",
          "Organization"
        ],
        "type": "string"
      },
      "ProfilesByRoleExpand": {
        "title": "ProfilesByRoleExpand",
        "enum": [
          "Person",
          "Organization"
        ],
        "type": "string"
      },
      "ProfilesByServiceExpand": {
        "title": "ProfilesByServiceExpand",
        "enum": [
          "Person",
          "Organization"
        ],
        "type": "string"
      },
      "ProfilesExpand": {
        "title": "ProfilesExpand",
        "enum": [
          "Person",
          "Person_MaritalStatus",
          "Person_Account",
          "Person_Account_Identities",
          "Organization",
          "Organization_LegalForm",
          "Organization_Category",
          "Organization_IdentificationLevel",
          "Organization_Signatories",
          "ProfilePicture"
        ],
        "type": "string"
      },
      "RoleByProfileAndIdExpand": {
        "title": "RoleByProfileAndIdExpand",
        "enum": [
          "ProfileRole"
        ],
        "type": "string"
      },
      "RoleByProfileDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleDto"
          }
        ],
        "properties": {
          "profileRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfileRoleDto"
              }
            ],
            "description": "Link between the profile and the role",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleByServiceAndIdExpand": {
        "title": "RoleByServiceAndIdExpand",
        "enum": [
          "ServiceRole"
        ],
        "type": "string"
      },
      "RoleByServiceDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleDto"
          }
        ],
        "properties": {
          "serviceRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServiceRoleDto"
              }
            ],
            "description": "Link between the service and the role",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RolesByProfileExpand": {
        "title": "RolesByProfileExpand",
        "enum": [
          "ProfileRole"
        ],
        "type": "string"
      },
      "RolesByServiceExpand": {
        "title": "RolesByServiceExpand",
        "enum": [
          "ServiceRole"
        ],
        "type": "string"
      },
      "ServiceByIdExpand": {
        "title": "ServiceByIdExpand",
        "enum": [
          "ServiceTheme",
          "IdentificationLevel",
          "OrgIdentificationLevel",
          "ServiceClients",
          "Survey"
        ],
        "type": "string"
      },
      "ServiceByProcurationAndServiceExpand": {
        "title": "ServiceByProcurationAndServiceExpand",
        "enum": [
          "ServiceTheme",
          "IdentificationLevel",
          "OrgIdentificationLevel",
          "ProcurationService",
          "ServiceClients",
          "Survey"
        ],
        "type": "string"
      },
      "ServiceByProcurationDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExpandableServiceDto"
          }
        ],
        "properties": {
          "procurationService": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProcurationServiceDto"
              }
            ],
            "description": "Relation giving access to the service within the procuration",
            "nullable": true
          },
          "favoriteService": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FavoriteServiceDto"
              }
            ],
            "description": "Relation of favorite between the service and the procuration",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceByProfileDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExpandableServiceDto"
          }
        ],
        "properties": {
          "profileRoles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileRoleDto"
            },
            "description": "Relations giving access to the service within the profile",
            "nullable": true
          },
          "favoriteService": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FavoriteServiceDto"
              }
            ],
            "description": "Relation of favorite between the service and the profile",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceByProfileExpand": {
        "title": "ServiceByProfileExpand",
        "enum": [
          "ServiceTheme",
          "IdentificationLevel",
          "OrgIdentificationLevel",
          "ProfileRoles",
          "ServiceClients",
          "Survey"
        ],
        "type": "string"
      },
      "ServiceClientDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the linked service",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "Identifier of the linked client",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ServiceDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "externalId": {
            "type": "string",
            "description": "External identifier of the service (defined by the canton)",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "identificationLevelId": {
            "type": "integer",
            "description": "Identifier of the service's person identification level",
            "format": "int32"
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Identifier of the service's organization identification level",
            "format": "int32"
          },
          "serviceThemeId": {
            "type": "integer",
            "description": "Identifier of the service's theme",
            "format": "int32"
          },
          "iconPath": {
            "type": "string",
            "description": "Path of the icon to use in the service tile",
            "nullable": true
          },
          "cssClass": {
            "type": "string",
            "description": "Css classes to apply to the service tile",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "URL used when the service tile is clicked"
          },
          "urlTarget": {
            "title": "UrlTarget",
            "allOf": [
              {
                "$ref": "#/components/schemas/UrlTarget"
              }
            ],
            "description": "Type of redirection used when the tile is clicked"
          },
          "jiraProjectId": {
            "type": "string",
            "description": "Identifier of the Jira project related to the service",
            "nullable": true
          },
          "isProcurationAvailable": {
            "type": "boolean",
            "description": "Indicates if this service can be shared using procuration"
          },
          "isInMaintenance": {
            "type": "boolean",
            "description": "Indicates if the service is currently available to the citizen.\r\nWhen in maintenance, the service tile indicates that the service is not available due to a maintenance."
          },
          "isShownInCatalog": {
            "type": "boolean",
            "description": "Indicates if the service tile is shown in the service catalog. \r\nThis value does not affect the service tile visibility in the themes."
          },
          "isExternal": {
            "type": "boolean",
            "description": "Indicates if the service URL refers to an external website"
          },
          "isAccessible": {
            "type": "boolean",
            "description": "Indicates if the service follows the web standards in term of accessibility"
          },
          "isResponsive": {
            "type": "boolean",
            "description": "Indicates if the service is mobile-friendly"
          },
          "isNew": {
            "type": "boolean",
            "description": "Indicates if the service is a fresh addition to the ePortal"
          },
          "isNavigationShown": {
            "type": "boolean",
            "description": "Indicates if the navigation panel is opened within the service"
          },
          "isSupportAvailable": {
            "type": "boolean",
            "description": "Indicates if the support panel is shown within the service"
          },
          "subThemeKey": {
            "type": "string",
            "description": "Key of the service's sub-theme",
            "nullable": true
          },
          "isProfileManagerAvailable": {
            "type": "boolean",
            "description": "Indicates whether the profile manager (ePM) is available for the service.\r\nIf the profile manager is available, it will be displayed before accessing the service."
          },
          "daysUntilReminder": {
            "type": "integer",
            "description": "Number of days after which a reminder must be sent once the related business case is closed.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceRoleDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the linked service",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "description": "Identifier of the linked role",
            "format": "int32"
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the service tile in the ePortal is visible within this relation. \r\nDoes not affect the service catalog."
          }
        },
        "additionalProperties": false,
        "description": "Represents a link between a service and a role"
      },
      "ServiceSettingByProfileDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceSettingDto"
          }
        ],
        "properties": {
          "serviceSettingValue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServiceSettingValueDto"
              }
            ],
            "description": "Relation bewteen the ServiceSetting and the Profile, containing the setting value",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServiceSettingDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique-per-service code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the service linked to the setting",
            "format": "int32"
          },
          "isSecure": {
            "type": "boolean",
            "description": "Indicates if the value of the setting is considered sensitive. \r\nAffects the way the value is displayed in the back-office."
          }
        },
        "additionalProperties": false,
        "description": "Represents a service setting"
      },
      "ServiceSettingValueDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "profileId": {
            "type": "integer",
            "description": "Identifier of the linked profile",
            "format": "int32"
          },
          "serviceSettingId": {
            "type": "integer",
            "description": "Identifier of the linked service setting",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "Value affected to the setting for the profile"
          }
        },
        "additionalProperties": false,
        "description": "Represents the value of a service setting for a profile"
      },
      "ServiceStepDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique-per-service code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Translation term containing the text",
            "nullable": true
          },
          "redirectUrl": {
            "type": "string",
            "description": "Redirect URL related to the step",
            "nullable": true
          },
          "iconPath": {
            "type": "string",
            "description": "Relative system file path to an icon",
            "nullable": true
          },
          "processingTimeInHours": {
            "type": "integer",
            "description": "Estimated time in hours the step will take to be completed",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the steps will be sorted (asc.)",
            "format": "int32"
          },
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the service linked to the step",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a service step"
      },
      "ServiceThemeDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the theme menu is visible within the navigation panel."
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the themes will be sorted (asc.) in the navigation panel",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a service theme"
      },
      "ServicesByProcurationKeysExpand": {
        "title": "ServicesByProcurationKeysExpand",
        "enum": [
          "ServiceTheme",
          "IdentificationLevel",
          "OrgIdentificationLevel",
          "ProcurationService",
          "ServiceClients",
          "Survey",
          "FavoriteService"
        ],
        "type": "string"
      },
      "ServicesByProfileExpand": {
        "title": "ServicesByProfileExpand",
        "enum": [
          "ServiceTheme",
          "IdentificationLevel",
          "OrgIdentificationLevel",
          "ProfileRoles",
          "ServiceClients",
          "Survey",
          "FavoriteService"
        ],
        "type": "string"
      },
      "ServicesExpand": {
        "title": "ServicesExpand",
        "enum": [
          "ServiceTheme",
          "IdentificationLevel",
          "OrgIdentificationLevel",
          "ServiceClients",
          "Survey"
        ],
        "type": "string"
      },
      "SignatoryType": {
        "title": "SignatoryType",
        "enum": [
          "Signer",
          "Representative"
        ],
        "type": "string"
      },
      "SignatureType": {
        "title": "SignatureType",
        "enum": [
          "Unknown",
          "Single",
          "Joint"
        ],
        "type": "string"
      },
      "SurveyDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the Service related to the survey",
            "format": "int32"
          },
          "surveyUrl": {
            "type": "string",
            "description": "Url of the survey"
          },
          "isRandomFeedbackEnabled": {
            "type": "boolean",
            "description": "Indicates if the survey is a random survey"
          },
          "isSpontaneousFeedbackEnabled": {
            "type": "boolean",
            "description": "Indicates if the survey can be a spontanous survey"
          },
          "rF_ActivationChance": {
            "type": "integer",
            "description": "Activation chance of the random survey",
            "format": "int32"
          },
          "rF_MinDaysAfterRefused": {
            "type": "integer",
            "description": "Number of waiting days before a random survey reponse can be supplied again after a dismiss or a denial",
            "format": "int32"
          },
          "rF_MinDaysAfterAccepted": {
            "type": "integer",
            "description": "Number of waiting days before a random survey reponse can be supplied again after a participation",
            "format": "int32"
          },
          "sF_MinDaysAfterAccepted": {
            "type": "integer",
            "description": "Number of waiting days before a spontaneous survey reponse can be supplied again after a participation",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SurveyEntryDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "surveyId": {
            "type": "integer",
            "description": "Identifier of the related survey",
            "format": "int32"
          },
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the related service",
            "format": "int32"
          },
          "profileId": {
            "type": "integer",
            "description": "Identifier of the related profile",
            "format": "int32"
          },
          "response": {
            "type": "boolean",
            "description": "Response of the survey entry",
            "nullable": true
          },
          "isSpontaneousFeedback": {
            "type": "boolean",
            "description": "Indicates if the entry is from a spontaneous survey"
          }
        },
        "additionalProperties": false
      },
      "SurveyStatusDto": {
        "type": "object",
        "properties": {
          "surveyId": {
            "type": "integer",
            "description": "Identifier of the related survey",
            "format": "int32"
          },
          "profileId": {
            "type": "integer",
            "description": "Identifier of the related profile",
            "format": "int32"
          },
          "serviceId": {
            "type": "integer",
            "description": "Identifier of the related service",
            "format": "int32"
          },
          "surveyUrl": {
            "type": "string",
            "description": "Url of the survey",
            "nullable": true
          },
          "isRandomSurveyAvailable": {
            "type": "boolean",
            "description": "Indicates if random survey is available"
          },
          "isSpontaneousSurveyAvailable": {
            "type": "boolean",
            "description": "Indicates if spontaneous survey is available"
          }
        },
        "additionalProperties": false
      },
      "UpdateClientCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateCommand": {
        "required": [
          "updatedBy"
        ],
        "type": "object",
        "properties": {
          "updatedBy": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Requester of the update"
          }
        },
        "additionalProperties": false,
        "description": "Base class for commands involving update"
      },
      "UpdateCustomProfilePictureCommand": {
        "required": [
          "customImageEncodedBytes",
          "customImageType"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "customImageType": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "MimeType of the custom picture"
          },
          "customImageEncodedBytes": {
            "minLength": 1,
            "type": "string",
            "description": "Base64 encoded bytes of the custom image"
          }
        },
        "additionalProperties": false
      },
      "UpdateIdentificationLevelCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "levelOfTrust": {
            "minimum": 0,
            "type": "integer",
            "description": "Level value of the identification level",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateIdentityProviderCommand": {
        "required": [
          "displayName",
          "name",
          "typeName"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "typeName": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "Name of the binary related to this provider"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Defines if the provider will be used by default",
            "default": false
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Defines if the provider is enabled",
            "default": false
          },
          "data": {
            "maxLength": 4000,
            "type": "string",
            "description": "Contains specific data used by the provider",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateLegalFormCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "code": {
            "type": "string",
            "description": "Unique code used during organization registration to know if self-registration is possible<br />\r\nCannot contain the character '_'.",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isOrgDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if affiliated organizations can be deleted by one of their owners",
            "default": true
          }
        },
        "additionalProperties": false
      },
      "UpdateMaritalStatusCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates if the marital status is usable by the citizen",
            "default": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the marital statuses will be sorted (asc) for display to the citizen<br />\r\nWhen omitted, the higher value + 1 is used by default.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateOrgCategoryCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "code": {
            "type": "string",
            "description": "Unique code used during registration to know if self-registration is possible<br />\r\nCannot contain the character '_'.",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the category is shown in the organization registration form",
            "default": true
          },
          "isOrgDeletableByOwner": {
            "type": "boolean",
            "description": "Indicates if affiliated organizations can be deleted by one of their owners",
            "default": true
          },
          "profilePictureUrl": {
            "maxLength": 100,
            "type": "string",
            "description": "Url of the default profile picture for organizations belonging to this category",
            "nullable": true
          },
          "smallProfilePictureUrl": {
            "maxLength": 100,
            "type": "string",
            "description": "Url of the default profile picture (small version) for organizations belonging to this category",
            "nullable": true
          },
          "daysUntilFirstDeletionReminder": {
            "type": "integer",
            "description": "Number of days until the first deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          },
          "daysUntilSecondDeletionReminder": {
            "type": "integer",
            "description": "Number of days until the second deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          },
          "daysUntilDeletion": {
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "description": "Number of days until the deletion reminder should be sent",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateOrgIdentificationLevelCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "levelOfTrust": {
            "minimum": 0,
            "type": "integer",
            "description": "Level value of the identification level",
            "format": "int32"
          },
          "elevationServiceId": {
            "type": "integer",
            "description": "Identifier of the service designed to elevate an organization profile to this identification level",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateRoleCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateServiceCommand": {
        "required": [
          "displayName",
          "identificationLevelId",
          "name",
          "serviceThemeId",
          "url"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "externalId": {
            "type": "string",
            "description": "External identifier of the service (defined by the canton)",
            "nullable": true
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "identificationLevelId": {
            "type": "integer",
            "description": "Identifier of the service's identification level",
            "format": "int32"
          },
          "orgIdentificationLevelId": {
            "type": "integer",
            "description": "Identifier of the service's org identification level",
            "format": "int32"
          },
          "serviceThemeId": {
            "type": "integer",
            "description": "Identifier of the service's theme",
            "format": "int32"
          },
          "iconPath": {
            "maxLength": 64,
            "type": "string",
            "description": "Path of the icon to use in the service tile",
            "nullable": true
          },
          "cssClass": {
            "maxLength": 32,
            "type": "string",
            "description": "Css classes to apply to the service tile",
            "nullable": true
          },
          "url": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string",
            "description": "URL used when the service tile is clicked"
          },
          "urlTarget": {
            "title": "UrlTarget",
            "allOf": [
              {
                "$ref": "#/components/schemas/UrlTarget"
              }
            ],
            "description": "Type of redirection used when the tile is clicked",
            "default": "Self"
          },
          "jiraProjectId": {
            "maxLength": 50,
            "type": "string",
            "description": "Identifier of the Jira project related to the service",
            "nullable": true
          },
          "isProcurationAvailable": {
            "type": "boolean",
            "description": "Indicates if this service can be shared using procuration",
            "default": false
          },
          "isInMaintenance": {
            "type": "boolean",
            "description": "Indicates if the service is currently available to the citizen.\r\nWhen in maintenance, the service tile indicates that the service is not available due to a maintenance.",
            "default": false
          },
          "isShownInCatalog": {
            "type": "boolean",
            "description": "Indicates if the service tile is shown in the service catalog. \r\nThis value does not affect the service tile visibility in the themes.",
            "default": true
          },
          "isExternal": {
            "type": "boolean",
            "description": "Indicates if the service URL refers to an external website",
            "default": false
          },
          "isAccessible": {
            "type": "boolean",
            "description": "Indicates if the service follows the web standards in term of accessibility",
            "default": true
          },
          "isResponsive": {
            "type": "boolean",
            "description": "Indicates if the service is mobile-friendly",
            "default": true
          },
          "isNew": {
            "type": "boolean",
            "description": "Indicates if the service is a fresh addition to the ePortal",
            "default": true
          },
          "isNavigationShown": {
            "type": "boolean",
            "description": "Indicates if the navigation panel is opened within the service",
            "default": true
          },
          "isSupportAvailable": {
            "type": "boolean",
            "description": "Indicates if the support panel is shown within the service",
            "default": true
          },
          "subThemeKey": {
            "maxLength": 100,
            "type": "string",
            "description": "Key of the service's sub-theme",
            "nullable": true
          },
          "isProfileManagerAvailable": {
            "type": "boolean",
            "description": "Indicates whether the profile manager (ePM) is available for the service.\r\nIf the profile manager is available, it will be displayed before accessing the service.",
            "default": false
          },
          "daysUntilReminder": {
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "description": "Number of days after which a reminder must be sent once the related business case is closed.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateServiceSettingCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id of the setting to update",
            "format": "int32"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique-per-service code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isSecure": {
            "type": "boolean",
            "description": "Indicates if the value of the setting is considered sensitive. \r\nAffects the way the value is displayed in the back-office.",
            "default": false
          }
        },
        "additionalProperties": false
      },
      "UpdateServiceStepCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id of the setting to update",
            "format": "int32"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique-per-service code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Translation term containing the text",
            "nullable": true
          },
          "redirectUrl": {
            "maxLength": 2000,
            "type": "string",
            "description": "Redirect URL related to the step",
            "nullable": true
          },
          "iconPath": {
            "maxLength": 2000,
            "type": "string",
            "description": "Relative system file path to an icon",
            "nullable": true
          },
          "processingTimeInHours": {
            "type": "integer",
            "description": "Estimated time in hours the step will take to be completed",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the steps will be sorted (asc.) in the navigation panel",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateServiceThemeCommand": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Unique code name"
          },
          "displayName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Quick description (not shown to citizen)",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the theme menu is visible within the navigation panel.",
            "default": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "Value on which the themes will be sorted (asc.) in the navigation panel<br />\r\nWhen omitted, the higher value + 1 is used by default.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateWidgetCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateCommand"
          }
        ],
        "properties": {
          "chartTypeId": {
            "type": "integer",
            "description": "Related chart type id",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the widget"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "endpointUrl": {
            "type": "string",
            "description": "EndpointUrl"
          },
          "description": {
            "type": "string",
            "description": "Quick description",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpsertFavoriteServiceCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "position": {
            "type": "integer",
            "description": "Tile position (index) in the user dashboard (zero-based)",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpsertFavoriteWidgetCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "position": {
            "type": "integer",
            "description": "Tile position (index) in the user dashboard (zero-based)",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpsertIdentityCommand": {
        "required": [
          "externalId",
          "identificationLevelId"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "identificationLevelId": {
            "type": "integer",
            "description": "Id of the IdentificationLevel of this identity",
            "format": "int32"
          },
          "externalId": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "ExternalId given by the IDP (must be unique per IDP)"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Dictionary of additional data",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpsertOrgCategoryRoleCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "additionalProperties": false
      },
      "UpsertProcurationCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid. Default value is now.",
            "format": "date-time"
          },
          "personInOrganizationFunction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrgFunction"
              }
            ],
            "description": "Representative's function within the organization.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "isPersonInOrganizationPendingDelete": {
            "type": "boolean",
            "description": "Defines if the representative is in the process of being removed from the organization.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is an owner of the said organization.",
            "default": false
          },
          "representativeEmail": {
            "maxLength": 400,
            "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\")+[a-zA-Z]{2,}))$",
            "type": "string",
            "description": "Email to notify the representative in the context of the procuration.\r\nOnly usable when the PrincipalProfile is an organization and the RepresentativeProfile is a person within this organization.",
            "nullable": true
          },
          "delegationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DelegationMode"
              }
            ],
            "description": "Procuration delegation mode to define how rights can be shared with organization members.<br />\r\nOnly available when RepresentativeProfile is an organization.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpsertProcurationServiceCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid. Default value is now.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "UpsertProfileRoleCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "validityStartStamp": {
            "type": "string",
            "description": "Date indicating since when this relation is valid. Default value is now.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "UpsertServiceClientCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "additionalProperties": false
      },
      "UpsertServiceRoleCommand": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "isVisible": {
            "type": "boolean",
            "description": "Indicates if the service tile in the ePortal is visible within this relation. \r\nDoes not affect the service catalog.",
            "default": true
          }
        },
        "additionalProperties": false
      },
      "UpsertServiceSettingValueCommand": {
        "required": [
          "value"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "value": {
            "type": "string",
            "description": "Value affected to the setting for the profile"
          }
        },
        "additionalProperties": false
      },
      "UpsertSurveyCommand": {
        "required": [
          "surveyUrl"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCommand"
          }
        ],
        "properties": {
          "surveyUrl": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string",
            "description": "Url of the survey"
          },
          "isRandomFeedbackEnabled": {
            "type": "boolean",
            "description": "Indicates if the survey is a random survey"
          },
          "isSpontaneousFeedbackEnabled": {
            "type": "boolean",
            "description": "Indicates if the survey can be a spontanous survey"
          },
          "rF_ActivationChance": {
            "maximum": 100,
            "minimum": 0,
            "type": "integer",
            "description": "Activation chance of the random survey",
            "format": "int32"
          },
          "rF_MinDaysAfterRefused": {
            "minimum": 1,
            "type": "integer",
            "description": "Number of waiting days before a random survey reponse can be supplied again after a dismiss or a denial",
            "format": "int32"
          },
          "rF_MinDaysAfterAccepted": {
            "minimum": 1,
            "type": "integer",
            "description": "Number of waiting days before a random survey reponse can be supplied again after a participation",
            "format": "int32"
          },
          "sF_MinDaysAfterAccepted": {
            "minimum": 1,
            "type": "integer",
            "description": "Number of waiting days before a spontaneous survey reponse can be supplied again after a participation",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UrlTarget": {
        "title": "UrlTarget",
        "enum": [
          "Self",
          "Blank"
        ],
        "type": "string"
      },
      "ValidationProblemDetails": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "WidgetByIdAndServiceExpand": {
        "title": "WidgetByIdAndServiceExpand",
        "enum": [
          "ChartType"
        ],
        "type": "string"
      },
      "WidgetByProfileDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ExpandableWidgetDto"
          }
        ],
        "properties": {
          "favoriteWidget": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FavoriteWidgetDto"
              }
            ],
            "description": "Relation of favorite between the widget and the profile",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WidgetDto": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDto"
          }
        ],
        "properties": {
          "serviceId": {
            "type": "integer",
            "description": "Related service Id",
            "format": "int32"
          },
          "chartTypeId": {
            "type": "integer",
            "description": "Related chart type id",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the widget"
          },
          "displayName": {
            "type": "string",
            "description": "Name that will be used for display purpose (translation term)"
          },
          "endpointUrl": {
            "type": "string",
            "description": "EndpointUrl"
          },
          "description": {
            "type": "string",
            "description": "Quick description",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WidgetsByServiceExpand": {
        "title": "WidgetsByServiceExpand",
        "enum": [
          "ChartType"
        ],
        "type": "string"
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Endpoints",
      "tags": [
        "IdentificationLevels",
        "Identities",
        "IdentityProviders",
        "LegalForms",
        "MaritalStatuses",
        "OrgCategories",
        "OrgIdentificationLevels",
        "Profiles",
        "Roles",
        "Services",
        "ServiceThemes"
      ]
    }
  ]
}