Location Service API 2.0
Use this API to manage locations.
{
"openapi": "3.0.1",
"info": {
"title": "Location Service API",
"description": "Use this API to manage locations.",
"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}/locations/{locationId}/accesses": {
"get": {
"tags": [
"Access"
],
"summary": "Get accesses (Identities and Teams) by their accountId and locationId.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id to find.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"delete": {
"tags": [
"Access"
],
"summary": "Remove accesses from a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Accesses to revoke from the location. WARNING: Time part is ignored for the DateTimes specified in this model.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessesModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessesModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"patch": {
"tags": [
"Access"
],
"summary": "Grant access to a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Accesses to add to the location. WARNING: Time part is ignored for the DateTimes specified in this model.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantAccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantAccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantAccessesModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantAccessesModel"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
}
}
},
"202": {
"description": "The accesses model is returned. The accesses are set in Security Center asynchronously."
}
},
"deprecated": true,
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/accesses/visitors": {
"get": {
"tags": [
"Access"
],
"summary": "Get visitor accesses by their accountId and locationId.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id to find.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.VisitorAccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.VisitorAccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.VisitorAccessesModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/accesses/ids": {
"delete": {
"tags": [
"Access"
],
"summary": "Remove accesses from a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Accesses to revoke from the location. WARNING: Time part is ignored for the DateTimes specified in this model.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdsModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdsModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/accesses/teams": {
"delete": {
"tags": [
"Access"
],
"summary": "Remove team accesses from a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Accesses to revoke from the location. WARNING: Time part is ignored for the DateTimes specified in this model.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessesModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessesModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"patch": {
"tags": [
"Access"
],
"summary": "Grant team accesses to a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Accesses to add to the location. WARNING: Time part is ignored for the DateTimes specified in this model.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantTeamAccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantTeamAccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantTeamAccessesModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantTeamAccessesModel"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel"
}
}
}
},
"202": {
"description": "The accesses model is returned. The accesses are set in Security Center asynchronously."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/accesses/teams/ids": {
"delete": {
"tags": [
"Access"
],
"summary": "Remove team accesses from a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Accesses to revoke from the location. WARNING: Time part is ignored for the DateTimes specified in this model.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdsModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdsModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations": {
"post": {
"tags": [
"Locations"
],
"summary": "Create a new location in an account.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Information of the location to create.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.CreateLocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.CreateLocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.CreateLocationModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.CreateLocationModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
},
"201": {
"description": "The location model is created."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"get": {
"tags": [
"Locations"
],
"summary": "List locations by its accountId",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which locations belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Query",
"in": "query",
"description": "Search query for documents",
"schema": {
"maxLength": 255,
"minLength": 1,
"type": "string"
}
},
{
"name": "Skip",
"in": "query",
"description": "Page index.",
"schema": {
"maximum": 100000,
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
{
"name": "Take",
"in": "query",
"description": "Page size.",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "SiteId",
"in": "query",
"description": "Site Id of the location.",
"schema": {
"maxLength": 255,
"minLength": 0,
"type": "string"
}
},
{
"name": "Visibility",
"in": "query",
"description": "Visibility. Possible values: 'Private', 'Public' or can be empty.",
"schema": {
"type": "string"
}
},
{
"name": "OwnerIds",
"in": "query",
"description": "List of owner ids to filter on.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "OrderByColumn",
"in": "query",
"description": "The property name to order the results.",
"schema": {
"type": "string"
}
},
{
"name": "OrderBy",
"in": "query",
"description": "Order the result ascending or descending",
"schema": {
"type": "string"
}
},
{
"name": "IncludeOnlyEditable",
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "include",
"in": "query",
"description": "Fields to add. IsDeleted, CreationDateUtc",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "The location model is returned.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel"
}
}
}
},
"404": {
"description": "The location is not found."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}": {
"get": {
"tags": [
"Locations"
],
"summary": "Get a location by its accountId and locationId",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id to find.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "include",
"in": "query",
"description": "Fields to add. DesiredState, UserPermissions, CommitOrdinal, VisitConfigurations",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "The location model is returned.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel"
}
}
}
},
"404": {
"description": "The location is not found."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"patch": {
"tags": [
"Locations"
],
"summary": "Partially update a location in an account.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The id of the location to patch.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "include",
"in": "query",
"description": "Fields to add",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"requestBody": {
"description": "Information of the location to patch.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.PatchLocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.PatchLocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.PatchLocationModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.PatchLocationModel"
}
}
}
},
"responses": {
"200": {
"description": "The location info model is returned.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"put": {
"tags": [
"Locations"
],
"summary": "Update a location in an account.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The id of the location to update.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "include",
"in": "query",
"description": "Fields to add",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"requestBody": {
"description": "Information of the location to update.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UpdateLocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UpdateLocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UpdateLocationModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UpdateLocationModel"
}
}
}
},
"responses": {
"200": {
"description": "The location info model is returned."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"delete": {
"tags": [
"Locations"
],
"summary": "Delete a location in an account.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The id of the location to update.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
},
"204": {
"description": "The location is deleted."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/info": {
"get": {
"tags": [
"Locations"
],
"summary": "Get a location's public information",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id to find.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "The location information model is returned.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationInfoModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationInfoModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationInfoModel"
}
}
}
},
"404": {
"description": "The location is not found."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/Synchronize": {
"post": {
"tags": [
"Locations"
],
"summary": "Launch a synchronization for a location.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id to find.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
},
"202": {
"description": "The location synchronization is started."
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/owned": {
"post": {
"tags": [
"Locations"
],
"summary": "Return locations owned by given identities. Delegates are also handled.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The identities identifiers.",
"content": {
"application/json-patch+json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "The location model is returned.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/schedules": {
"get": {
"tags": [
"Schedules"
],
"summary": "Get a location's schedules.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id to find.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.SchedulesListModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.SchedulesListModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.SchedulesListModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"delete": {
"tags": [
"Schedules"
],
"summary": "Remove schedules from a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Schedules list to remove from the location.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"patch": {
"tags": [
"Schedules"
],
"summary": "Add schedules to a location",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the location belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Schedules list to add to the location.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
},
"/api/v2/accounts/{accountId}/locations/{locationId}/visitconfigurations": {
"put": {
"tags": [
"VisitConfigurations"
],
"summary": "Update visit configurations for a location.",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the visit configurations belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location in which the visit configurations belongs to.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Visit configurations",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.UpdateVisitConfigurationsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.UpdateVisitConfigurationsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.UpdateVisitConfigurationsModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.UpdateVisitConfigurationsModel"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
},
"get": {
"tags": [
"VisitConfigurations"
],
"summary": "Get visit configurations by it's accountId and locationId",
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The account in which the visit configurations belongs in.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "path",
"description": "The location in which the visit configurations belongs to.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
}
}
}
}
},
"security": [
{
"oauth2": [
"access"
]
}
]
}
}
},
"components": {
"schemas": {
"Genetec.SaaS.Iams.LocationService.Business.Models.AccessRules.AccessRuleModel": {
"type": "object",
"properties": {
"accountId": {
"type": "string",
"nullable": true
},
"locationId": {
"type": "string",
"nullable": true
},
"scheduleId": {
"type": "string",
"nullable": true
},
"accessRuleId": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
},
"locationOrdinal": {
"type": "integer",
"format": "int64",
"nullable": true
},
"accessRuleSyncOrdinal": {
"type": "integer",
"format": "int64",
"nullable": true
},
"isDeleted": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessModel": {
"type": "object",
"properties": {
"accessId": {
"type": "string",
"nullable": true
},
"identityId": {
"type": "string",
"nullable": true
},
"scheduleId": {
"type": "string",
"nullable": true
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"accessRequestId": {
"type": "string",
"nullable": true
},
"approvedById": {
"type": "string",
"nullable": true
},
"approverComment": {
"type": "string",
"nullable": true
},
"approvedDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"approverPrincipalType": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessesModel": {
"type": "object",
"properties": {
"accessModels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.AccessModel"
},
"nullable": true
},
"teamAccessModels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.TeamAccessModel"
},
"nullable": true
},
"ordinal": {
"type": "integer",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdModel": {
"required": [
"accessId",
"identityId",
"scheduleId"
],
"type": "object",
"properties": {
"accessId": {
"maxLength": 100,
"minLength": 0,
"type": "string"
},
"scheduleId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
},
"identityId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdsModel": {
"required": [
"revokeAccessModels"
],
"type": "object",
"properties": {
"revokeAccessModels": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessIdModel"
}
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessModel": {
"required": [
"identityId",
"scheduleId"
],
"type": "object",
"properties": {
"scheduleId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
},
"identityId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessesModel": {
"required": [
"revokeAccessModels"
],
"type": "object",
"properties": {
"revokeAccessModels": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeAccessModel"
}
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdModel": {
"required": [
"accessId",
"scheduleId",
"teamId"
],
"type": "object",
"properties": {
"accessId": {
"maxLength": 100,
"minLength": 0,
"type": "string"
},
"scheduleId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
},
"teamId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdsModel": {
"required": [
"revokeTeamAccessModels"
],
"type": "object",
"properties": {
"revokeTeamAccessModels": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessIdModel"
}
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessModel": {
"required": [
"scheduleId",
"teamId"
],
"type": "object",
"properties": {
"scheduleId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
},
"teamId": {
"maxLength": 36,
"minLength": 0,
"type": "string"
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessesModel": {
"required": [
"revokeTeamAccessModels"
],
"type": "object",
"properties": {
"revokeTeamAccessModels": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.RevokeTeamAccessModel"
}
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.TeamAccessModel": {
"type": "object",
"properties": {
"accessId": {
"type": "string",
"nullable": true
},
"teamId": {
"type": "string",
"nullable": true
},
"scheduleId": {
"type": "string",
"nullable": true
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"accessRequestId": {
"type": "string",
"nullable": true
},
"approvedById": {
"type": "string",
"nullable": true
},
"approverComment": {
"type": "string",
"nullable": true
},
"approvedDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"approverPrincipalType": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.VisitorAccessModel": {
"type": "object",
"properties": {
"visitorId": {
"type": "string",
"nullable": true
},
"scheduleId": {
"type": "string",
"nullable": true
},
"visitEventId": {
"type": "string",
"nullable": true
},
"visitRequestId": {
"type": "string",
"nullable": true
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.VisitorAccessesModel": {
"type": "object",
"properties": {
"visitorAccessModels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V1.VisitorAccessModel"
},
"nullable": true
},
"ordinal": {
"type": "integer",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantAccessesModel": {
"required": [
"description",
"identityIds",
"scheduleIds"
],
"type": "object",
"properties": {
"scheduleIds": {
"maxItems": 10,
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"identityIds": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Accesses.V2.GrantTeamAccessesModel": {
"required": [
"description",
"scheduleIds",
"teamIds"
],
"type": "object",
"properties": {
"scheduleIds": {
"maxItems": 10,
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"teamIds": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"startDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDateTimeUtc": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.DesiredStates.CreateDesiredStateModel": {
"type": "object",
"properties": {
"scheduleIds": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.DesiredStates.DesiredStateModel": {
"type": "object",
"properties": {
"areaId": {
"type": "string",
"nullable": true
},
"scheduleIds": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"createdBy": {
"type": "string",
"nullable": true
},
"lastModifiedBy": {
"type": "string",
"nullable": true
},
"creationDateUtc": {
"type": "string",
"format": "date-time"
},
"lastModificationDateUtc": {
"type": "string",
"format": "date-time"
},
"eTag": {
"type": "string",
"nullable": true
},
"ordinal": {
"type": "integer",
"format": "int64",
"nullable": true
},
"accessRules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.AccessRules.AccessRuleModel"
},
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel": {
"required": [
"identityId"
],
"type": "object",
"properties": {
"identityId": {
"minLength": 1,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.CreateLocationModel": {
"required": [
"name",
"siteId",
"synchronizationTimeUtc",
"systemObjectId",
"visibility"
],
"type": "object",
"properties": {
"systemObjectId": {
"minLength": 1,
"type": "string",
"description": "The id of the system associated to the location."
},
"siteId": {
"minLength": 1,
"type": "string",
"description": "The id of the site associated to the location."
},
"accessRequestWorkflowType": {
"type": "string",
"description": "Indicates the workflow to be followed for access request approval.",
"nullable": true
},
"desiredStateModel": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.DesiredStates.CreateDesiredStateModel"
},
"name": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "The name of the location."
},
"synchronizationTimeUtc": {
"type": "array",
"items": {
"type": "string",
"format": "date-time"
},
"description": "The time when the location is synchronized daily in UTC."
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"description": "The description of the location.",
"nullable": true
},
"externalId": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "An external id. Can be used to find the location.",
"nullable": true
},
"tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
},
"description": "The tags for the location.",
"nullable": true
},
"visibility": {
"minLength": 1,
"type": "string",
"description": "Indicates the level of visibility for the location."
},
"approvers": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of approvers principal ids for the location.",
"nullable": true
},
"owners": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of owners principal ids for the location.",
"nullable": true
},
"ordinal": {
"type": "string",
"description": "The version of the location.",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationInfoModel": {
"type": "object",
"properties": {
"locationId": {
"type": "string",
"description": "The unique identifier of the location.",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the location.",
"nullable": true
},
"displayName": {
"type": "string",
"description": "The display name of the location used for visits.",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.LocationModel": {
"required": [
"name",
"synchronizationTimeUtc",
"visibility"
],
"type": "object",
"properties": {
"locationId": {
"type": "string",
"description": "The unique identifier of the location.",
"nullable": true
},
"systemObjectId": {
"type": "string",
"description": "The id of the system associated to the location.",
"nullable": true
},
"siteId": {
"type": "string",
"description": "The id of the site associated to the location.",
"nullable": true
},
"regionId": {
"type": "string",
"description": "The id of the region associated to the location.",
"nullable": true
},
"provisioningAttributes": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.ProvisioningAttributeModel"
},
"description": "The provisioning attributes of the location.",
"nullable": true
},
"desiredState": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.DesiredStates.DesiredStateModel"
},
"userPermissions": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UserPermissionsModel"
},
"createdBy": {
"type": "string",
"description": "The principal id of the user who created the location.",
"nullable": true
},
"lastModifiedBy": {
"type": "string",
"description": "The principal id of the user who last modified the location.",
"nullable": true
},
"creationDateUtc": {
"type": "string",
"description": "The creation date of the location in UTC.",
"format": "date-time"
},
"lastModificationDateUtc": {
"type": "string",
"description": "The last modification date of the location in UTC.",
"format": "date-time"
},
"eTag": {
"type": "string",
"description": "The hash version of the location.\r\nMust be specified to update a location.",
"nullable": true
},
"accessRequestWorkflowType": {
"type": "string",
"description": "Indicates the workflow to be followed for access request approval.",
"nullable": true
},
"ordinal": {
"type": "integer",
"description": "Ordinal of the entity",
"format": "int64",
"nullable": true
},
"visitConfigurations": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel"
},
"name": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "The name of the location."
},
"synchronizationTimeUtc": {
"type": "array",
"items": {
"type": "string",
"format": "date-time"
},
"description": "The time when the location is synchronized daily in UTC."
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"description": "The description of the location.",
"nullable": true
},
"externalId": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "An external id. Can be used to find the location.",
"nullable": true
},
"tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
},
"description": "The tags for the location.",
"nullable": true
},
"visibility": {
"minLength": 1,
"type": "string",
"description": "Indicates the level of visibility for the location."
},
"approvers": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of approvers principal ids for the location.",
"nullable": true
},
"owners": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of owners principal ids for the location.",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.PatchLocationModel": {
"required": [
"eTag"
],
"type": "object",
"properties": {
"name": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "The name of the location.",
"nullable": true
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"description": "The description of the location.",
"nullable": true
},
"externalId": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "An external id. Can be used to find the identity.",
"nullable": true
},
"eTag": {
"minLength": 1,
"type": "string",
"description": "The hash version of the location.\r\nMust be specified to update a location."
},
"tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
},
"description": "The tags for the location.",
"nullable": true
},
"provisioningAttributes": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.ProvisioningAttributeModel"
},
"description": "The provisioning attributes of the location.",
"nullable": true
},
"synchronizationTimeUtc": {
"type": "array",
"items": {
"type": "string",
"format": "date-time"
},
"description": "The time when the location is synchronized daily in UTC.",
"nullable": true
},
"accessRequestWorkflowType": {
"type": "string",
"description": "Indicates the workflow to be followed for access request approval.",
"nullable": true
},
"visibility": {
"type": "string",
"description": "Indicates the level of visibility for the location.",
"nullable": true
},
"approvers": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of approvers principal ids for the location.",
"nullable": true
},
"owners": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of owners principal ids for the location.",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.ProvisioningAttributeModel": {
"required": [
"attribute",
"scheduleId"
],
"type": "object",
"properties": {
"attribute": {
"maxLength": 150,
"minLength": 1,
"type": "string"
},
"scheduleId": {
"minLength": 1,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel.LocationSearchProxyModel"
},
"nullable": true
},
"totalItems": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.SearchLocationModel.LocationSearchProxyModel": {
"type": "object",
"properties": {
"accountId": {
"type": "string",
"nullable": true
},
"systemObjectId": {
"type": "string",
"nullable": true
},
"siteId": {
"type": "string",
"nullable": true
},
"locationId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"visibility": {
"type": "string",
"nullable": true
},
"approvers": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"owners": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"siteOwners": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"isDeleted": {
"type": "boolean",
"nullable": true
},
"creationDateUtc": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UpdateLocationModel": {
"required": [
"accessRequestWorkflowType",
"eTag",
"name",
"synchronizationTimeUtc",
"visibility"
],
"type": "object",
"properties": {
"provisioningAttributes": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Locations.ProvisioningAttributeModel"
},
"description": "The provisioning attributes of the location.",
"nullable": true
},
"accessRequestWorkflowType": {
"minLength": 1,
"type": "string",
"description": "Indicates the workflow to be followed for access request approval."
},
"eTag": {
"minLength": 1,
"type": "string",
"description": "The hash version of the location.\r\nMust be specified to update a location."
},
"name": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "The name of the location."
},
"synchronizationTimeUtc": {
"type": "array",
"items": {
"type": "string",
"format": "date-time"
},
"description": "The time when the location is synchronized daily in UTC."
},
"description": {
"maxLength": 300,
"minLength": 0,
"type": "string",
"description": "The description of the location.",
"nullable": true
},
"externalId": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "An external id. Can be used to find the location.",
"nullable": true
},
"tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string"
},
"description": "The tags for the location.",
"nullable": true
},
"visibility": {
"minLength": 1,
"type": "string",
"description": "Indicates the level of visibility for the location."
},
"approvers": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of approvers principal ids for the location.",
"nullable": true
},
"owners": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "The list of owners principal ids for the location.",
"nullable": true
},
"ordinal": {
"type": "string",
"description": "The version of the location.",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Locations.UserPermissionsModel": {
"type": "object",
"properties": {
"canEditName": {
"type": "boolean"
},
"canEditDescription": {
"type": "boolean"
},
"canEditTags": {
"type": "boolean"
},
"canEditProvisioningAttributes": {
"type": "boolean"
},
"canEditVisibility": {
"type": "boolean"
},
"canEditVisitConfigurations": {
"type": "boolean"
},
"canManageApprovers": {
"type": "boolean"
},
"canManageOwners": {
"type": "boolean"
},
"canManageSchedules": {
"type": "boolean"
},
"canManageAccesses": {
"type": "boolean"
},
"canDeleteLocation": {
"type": "boolean"
},
"canEditAccessRequestWorkflowType": {
"type": "boolean"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.ScheduleModel": {
"type": "object",
"properties": {
"scheduleId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.SchedulesListModel": {
"type": "object",
"properties": {
"schedules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.ScheduleModel"
},
"nullable": true
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.Schedules.UpdateSchedulesModel": {
"required": [
"scheduleIds"
],
"type": "object",
"properties": {
"scheduleIds": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"forceSynchronizationNow": {
"type": "boolean"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.UpdateVisitConfigurationsModel": {
"required": [
"displayName",
"eTag",
"isDefaultVisitLocation",
"isVisitable",
"visitRequestWorkflow"
],
"type": "object",
"properties": {
"isVisitable": {
"type": "boolean",
"description": "Can the location be visited"
},
"isDefaultVisitLocation": {
"type": "boolean",
"description": "Should this location be added as a default location to visitor requests"
},
"displayName": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "Name to display on visits"
},
"visitRequestWorkflow": {
"minLength": 1,
"type": "string",
"description": "Visit workflow type\r\nExample : AutoApprove, UseLocationApprovers, UseVisitConfigurationsApprovers"
},
"visitApprovers": {
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"description": "List of identityIds which can approve visit requests.\r\nRequired when using UseVisitConfigurationsApprovers visit request workflow",
"nullable": true
},
"eTag": {
"minLength": 1,
"type": "string"
}
},
"additionalProperties": false
},
"Genetec.SaaS.Iams.LocationService.Business.Models.VisitConfigurations.VisitConfigurationsModel": {
"type": "object",
"properties": {
"isVisitable": {
"type": "boolean"
},
"isDefaultVisitLocation": {
"type": "boolean"
},
"displayName": {
"type": "string",
"nullable": true
},
"visitRequestWorkflow": {
"type": "string",
"nullable": true
},
"visitApprovers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Genetec.SaaS.Iams.LocationService.Business.Models.Identity.IdentityModel"
},
"nullable": true
},
"eTag": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"oauth2": {
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "https://sts-demo.clearid.io/connect/authorize",
"scopes": {
"openid": "openid"
}
}
}
}
}
}
}