Identity Service API 2.0

Content type
OpenAPI specifications
Product line
ClearID
Version
2.0
Language
English
Applies to
Genetec ClearID

Identity Service API 2.0

Use this API to manage identities.

{
  "openapi": "3.0.1",
  "info": {
    "title": "Identity Service API",
    "description": "Use this API to manage identities.",
    "termsOfService": "https://www.genetec.com/legal/cloudtos",
    "license": {
      "name": "Source Code License Agreement",
      "url": "https://www.genetec.com/legal/eula"
    },
    "version": "2"
  },
  "paths": {
    "/api/v2/accounts/{accountId}/config": {
      "get": {
        "tags": [
          "AccountConfiguration"
        ],
        "summary": "Get account configuration",
        "description": "Default configs are returned if not found.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "AccountConfiguration"
        ],
        "summary": "Update account configuration",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration.CreateOrUpdate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration.CreateOrUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration.CreateOrUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration.CreateOrUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/countries": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get the list of countries and their code according to ISO 3166-1 alpha-3.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Country.CountriesListModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Country.CountriesListModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Country.CountriesListModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identities": {
      "post": {
        "tags": [
          "Identities"
        ],
        "summary": "Create a new identity in an account.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: Ordinal, SystemData, PrivateData, CompanyData, NationalIdentityData, UserPermissions.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "syncNow",
            "in": "query",
            "description": "Unused parameter.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity to create.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.CreateIdentityModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.CreateIdentityModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.CreateIdentityModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.CreateIdentityModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "Identities"
        ],
        "summary": "List identities by external id",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "The external id to find.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "Continuation token to provide to get next batch of identities.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentitiesListModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentitiesListModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentitiesListModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identities/{identityId}": {
      "get": {
        "tags": [
          "Identities"
        ],
        "summary": "Gets an identity by its id and accountId",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id to find.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: Ordinal, SystemData, PrivateData, CompanyData, NationalIdentityData, UserPermissions.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Could not find an identity with the specified id.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Identities"
        ],
        "summary": "Partially updates an existing identity.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id which refers to the identity to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: Ordinal, SystemData, PrivateData, CompanyData, NationalIdentityData, UserPermissions.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "syncNow",
            "in": "query",
            "description": "Send a synchronization request to the identity cardholders.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity to update.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.PatchIdentityModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.PatchIdentityModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.PatchIdentityModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.PatchIdentityModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Identities"
        ],
        "summary": "Updates an existing identity.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id which refers to the identity to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: Ordinal, SystemData, PrivateData, CompanyData, NationalIdentityData, UserPermissions.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "syncNow",
            "in": "query",
            "description": "Send a synchronization request to the identity cardholders.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity to update.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.UpdateIdentityModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.UpdateIdentityModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.UpdateIdentityModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.UpdateIdentityModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Identities"
        ],
        "summary": "Deletes an existing identity.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id which refers to the identity to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eTag",
            "in": "query",
            "description": "Etag must be specified to delete an identity.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: Ordinal, SystemData, PrivateData, CompanyData, NationalIdentityData, UserPermissions.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "syncNow",
            "in": "query",
            "description": "Send a synchronization request to the identity cardholders.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identities/{identityId}/replacesupervisor/{supervisorId}": {
      "post": {
        "tags": [
          "Identities"
        ],
        "summary": "Updates an existing identity supervisors.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id which refers to the identity to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supervisorId",
            "in": "path",
            "description": "Id of the supervisor to be replaced.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: Ordinal, SystemData, PrivateData, CompanyData, NationalIdentityData, UserPermissions.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "syncNow",
            "in": "query",
            "description": "Send a synchronization request to the identity cardholders.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "Information of the new supervisors.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.UpdateIdentitySupervisorsModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.UpdateIdentitySupervisorsModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.UpdateIdentitySupervisorsModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.UpdateIdentitySupervisorsModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identitycustomfields": {
      "post": {
        "tags": [
          "IdentityCustomFields"
        ],
        "summary": "Creates an identity custom field.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which to create the identity custom field.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity custom field to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.CreateIdentityCustomFieldModel"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "IdentityCustomFields"
        ],
        "summary": "Gets all identity custom fields in the account specified by the accountId.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account from which to fetch all identity custom fields.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identitycustomfields/{identityCustomFieldName}": {
      "get": {
        "tags": [
          "IdentityCustomFields"
        ],
        "summary": "Gets an identity custom field by its accountId and name.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity custom field belongs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldName",
            "in": "path",
            "description": "The identity custom field name to find.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "IdentityCustomFields"
        ],
        "summary": "Partially updates an existing identity custom field.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity custom field belongs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldName",
            "in": "path",
            "description": "The name of the identity custom field to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity custom field to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.PatchIdentityCustomFieldModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "IdentityCustomFields"
        ],
        "summary": "Updates an existing identity custom field.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity custom field belongs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldName",
            "in": "path",
            "description": "The name of the identity custom field to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity custom field to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.UpdateIdentityCustomFieldModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "IdentityCustomFields"
        ],
        "summary": "Deletes an identity custom field.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account from which to delete the identity custom field.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldName",
            "in": "path",
            "description": "The name of the identity custom field to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identitycustomfieldssections": {
      "post": {
        "tags": [
          "IdentityCustomFieldsSections"
        ],
        "summary": "Creates an identity custom fields section.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which to create the identity custom fields section.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: UIFormat",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity custom fields section to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.CreateIdentityCustomFieldsSectionModel"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "IdentityCustomFieldsSections"
        ],
        "summary": "Gets all identity custom fields sections in the account specified by the accountId.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account from which to fetch all identity custom fields sections.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: UIFormat",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identitycustomfieldssections/{identityCustomFieldsSectionName}": {
      "get": {
        "tags": [
          "IdentityCustomFieldsSections"
        ],
        "summary": "Gets an identity custom fields section by its accountId and name.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity custom fields section belongs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldsSectionName",
            "in": "path",
            "description": "The identity custom fields section name to find.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: UIFormat",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              }
            }
          },
          "404": {
            "description": "Could not find an identity custom fields section with the specified id.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "IdentityCustomFieldsSections"
        ],
        "summary": "Partially updates an existing identity custom fields section.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity custom fields section belongs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldsSectionName",
            "in": "path",
            "description": "The name of the identity custom fields section to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: UIFormat",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity custom field to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.PatchIdentityCustomFieldsSectionModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "IdentityCustomFieldsSections"
        ],
        "summary": "Updates an existing identity custom fields section.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity custom fields section belongs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldsSectionName",
            "in": "path",
            "description": "The name of the identity custom fields section to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "Possible values: UIFormat",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "description": "Information of the identity custom fields section to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.UpdateIdentityCustomFieldsSectionModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "IdentityCustomFieldsSections"
        ],
        "summary": "Deletes an identity custom fields section.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account from which to delete the identity custom fields section.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityCustomFieldsSectionName",
            "in": "path",
            "description": "The name of the identity custom fields section to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/permissions/{permissionsId}": {
      "get": {
        "tags": [
          "Permissions"
        ],
        "summary": "Get permissions by permissionsId",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "permissionsId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "possible values: EntityInfo",
            "schema": {
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Permissions"
        ],
        "summary": "Update permissions for a single entity",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "permissionsId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Update"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Update"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Update"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Update"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Permissions"
        ],
        "summary": "Delete permissions for a single entity",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "permissionsId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Delete"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Delete"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Delete"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Delete"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/permissions/challenge": {
      "get": {
        "tags": [
          "Permissions"
        ],
        "summary": "Get entities permissions",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityIds",
            "in": "query",
            "description": "",
            "schema": {
              "maxItems": 20,
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Challenge"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Challenge"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Challenge"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/permissions": {
      "get": {
        "tags": [
          "Permissions"
        ],
        "summary": "List permissions by accountId",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "description": "possible values: EntityInfo",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "take",
            "in": "query",
            "description": "",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.List"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.List"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.List"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Permissions"
        ],
        "summary": "Create permissions for many entities",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.CreateMany"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.CreateMany"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.CreateMany"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.CreateMany"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identities/{identityId}/picture": {
      "get": {
        "tags": [
          "Picture"
        ],
        "summary": "Get an identity picture.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id to find.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Could not find an identity with the specified id.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Picture"
        ],
        "summary": "Upload a picture for an identity.",
        "description": "headers: {'Content-Type': 'multipart/form-data'}.\r\nFile maximum size: 2 MB.\r\nFile name maximum length: 255 char.\r\nSupported types: png, jpg, gif.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id which refers to the identity to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "picture": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "picture": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Picture"
        ],
        "summary": "Remove a picture from an Identity.",
        "description": "The deletion of the picture is permanent and cannot be recovered.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account in which the identity belongs in.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identityId",
            "in": "path",
            "description": "The identity id which refers to the identity to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identities/synchronize": {
      "post": {
        "tags": [
          "SynchronizeIdentities"
        ],
        "summary": "Request a synchronization between Identities and their Cardholders entities.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account id of the identities.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The information of identities to synchronize.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    },
    "/api/v2/accounts/{accountId}/identities/synchronizeByExternalId": {
      "post": {
        "tags": [
          "SynchronizeIdentities"
        ],
        "summary": "Request a synchronization between Identities and their Cardholders entities using the External ID.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The account id of the identities",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The information of identities to synchronize.",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeByExternalIdModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeByExternalIdModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeByExternalIdModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeByExternalIdModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "access"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration": {
        "type": "object",
        "properties": {
          "isSupervisorAllowedToEditDirectReports": {
            "type": "boolean"
          },
          "ordinal": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Account.AccountConfiguration.CreateOrUpdate": {
        "required": [
          "isSupervisorAllowedToEditDirectReports"
        ],
        "type": "object",
        "properties": {
          "isSupervisorAllowedToEditDirectReports": {
            "type": "boolean"
          },
          "ordinal": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Country.CountriesListModel": {
        "type": "object",
        "properties": {
          "countries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Country.CountryModel"
            },
            "description": "The list of countries according to ISO 3166-1 alpha-3",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Country.CountryModel": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "description": "The country code defined in ISO 3166-1 alpha-3",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "description": "The country name in english.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.CreateIdentityModel": {
        "required": [
          "countryCode",
          "status"
        ],
        "type": "object",
        "properties": {
          "privateData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdatePrivateDataModel"
          },
          "companyData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateCompanyDataModel"
          },
          "systemData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateSystemDataModel"
          },
          "nationalIdentities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateNationalIdentityModel"
            },
            "description": "Container for the national identity data",
            "nullable": true
          },
          "description": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Description of this identity (cardholder description).",
            "nullable": true
          },
          "status": {
            "minLength": 1,
            "type": "string",
            "description": "The state of the identity.\r\n<see cref=\"T:Genetec.SaaS.Iams.IdentityService.Business.Constants.IdentityStatus\">Active, Inactive, Deleted</see>"
          },
          "firstName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "First name of the identity",
            "nullable": true
          },
          "lastName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Last name of the identity",
            "nullable": true
          },
          "middleName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Middle name of the identity",
            "nullable": true
          },
          "displayName": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Display name of the identity",
            "nullable": true
          },
          "countryCode": {
            "minLength": 1,
            "type": "string",
            "description": "Country code ISO 3 letters"
          },
          "email": {
            "type": "string",
            "description": "Primary email of the identity",
            "nullable": true
          },
          "creationOnBehalf": {
            "type": "string",
            "description": "Identifier of the requester of the creation",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ApproverModel": {
        "required": [
          "approverId"
        ],
        "type": "object",
        "properties": {
          "approverId": {
            "minLength": 1,
            "type": "string",
            "description": "The id of the approver."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateCompanyDataModel": {
        "type": "object",
        "properties": {
          "approvers": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ApproverModel"
            },
            "description": "Supervisor model",
            "nullable": true
          },
          "supervisorName": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Display name of the supervisor.",
            "nullable": true
          },
          "departmentName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Department name.",
            "nullable": true
          },
          "jobTitle": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Job title.",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "description": "ClearID Site ID of where this identity is located.",
            "nullable": true
          },
          "companyName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Company name.",
            "nullable": true
          },
          "workerTypeDescription": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Worker type description.",
            "nullable": true
          },
          "workerTypeCode": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string",
            "description": "Worker type code.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateNationalIdentityModel": {
        "required": [
          "issuer",
          "name",
          "nationalIdentityNumber"
        ],
        "type": "object",
        "properties": {
          "nationalIdentityNumber": {
            "maxLength": 25,
            "minLength": 4,
            "type": "string",
            "description": "Alphanumeric ID number"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "ID description (e.g. Driver License, Social Security Number)"
          },
          "issuer": {
            "minLength": 1,
            "type": "string",
            "description": "Country Code of the country that issued the ID"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdatePrivateDataModel": {
        "type": "object",
        "properties": {
          "birthday": {
            "type": "string",
            "description": "Birthday date.",
            "format": "date-time",
            "nullable": true
          },
          "employeeNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Employee number.",
            "nullable": true
          },
          "secondaryEmail": {
            "type": "string",
            "description": "Secondary email address.",
            "nullable": true
          },
          "cityOfResidence": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "City of residence.",
            "nullable": true
          },
          "stateOfResidence": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "State of residence.",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Zip code.",
            "nullable": true
          },
          "phoneNumberPrimary": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Primary phone number.",
            "nullable": true
          },
          "phoneNumberSecondary": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Secondary phone number.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateSystemDataModel": {
        "type": "object",
        "properties": {
          "hasExtendedTime": {
            "type": "boolean",
            "description": "AC Disability for granting Extended Time",
            "nullable": true
          },
          "activationDateUtc": {
            "type": "string",
            "description": "Activation Date in UTC.",
            "format": "date-time",
            "nullable": true
          },
          "expirationDateUtc": {
            "type": "string",
            "description": "Expiration Date in UTC",
            "format": "date-time",
            "nullable": true
          },
          "externalId": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "External ID",
            "nullable": true
          },
          "externalSyncTimeUtc": {
            "type": "string",
            "description": "External Sync Time in UTC",
            "format": "date-time",
            "nullable": true
          },
          "provisioningAttributes": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ProvisioningAttributeModel"
            },
            "description": "Provisioning Attributes",
            "nullable": true
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CustomFieldModel"
            },
            "description": "Custom Fields",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CustomFieldModel": {
        "required": [
          "customFieldName"
        ],
        "type": "object",
        "properties": {
          "customFieldType": {
            "type": "string",
            "description": "Type of the custom field. Possible values: Text, Numeric, Boolean, DateTime, Decimal, Date.",
            "nullable": true
          },
          "customFieldName": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "Name of the custom field."
          },
          "customFieldValue": {
            "type": "string",
            "description": "Value of the custom field.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetCompanyDataModel": {
        "type": "object",
        "properties": {
          "approvers": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ApproverModel"
            },
            "description": "Supervisor model",
            "nullable": true
          },
          "supervisorName": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Display name of the supervisor.",
            "nullable": true
          },
          "departmentName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Department name.",
            "nullable": true
          },
          "jobTitle": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Job title.",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "description": "ClearID Site ID of where this identity is located.",
            "nullable": true
          },
          "companyName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Company name.",
            "nullable": true
          },
          "workerTypeDescription": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Worker type description.",
            "nullable": true
          },
          "workerTypeCode": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string",
            "description": "Worker type code.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetNationalIdentityModel": {
        "required": [
          "issuer",
          "name"
        ],
        "type": "object",
        "properties": {
          "hashOfNationalIdentityNumber": {
            "type": "string",
            "description": "Hash of the ID number using SHA-512",
            "nullable": true
          },
          "endingFourDigitsOfNationalIdentityNumber": {
            "type": "string",
            "description": "Last four digits of the ID number",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "ID description (e.g. Driver License, Social Security Number)"
          },
          "issuer": {
            "minLength": 1,
            "type": "string",
            "description": "Country Code of the country that issued the ID"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetPrivateDataModel": {
        "type": "object",
        "properties": {
          "pictureBlobName": {
            "type": "string",
            "description": "Blob name of the picture.\r\nObsolete: Will be removed soon. Use API endpoint 'api/v1/accounts/{accountId}/identities/{identityId}/picture' to get identity's picture.",
            "nullable": true,
            "deprecated": true
          },
          "birthday": {
            "type": "string",
            "description": "Birthday date.",
            "format": "date-time",
            "nullable": true
          },
          "employeeNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Employee number.",
            "nullable": true
          },
          "secondaryEmail": {
            "type": "string",
            "description": "Secondary email address.",
            "nullable": true
          },
          "cityOfResidence": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "City of residence.",
            "nullable": true
          },
          "stateOfResidence": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "State of residence.",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Zip code.",
            "nullable": true
          },
          "phoneNumberPrimary": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Primary phone number.",
            "nullable": true
          },
          "phoneNumberSecondary": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Secondary phone number.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetSystemDataModel": {
        "type": "object",
        "properties": {
          "partitions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Partitions of the user.",
            "nullable": true
          },
          "hasExtendedTime": {
            "type": "boolean",
            "description": "AC Disability for granting Extended Time",
            "nullable": true
          },
          "activationDateUtc": {
            "type": "string",
            "description": "Activation Date in UTC.",
            "format": "date-time",
            "nullable": true
          },
          "expirationDateUtc": {
            "type": "string",
            "description": "Expiration Date in UTC",
            "format": "date-time",
            "nullable": true
          },
          "externalId": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "External ID",
            "nullable": true
          },
          "externalSyncTimeUtc": {
            "type": "string",
            "description": "External Sync Time in UTC",
            "format": "date-time",
            "nullable": true
          },
          "provisioningAttributes": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ProvisioningAttributeModel"
            },
            "description": "Provisioning Attributes",
            "nullable": true
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CustomFieldModel"
            },
            "description": "Custom Fields",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchCompanyDataModel": {
        "type": "object",
        "properties": {
          "approvers": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ApproverModel"
            },
            "description": "Supervisor model",
            "nullable": true
          },
          "supervisorName": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Display name of the supervisor.",
            "nullable": true
          },
          "departmentName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Department name.",
            "nullable": true
          },
          "jobTitle": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Job title.",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "description": "ClearID Site ID of where this identity is located.",
            "nullable": true
          },
          "companyName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Company name.",
            "nullable": true
          },
          "workerTypeDescription": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Worker type description.",
            "nullable": true
          },
          "workerTypeCode": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string",
            "description": "Worker type code.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchNationalIdentityModel": {
        "required": [
          "issuer",
          "name",
          "nationalIdentityNumber"
        ],
        "type": "object",
        "properties": {
          "nationalIdentityNumber": {
            "maxLength": 25,
            "minLength": 4,
            "type": "string",
            "description": "Alphanumeric ID number"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "ID description (e.g. Driver License, Social Security Number)"
          },
          "issuer": {
            "minLength": 1,
            "type": "string",
            "description": "Country Code of the country that issued the ID"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchPrivateDataModel": {
        "type": "object",
        "properties": {
          "birthday": {
            "type": "string",
            "description": "Birthday date.",
            "format": "date-time",
            "nullable": true
          },
          "employeeNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Employee number.",
            "nullable": true
          },
          "secondaryEmail": {
            "type": "string",
            "description": "Secondary email address.",
            "nullable": true
          },
          "cityOfResidence": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "City of residence.",
            "nullable": true
          },
          "stateOfResidence": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "State of residence.",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Zip code.",
            "nullable": true
          },
          "phoneNumberPrimary": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Primary phone number.",
            "nullable": true
          },
          "phoneNumberSecondary": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Secondary phone number.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchSystemDataModel": {
        "type": "object",
        "properties": {
          "activationDateUtc": {
            "type": "string",
            "description": "Activation Date in UTC.",
            "format": "date-time",
            "nullable": true
          },
          "expirationDateUtc": {
            "type": "string",
            "description": "Expiration Date in UTC",
            "format": "date-time",
            "nullable": true
          },
          "externalSyncTimeUtc": {
            "type": "string",
            "description": "External Sync Time in UTC",
            "format": "date-time",
            "nullable": true
          },
          "hasExtendedTime": {
            "type": "boolean",
            "description": "AC Disability for granting Extended Time",
            "nullable": true
          },
          "externalId": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "External ID",
            "nullable": true
          },
          "provisioningAttributes": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ProvisioningAttributeModel"
            },
            "description": "Provisioning Attributes",
            "nullable": true
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CustomFieldModel"
            },
            "description": "Custom Fields",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.ProvisioningAttributeModel": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Name of the provisioning attribute."
          }
        },
        "additionalProperties": false,
        "description": "Model representing a provisioning attribute."
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentitiesListModel": {
        "type": "object",
        "properties": {
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel"
            },
            "description": "The list of identities which matched the filters.",
            "nullable": true
          },
          "continuation": {
            "type": "string",
            "description": "The url to use to get the next page of identities.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.IdentityModel": {
        "type": "object",
        "properties": {
          "identityId": {
            "type": "string",
            "description": "A unique id to identify the identity.",
            "nullable": true
          },
          "eTag": {
            "type": "string",
            "description": "The hash version of the identity.\r\nMust be specified to update an identity.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description of this identity (cardholder description).",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "The state of the identity.\r\nPossible values: <see cref=\"T:Genetec.SaaS.Iams.IdentityService.Business.Constants.IdentityStatus\">Active, Inactive, Deleted</see>.",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "First name of the identity",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the identity",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "Middle name",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the identity",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code ISO 3 letters",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Primary email of the identity",
            "nullable": true
          },
          "privateData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetPrivateDataModel"
          },
          "nationalIdentities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetNationalIdentityModel"
            },
            "description": "Container for the national identity",
            "nullable": true
          },
          "companyData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetCompanyDataModel"
          },
          "systemData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.GetSystemDataModel"
          },
          "createdBy": {
            "type": "string",
            "description": "Created by name.",
            "nullable": true
          },
          "creationDateUtc": {
            "type": "string",
            "description": "Creation date in UTC",
            "format": "date-time"
          },
          "creationOnBehalf": {
            "type": "string",
            "description": "Creation on behalf identitier",
            "nullable": true
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "Last modified by name.",
            "nullable": true
          },
          "lastModificationDateUtc": {
            "type": "string",
            "description": "Last modification date in UTC.",
            "format": "date-time"
          },
          "userPermissions": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Permissions.IUserPermissions"
          },
          "ordinal": {
            "type": "integer",
            "description": "Commit ordinal in the storage.",
            "format": "int64",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean",
            "description": "If true, the identity was deleted and cannot be modified"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.UpdateIdentitySupervisorsModel": {
        "required": [
          "newSupervisors",
          "reason"
        ],
        "type": "object",
        "properties": {
          "newSupervisors": {
            "maxItems": 20,
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reason": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.PatchIdentityModel": {
        "required": [
          "eTag"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Description of this identity (cardholder description).",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "The state of the identity.\r\n<see cref=\"T:Genetec.SaaS.Iams.IdentityService.Business.Constants.IdentityStatus\">Active, Inactive, Deleted</see>",
            "nullable": true
          },
          "firstName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "First name of the identity",
            "nullable": true
          },
          "lastName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Last name of the identity",
            "nullable": true
          },
          "middleName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Middle name",
            "nullable": true
          },
          "displayName": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string",
            "description": "Display name of the identity",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code ISO 3 letters",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Primary email of the identity",
            "nullable": true
          },
          "privateData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchPrivateDataModel"
          },
          "companyData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchCompanyDataModel"
          },
          "systemData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchSystemDataModel"
          },
          "nationalIdentities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.PatchNationalIdentityModel"
            },
            "description": "Container for the national identity",
            "nullable": true
          },
          "eTag": {
            "minLength": 1,
            "type": "string",
            "description": "The hash version of the identity.\r\nMust be specified to update an identity."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.V2.UpdateIdentityModel": {
        "required": [
          "countryCode",
          "displayName",
          "eTag",
          "status"
        ],
        "type": "object",
        "properties": {
          "privateData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdatePrivateDataModel"
          },
          "companyData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateCompanyDataModel"
          },
          "systemData": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateSystemDataModel"
          },
          "nationalIdentities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.Identity.Fields.CreateOrUpdateNationalIdentityModel"
            },
            "description": "Container for the national identity for this identity.",
            "nullable": true
          },
          "description": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Description of this identity (cardholder description).",
            "nullable": true
          },
          "status": {
            "minLength": 1,
            "type": "string",
            "description": "The state of the identity.\r\n<see cref=\"T:Genetec.SaaS.Iams.IdentityService.Business.Constants.IdentityStatus\">Active, Inactive, Deleted</see>"
          },
          "firstName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "First name of the identity",
            "nullable": true
          },
          "lastName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Last name of the identity",
            "nullable": true
          },
          "middleName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Middle name",
            "nullable": true
          },
          "displayName": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Display name of the identity"
          },
          "countryCode": {
            "minLength": 1,
            "type": "string",
            "description": "Country code ISO 3 letters"
          },
          "email": {
            "type": "string",
            "description": "Primary email of the identity",
            "nullable": true
          },
          "eTag": {
            "minLength": 1,
            "type": "string",
            "description": "The hash version of the identity.\r\nMust be specified to update an identity."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.CreateIdentityCustomFieldModel": {
        "required": [
          "customFieldName",
          "customFieldType",
          "displayName",
          "isReadOnly"
        ],
        "type": "object",
        "properties": {
          "customFieldName": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "Unique field name for synchronization with Security Center."
          },
          "displayName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Text to display in the UI for this field."
          },
          "customFieldType": {
            "minLength": 1,
            "type": "string",
            "description": "Type of the identity custom field. Possible values: Text, Numeric, Boolean, DateTime, Decimal, Date."
          },
          "isReadOnly": {
            "type": "boolean",
            "description": "Flag that indicates if the field is read-only through the UI (even for admins)."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel": {
        "type": "object",
        "properties": {
          "customFieldName": {
            "type": "string",
            "description": "Unique field name for synchronization with Security Center.",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "description": "Text to display in the UI for this field.",
            "nullable": true
          },
          "customFieldType": {
            "type": "string",
            "description": "Type of the identity custom field. Possible values: Text, Numeric, Boolean, DateTime, Decimal, Date.",
            "nullable": true
          },
          "isReadOnly": {
            "type": "boolean",
            "description": "Flag that indicates if the field is read-only through the UI (even for admins)."
          },
          "createdBy": {
            "type": "string",
            "description": "Created by name.",
            "nullable": true
          },
          "creationDateUtc": {
            "type": "string",
            "description": "Creation date in UTC",
            "format": "date-time",
            "nullable": true
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "Last modified by name.",
            "nullable": true
          },
          "lastModificationDateUtc": {
            "type": "string",
            "description": "Last modification date in UTC.",
            "format": "date-time",
            "nullable": true
          },
          "eTag": {
            "type": "string",
            "description": "The hash version of the identity custom field.\r\nMust be specified to update an identity custom field.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.PatchIdentityCustomFieldModel": {
        "required": [
          "eTag"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Text to display in the UI for this field.",
            "nullable": true
          },
          "customFieldType": {
            "type": "string",
            "description": "Type of the identity custom field. Possible values: Text, Numeric, Boolean, DateTime, Decimal, Date.",
            "nullable": true
          },
          "isReadOnly": {
            "type": "boolean",
            "description": "Flag that indicates if the field is read-only through the UI (even for admins).",
            "nullable": true
          },
          "eTag": {
            "minLength": 1,
            "type": "string",
            "description": "The hash version of the identity custom field.\r\nMust be specified to update an identity custom field."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.UpdateIdentityCustomFieldModel": {
        "required": [
          "customFieldType",
          "displayName",
          "eTag",
          "isReadOnly"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Text to display in the UI for this field."
          },
          "customFieldType": {
            "minLength": 1,
            "type": "string",
            "description": "Type of the identity custom field. Possible values: Text, Numeric, Boolean, DateTime, Decimal, Date."
          },
          "isReadOnly": {
            "type": "boolean",
            "description": "Flag that indicates if the field is read-only through the UI (even for admins)."
          },
          "eTag": {
            "minLength": 1,
            "type": "string",
            "description": "The hash version of the identity custom field.\r\nMust be specified to update an identity custom field."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.CreateIdentityCustomFieldsSectionModel": {
        "required": [
          "displayName",
          "identityCustomFieldsSectionName"
        ],
        "type": "object",
        "properties": {
          "identityCustomFieldsSectionName": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "Unique section name."
          },
          "displayName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Text to display in the UI for this section's header."
          },
          "index": {
            "type": "integer",
            "description": "Sequence order to display this section.",
            "format": "int32",
            "nullable": true
          },
          "identityCustomFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedNameModel"
            },
            "description": "Identity custom fields and order in which they are displayed in the section.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IdentityCustomFieldsSectionModel": {
        "type": "object",
        "properties": {
          "identityCustomFieldsSectionName": {
            "type": "string",
            "description": "Unique section name.",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "description": "Text to display in the UI for this section's header.",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "Sequence order to display this section.",
            "format": "int32"
          },
          "identityCustomFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedNameModel"
            },
            "description": "Identity custom fields and order in which they are displayed in the section.",
            "nullable": true
          },
          "identityCustomFieldsWithDefinitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedIdentityCustomFieldModel"
            },
            "description": "Identity custom fields definitions and order in which they are displayed in the section.",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "description": "Created by name.",
            "nullable": true
          },
          "creationDateUtc": {
            "type": "string",
            "description": "Creation date in UTC",
            "format": "date-time",
            "nullable": true
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "Last modified by name.",
            "nullable": true
          },
          "lastModificationDateUtc": {
            "type": "string",
            "description": "Last modification date in UTC.",
            "format": "date-time",
            "nullable": true
          },
          "eTag": {
            "type": "string",
            "description": "The hash version of the identity custom fields section.\r\nMust be specified to update an identity custom fields section.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedIdentityCustomFieldModel": {
        "type": "object",
        "properties": {
          "identityCustomFieldModel": {
            "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFields.IdentityCustomFieldModel"
          },
          "index": {
            "type": "integer",
            "description": "Index (control ordering) of the field in the section",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedNameModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Identity custom field name",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "Index (control ordering) of the field in the section",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.PatchIdentityCustomFieldsSectionModel": {
        "required": [
          "eTag"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Text to display in the UI for this section's header.",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "Sequence order to display this section.",
            "format": "int32",
            "nullable": true
          },
          "identityCustomFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedNameModel"
            },
            "description": "Identity custom fields and order in which they are displayed in the section.",
            "nullable": true
          },
          "eTag": {
            "minLength": 1,
            "type": "string",
            "description": "The hash version of the identity custom fields section.\r\nMust be specified to update an identity custom fields section."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.UpdateIdentityCustomFieldsSectionModel": {
        "required": [
          "displayName",
          "eTag",
          "index"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Text to display in the UI for this section's header."
          },
          "index": {
            "type": "integer",
            "description": "Sequence order to display this section.",
            "format": "int32"
          },
          "identityCustomFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityCustomFieldsSections.IndexedNameModel"
            },
            "description": "Identity custom fields and order in which they are displayed in the section.",
            "nullable": true
          },
          "eTag": {
            "minLength": 1,
            "type": "string",
            "description": "The hash version of the identity custom fields section.\r\nMust be specified to update an identity custom fields section."
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Permissions Id",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "description": "Identity or Team Id",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "description": "Entity Type is one of: Identity, Team",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Identity or Team display name",
            "nullable": true
          },
          "entityInfo": {
            "type": "string",
            "description": "Identity Email or Team Description",
            "nullable": true
          },
          "templateName": {
            "type": "string",
            "description": "Template Name is one of: ReadOnly, ReadWrite",
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of permissions",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "description": "IdentityId of the user who created the permissions",
            "nullable": true
          },
          "lastModifiedBy": {
            "type": "string",
            "description": "IdentityId of the user who last modified the permissions",
            "nullable": true
          },
          "creationDateTimeUtc": {
            "type": "string",
            "description": "Creation date and time in UTC",
            "format": "date-time"
          },
          "lastModificationDateTimeUtc": {
            "type": "string",
            "description": "Last modification date and time in UTC",
            "format": "date-time"
          },
          "version": {
            "type": "integer",
            "description": "Current version (ordinal)",
            "format": "int64"
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Deleted status"
          }
        },
        "additionalProperties": false,
        "description": "Permissions response model"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Challenge": {
        "type": "object",
        "properties": {
          "isSupervisorAllowedToEditDirectReports": {
            "type": "boolean",
            "description": "Account configuration for if the supervisor are allowed to edit their direct report"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of permissions found for given entities",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Permissions response model for Challenge"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.CreateMany": {
        "required": [
          "entityIds",
          "entityType",
          "reason",
          "templateName"
        ],
        "type": "object",
        "properties": {
          "entityIds": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of entity Ids for which to create permissions"
          },
          "entityType": {
            "minLength": 1,
            "type": "string",
            "description": "Entity Type is one of: Identity, Team"
          },
          "reason": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Reason for giving these permissions"
          },
          "templateName": {
            "minLength": 1,
            "type": "string",
            "description": "Template Name is one of: ReadOnly, ReadWrite"
          }
        },
        "additionalProperties": false,
        "description": "Permissions request model for create many"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Delete": {
        "required": [
          "reason",
          "version"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Reason for removing these permissions"
          },
          "version": {
            "type": "integer",
            "description": "Current version (ordinal)",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Permissions request model for delete"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.List": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total count of permissions for the query",
            "format": "int64",
            "nullable": true
          },
          "permissionsModels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel"
            },
            "description": "List of permissions paged for the query",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Permissions response model for List"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.IdentityPermissions.PermissionsModel.Update": {
        "required": [
          "reason",
          "templateName",
          "version"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "maxLength": 300,
            "minLength": 0,
            "type": "string",
            "description": "Reason for updating these permissions"
          },
          "templateName": {
            "minLength": 1,
            "type": "string",
            "description": "Template Name is one of: ReadOnly, ReadWrite"
          },
          "version": {
            "type": "integer",
            "description": "Current version (ordinal)",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Permissions request model for updates"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Permissions.IUserPermissions": {
        "type": "object",
        "properties": {
          "basePermissions": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "canCreateIdentities": {
            "type": "boolean"
          },
          "canEditAccessControl": {
            "type": "boolean"
          },
          "canEditCompanyData": {
            "type": "boolean"
          },
          "canEditCustomFields": {
            "type": "boolean"
          },
          "canEditDelegations": {
            "type": "boolean"
          },
          "canEditIdentityAccesses": {
            "type": "boolean"
          },
          "canEditIdentityDirectReport": {
            "type": "boolean"
          },
          "canEditIdentityRoles": {
            "type": "boolean"
          },
          "canEditPrivateData": {
            "type": "boolean"
          },
          "canEditPublicData": {
            "type": "boolean"
          },
          "canEditSystemData": {
            "type": "boolean"
          },
          "canEditUserPermissions": {
            "type": "boolean"
          },
          "canViewAccessControl": {
            "type": "boolean"
          },
          "canViewCompanyData": {
            "type": "boolean"
          },
          "canViewCustomFields": {
            "type": "boolean"
          },
          "canViewDelegations": {
            "type": "boolean"
          },
          "canViewIdentities": {
            "type": "boolean"
          },
          "canViewIdentityAccesses": {
            "type": "boolean"
          },
          "canViewIdentityDirectReport": {
            "type": "boolean"
          },
          "canViewIdentityRoles": {
            "type": "boolean"
          },
          "canViewPrivateData": {
            "type": "boolean"
          },
          "canViewPublicData": {
            "type": "boolean"
          },
          "canViewRestrictedPrivateData": {
            "type": "boolean"
          },
          "canViewSystemData": {
            "type": "boolean"
          },
          "canViewUserPermissions": {
            "type": "boolean"
          },
          "canViewVisitorManagement": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeByExternalIdModel": {
        "required": [
          "externalIds"
        ],
        "type": "object",
        "properties": {
          "externalIds": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of external IDs.\r\nMax size: 100 items"
          }
        },
        "additionalProperties": false,
        "description": "Synchronize Identity By ExternalId Model"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeModel": {
        "required": [
          "identityIds"
        ],
        "type": "object",
        "properties": {
          "identityIds": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of Identity IDs.\r\nMax size : 100 items"
          }
        },
        "additionalProperties": false,
        "description": "Synchronize Identity Model"
      },
      "Genetec.SaaS.Iams.IdentityService.Business.Models.Synchronize.SynchronizeResultModel": {
        "type": "object",
        "properties": {
          "totalOfSynchronizedIdentities": {
            "type": "integer",
            "description": "Total number of identities for which we are requesting a synchronization.",
            "format": "int32"
          },
          "failedIdentities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of identities which were not found or invalid.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Result model for identities synchronization."
      },
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "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": { }
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://sts-demo.clearid.io/connect/authorize",
            "scopes": {
              "openid": "openid"
            }
          }
        }
      }
    }
  }
}