Represents a person
This is where how you store and how you modify people that are users of the access control system. Not Keep directly but the people who need to access the secured areas.
Item -> BaseInfo -> PersonInfo
Field | Type | Inherited from | Description |
---|---|---|---|
Href | String | Item | Gets or sets the href. |
CommonName | String | BaseInfo | Common Name of the resource.The common name of the resource. |
ConcurrencyVersion | Nullable<Int64> | BaseInfo | Gets or Set the Version. |
InFolderHref | String | BaseInfo | relative path Href value for the containing folderAll objects exist within a folder. Even folders! |
InFolderKey | String | BaseInfo | Represents the internal ID of the containing folder |
IsGlobal | Boolean | BaseInfo | If set True, the object will be exposed to the entire instance scope in which it resides. Meaning this object will always pass scope wide permissions tests when being queried although other restrictions such as by type will still apply (You need at least Read on the object type to see it regardless where you are in the instance scope). This Attribute is intended for use with AccessLevelInfo objects only. Use with other model objects may cause unexpected behaviors. Particularly this should not be used with ScheduleInfos, HolidayInfos, HolidayDayInfos, or ElevatorAccessLevelInfos. In time more objects will be allowed for use with this attribute but for the time being please only use with AccessLevelInfo Objects. |
Key | String | BaseInfo | Represents the internal ID of the object. |
Links | List<Link> | BaseInfo | List of related resourcesIt is expected that a resource will have many related resources (i.e. person has many access levels) Consumers of the API are encouraged to iterate through the list of links requesting this additional information as required. |
Metadata | MetadataItem[] | BaseInfo | The set of metadata attached to this resourceMetadata is opaque to the server code. Key value pairs are saved as part of a client activity. Users of the Native windows client, are able to design custom forms to display and edit scalar values in the meta data. |
Monikers | MonikerItem[] | BaseInfo | the set of Monikers for this object |
Notes | NoteInfo[] | BaseInfo | The set of notes attached to this resourceNotes are free form text only that is stored in chronological order. All notes are retrieved as part of an OBJECT get. Notes may be added as one POST but not updated with a PUT of the primary resource. WHen the resource is deleted all the notes are also deleted. |
ObjectLinks | ObjectLinkItem[] | BaseInfo | The set of resources that are related to this resourceFrequently resources have a one to one, or one to many relationship with other resources in the system. Use this set of links to discover related resources. 2016/09/29 Href property of the related resource may be null. In which case it’s expected that a set of related objects has already been retrieved by the client and the Key value will be used to index into that set. |
Tags | String[] | BaseInfo | the set of tags for this objectTags are used to group objects together for the purposes of selection and assignment of operation rights |
Addresses | IEnumerable<AddressInfo> | PersonInfo | Gets or sets the addresses. |
CardAssignments | IEnumerable<CardAssignmentInfo> | PersonInfo | Gets or sets the card assignments. |
ElevatorUserSettings | IEnumerable<ElevatorUserSettingsInfo> | PersonInfo | Gets or sets the ElevatorUserSettings value |
GivenName | String | PersonInfo | Gets or sets the name of the given. |
SecurePin | String | PersonInfo | Gets or sets an encrypted value used for Card & Pin |
Surname | String | PersonInfo | Gets or sets the surname. |
{
"Href" : "String",
"CommonName" : "String",
"ConcurrencyVersion" : "Nullable\<Int64\>",
"InFolderHref" : "String",
"InFolderKey" : "String",
"IsGlobal" : "Boolean",
"Key" : "String",
"Links" : "List\<[Link](/object-model/link)\>",
"Metadata" : "[MetadataItem](/object-model/metadataitem)[]",
"Monikers" : "[MonikerItem](/object-model/monikeritem)[]",
"Notes" : "[NoteInfo](/object-model/noteinfo)[]",
"ObjectLinks" : "[ObjectLinkItem](/object-model/objectlinkitem)[]",
"Tags" : "String[]",
"Addresses" : "IEnumerable\<[AddressInfo](/object-model/addressinfo)\>",
"CardAssignments" : "IEnumerable\<[CardAssignmentInfo](/object-model/cardassignmentinfo)\>",
"ElevatorUserSettings" : "IEnumerable\<[ElevatorUserSettingsInfo](/object-model/elevatorusersettingsinfo)\>",
"GivenName" : "String",
"SecurePin" : "String",
"Surname" : "String"
}
Example in C#
// Returns: Int32
var item = await client.AddPeopleBatchAsync(FolderInfo folder, PersonInfo batch);
Example in CURL
curl -X POST \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people/complex \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-D '[{
"$type":"Feenics.Keep.WebApi.Model.PersonInfo, Feenics.Keep.WebApi.Model",
"GivenName":"ExamplePerson",
"Surname":"For_cUrl",
"Addresses":null,
"CardAssignments":null,
"Key":null,
"CommonName":"ExamplePersonFor_cUrl",
"InFolderHref":null,
"InFolderKey":null,
"Links":[],
"ObjectLinks":null,
"Metadata":null,
"Notes":null,
"Tags":null,
"Monikers":null,
"Href":null
}]'
Example in C#
// Returns: PersonInfo
var personInfo = await client.AddPersonAsync(FolderInfo folder, PersonInfo item, Boolean autoMobileInvite, Boolean autoAccessLevel);
Example in CURL
curl -X POST \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-D '{
"$type":"Feenics.Keep.WebApi.Model.PersonInfo, Feenics.Keep.WebApi.Model",
"GivenName":"ExamplePerson",
"Surname":"For_cUrl",
"Addresses":null,
"CardAssignments":null,
"Key":null,
"CommonName":"ExamplePersonFor_cUrl",
"InFolderHref":null,
"InFolderKey":null,
"Links":[],
"ObjectLinks":null,
"Metadata":null,
"Notes":null,
"Tags":null,
"Monikers":null,
"Href":null
}'
Example in C#
// Returns: nothing
await client.ClearPeopleFromLocalAreaAsync(LocalAreaInfo localArea);
Example in CURL
curl -X PUT \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/controllers/CONTROLLER.KEY/localareas/LOCALAREA.KEY/clear \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-D 'null'
Example in C#
// Returns: nothing
await client.DeletePersonAsync(PersonInfo item);
Example in CURL
curl -X DELETE \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people/PERSON.KEY \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: IEnumerable<PersonInfo>
var personInfo = await client.GetPeopleAsync(FolderInfo folder, Int32 page, Int32 pageSize);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people?page=0&pageSize=1000 \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: IEnumerable<PersonInfo>
var personInfo = await client.GetPeopleForAccessLevelAsync(AccessLevelInfo accessLevel);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/accesslevels/ACCESSLEVEL.KEY/people \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: IEnumerable<PersonInfo>
var personInfo = await client.GetPeopleInLocalAreaAsync(LocalAreaInfo localArea);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/controllers/CONTROLLER.KEY/localareas/LOCALAREA.KEY/people \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
Example in C#
// Returns: PersonInfo
var personInfo = await client.GetPersonByActiveCardAsync(FolderInfo folder, Int64 card);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people?card=CARD_NUMBER \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: PersonInfo
var personInfo = await client.GetPersonByActiveCardRecordAsync(FolderInfo folder, Int32 recordId);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people?recordID=RECORD_ID \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: PersonInfo
var personInfo = await client.GetPersonByEmailAsync(FolderInfo folder, String email);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people?email=Support%40Feenics.com \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: PersonInfo
var personInfo = await client.GetPersonByUserAsync(UserInfo userInfo);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/INSTANCE.KEY/users/USER.KEY/person \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: JObject
var jObject = await client.GetPersonFromOrigo(PersonInfo personInfo);
Example in C#
// Returns: nothing
await client.UpdatePersonAsync(PersonInfo item);
Example in CURL
curl -X PUT \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/people/PERSON.KEY \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-D '{
"$type":"Feenics.Keep.WebApi.Model.PersonInfo, Feenics.Keep.WebApi.Model",
"GivenName":"ExamplePerson",
"Surname":"For_cUrl",
"Addresses":[],
"CardAssignments":[],
"Key":"PERSON.KEY",
"CommonName":"ExamplePersonFor_cUrl",
"InFolderHref":"/api/f/INSTANCE.KEY",
"InFolderKey":"INSTANCE.KEY",
"Links":
[
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Addresses",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"addresses",
"Text":"Addresses"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"User",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"user",
"Text":"User"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"AccessLevels",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"accesslevels",
"Text":"Access Levels"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Cards",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"cards",
"Text":"Card Assignments"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Visiting",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"visiting",
"Text":"Visiting"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Visitors",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"visitors",
"Text":"Visitors"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"CompareImage",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"compareimage",
"Text":"Compare Image"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Meta",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"meta",
"Text":"Metadata"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Monikers",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"monikers",
"Text":"Monikers"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"CommonName",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"commonname",
"Text":"Common Name"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Images",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"images",
"Text":"Images"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"TakeOwnership",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"takeownership",
"Text":"Take Ownership"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Connections",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"connections",
"Text":"Connected Objects"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"References",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"references",
"Text":"Referencing Objects"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Notes",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"notes",
"Text":"Notes"
}
}
],
"ObjectLinks":
[
{
"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
"Href":null,
"LinkedObjectKey":"INSTANCE.KEY",
"CommonName":"INSTANCE_NAME",
"Relation":"InInstance",
"MetaDataBson":
{
"$type":"System.Byte[], mscorlib",
"$value":""
}
},
{
"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
"Href":null,
"LinkedObjectKey":"INSTANCE.KEY",
"CommonName":"INSTANCE_NAME",
"Relation":"InstanceScope",
"MetaDataBson":
{
"$type":"System.Byte[], mscorlib",
"$value":""
}
}
],
"Metadata":[],
"Notes":[],
"Tags":[],
"Monikers":[],
"Href":"/api/f/INSTANCE.KEY/people/PERSON.KEY"
}'