AccountingServers

This defines the api/accountingservers route

APIDescription
GET api/AccountingServers?uId[0]={uId[0]}&uId[1]={uId[1]}

Get Company accounting servers information by Accounting software Uids This is mostly related to the CamAcct Application, if no element is provided it will return all

AlternateAddress

Alternate Address Controller

APIDescription
GET api/properties/{propertyId}/alternateaddresses?isBillingAddress={isBillingAddress}&page={page}&pageSize={pageSize}

Get all common areas by property

GET api/units/{unitId}/alternateaddresses?isBillingAddress={isBillingAddress}&page={page}&pageSize={pageSize}

Get all common areas by Unit

PUT api/alternateaddresses/{id}

Update Alternate Address

ArchModActions

APIDescription
GET api/archmodactions/{id}

Gets Architectural modification action by ID

GET api/properties/{propertyId}/archmodactions?page={page}&pageSize={pageSize}

Get all arch mod actions by the propertyid

GET api/archmods/{archmodId}/archmodactions?page={page}&pageSize={pageSize}

Get all arch mod actions by the arch mod id

PUT api/archmodactions/{id}

Update an Arch Mod action

POST api/archmodactions

Insert an Arch Mod action

DELETE api/archmodactions/{id}

Delete an Arch Mod action

GET api/archmodactions/categories?page={page}&pageSize={pageSize}

Get all arch mod action categories

ArchModCategories

APIDescription
GET api/archmods/{archmodId}/archmodcategories?page={page}&pageSize={pageSize}

Get Arch mod categories linked to an archmod

GET api/archmodcategories?page={page}&pageSize={pageSize}

Get arch mod categories

ArchModContacts

APIDescription
GET api/archmodcontacts/{id}

Gets Architectural modification contact by ID

GET api/properties/{propertyId}/archmodcontacts?page={page}&pageSize={pageSize}

Get all arch mod contacts by the propertyid

GET api/archmods/{archmodId}/archmodcontacts?page={page}&pageSize={pageSize}

Get all arch mod contacts by the arch mod id

PUT api/archmodcontacts/{Id}

Update an Arch Mod contact

POST api/archmodcontacts

Insert an Arch Mod contact

DELETE api/archmodcontacts/{Id}

Delete an Arch Mod contact

GET api/archmodcontacts/types?page={page}&pageSize={pageSize}

Get all arch mod contact types

ArchMods

APIDescription
GET api/archmods/{id}

Get an arch mod by the ID

GET api/properties/{propertyId}/archmods?source={source}&status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all arch mods for a property

GET api/units/{unitId}/archmods?status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all arch mods for a unit

PUT api/archmods/{id}

Update Arch Mods

POST api/archmods

Insert Arch Mods

DELETE api/archmods/{id}

Delete Arch Mod

BoardMembers

APIDescription
GET api/properties/{id}/boardmembers

Get all active board members for a property

Calendar

APIDescription
GET api/calendars/{Id}

Get a calendar by the id

GET api/properties/{PropertyId}/calendars?page={page}&pageSize={pageSize}

Get calendars linked to a property

CallLogReasons

APIDescription
GET api/calllogreasons?page={page}&pageSize={pageSize}

Get all call reasons

CallLogs

APIDescription
GET api/calllogs/{id}

Get a call log by the id

GET api/properties/{propertyId}/calllogs?source={source}&status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all call logs for a property

GET api/units/{unitId}/calllogs?status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get call logs for a unit

PUT api/calllogs/{id}

Update a call log, the only information that can be modified is NewComments, Notes and the Status

Collections

APIDescription
GET api/collections/{collection}/collectionitems

Get all collection items in a collection.

CommonAreas

APIDescription
GET api/properties/{propertyId}/commonareas?page={page}&pageSize={pageSize}

Get all common areas by property

Companies

This defines the api/companies route

APIDescription
GET api/companies/{C4Uid}/offices

Get Company information based on the market id

Device

APIDescription
POST api/device/register

Register a device

POST api/device/disabletoken

No documentation available.

Documents

APIDescription
GET api/documents/{Id}

Get document data by the Id. To retrieve the actual file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/properties/{PropertyId}/documents?docTypeId={docTypeId}&docSubTypeId={docSubTypeId}&startDate={startDate}&endDate={endDate}&name={name}&privateflag={privateflag}&notes={notes}&attachmentName={attachmentName}&page={page}&pageSize={pageSize}

Returns a list of document data for a particular property. A document type ID and document sub type ID can be passed in as a query string parameter to limit the results by document types and subtypes. Also, a start and end date can be passed in using the query string in order to limit the results by a date. To retrieve the actual file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

DocumentSubtypes

APIDescription
GET api/documentsubtypes/{id}

Get document subtype by the id.

GET api/documenttypes/{docTypeId}/documentsubtypes?page={page}&pageSize={pageSize}

Get all document subtypes for a specific document type

GET api/documentsubtypes

Get all document subtypes

DocumentTypes

APIDescription
GET api/documenttypes/{Id}

Get a document type by the id

GET api/documenttypes?page={page}&pageSize={pageSize}

Get all document types

Events

APIDescription
GET api/events/{Id}

Get event by event Id.

GET api/properties/{PropertyId}/events?startDate={startDate}&endDate={endDate}&calendarId={calendarId}&page={page}&pageSize={pageSize}

Get events by property Id.

GET api/properties/events?PropertyIds[0]={PropertyIds[0]}&PropertyIds[1]={PropertyIds[1]}&startDate={startDate}&endDate={endDate}&calendarId={calendarId}&page={page}&pageSize={pageSize}

Get all events for a list of properties.

GET api/calendars/{CalendarId}/events?startDate={startDate}&endDate={endDate}&page={page}&pageSize={pageSize}

Get all events for a calendar.

EventTypes

APIDescription
GET api/eventtypes?page={page}&pageSize={pageSize}

Get all event types

APIDescription
GET api/properties/{PropertyId}/externallinks

Get External Links by PropertyID

Files

APIDescription
GET api/files?filePath={filePath}

Returns a file given the encoded file path. This route can not be called unless the prerequisite route that contains the file path is called first. The prerequisite route will contain an encoded file path named PathToFile. This PathToFile value should be passed as the filePath query string value when calling this route.

Guests

GuestsController

APIDescription
GET api/properties/{propertyId}/guests?active={active}&type={type}&page={page}&pageSize={pageSize}

Get all guests for a property

GET api/units/{unitId}/guests?active={active}&type={type}&page={page}&pageSize={pageSize}

Get all guests for a unit

GET api/residents/{residentId}/guests?active={active}&type={type}&page={page}&pageSize={pageSize}

Get all guests associated with a resident

GET api/guests/scheduletypes

Get guests schedule types, also known as Access Hours

GET api/guests/types

Get guests types, ids and names

HearingDateLocations

APIDescription
GET api/properties/{PropertyId}/hearingdatelocations?page={page}&pageSize={pageSize}

Gets hearing date locations attached to the specified property ID

HearingDates

APIDescription
GET api/properties/{PropertyId}/hearingdates?page={page}&pageSize={pageSize}

Gets hearing dates attached to the specified property ID

Images

APIDescription
GET api/images?filePath={filePath}&size={size}

Returns an image given the encoded file path. This route can not be called unless the prerequisite route that contains the file path is called first. The prerequisite route will contain an encoded file path named PathToFile. This PathToFile value should be passed as the filePath query string value when calling this route.

Markets

APIDescription
GET api/markets/{C4Uid}

Get market by market C4Uid

GET api/markets

Get all markets

GET api/help

Get help link

MassCommunication

APIDescription
GET api/masscommunications?ids[0]={ids[0]}&ids[1]={ids[1]}

Get the batch status by using the MassCommunicationId

GET api/properties/{propertyId}/recipients

Get available receipients options for a property

GET api/properties/{propertyId}/senders

Get available sender options for a property

POST api/masscommunications

Create a new mass communication

ModuleProgressCodes

APIDescription
GET api/moduleprogresscodes

Gets all progress codes

GET api/modulestatus/{statusId}/moduleprogresscodes

Gets all progress codes for an status

GET api/modules/{moduleId}/moduleprogresscodes

Gets progress codes by module

GET api/moduleprogresscodes/workorders

Gets workorders progress codes

GET api/moduleprogresscodes/tasks

Gets tasks progress codes

GET api/moduleprogresscodes/archmods

Gets arch mods progress codes

GET api/moduleprogresscodes/{id}

Get a module progress code by the id

Modules

APIDescription
GET api/modules/{id}

Get a Connect module by id

GET api/Modules

Get all Connect modules

ModuleStatuses

APIDescription
GET api/modulestatuses

Gets all statuses for all modules

GET api/modules/{moduleId}/modulestatuses

Gets all statuses by module

GET api/modulestatuses/workorders

Gets all work order statuses

GET api/modulestatuses/tasks

Gets all tasks statuses

GET api/modulestatuses/archmods

Gets all arch mods statuses

GET api/modulestatuses/calllogs

Gets all call logs statuses

GET api/modulestatuses/{id}

Get a module status by the id

PackageTracking

Package Tracking Controller

APIDescription
GET api/packages/{id}

Get Package by Id

GET api/properties/{propertyId}/packages?status[0]={status[0]}&status[1]={status[1]}&source={source}&sort={sort}&page={page}&pageSize={pageSize}

Get all packages for a property.

GET api/units/{unitId}/packages?status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all packages for a unit sorted by PackageTrackingDate descending

GET api/packages/types

Gets the list of package types

GET api/packages/statuses

Gets the list of package status

GET api/packages/shippers

Gets the list of package shippers

Properties

Properties Controller

APIDescription
GET api/properties/{id}

Get property from a specific market with a property ID

GET api/properties/search?eNumber[0]={eNumber[0]}&eNumber[1]={eNumber[1]}&accountingServerId={accountingServerId}

Get properties by several search parameters At least one search parameter must be provided

GET api/users/{userId}/properties?PropertyStatus={PropertyStatus}

Get properties linked to a user

GET api/properties/{propertyId}/accountingcode

Get properties accounting code by property id. The accounting code is used by California for Tasks. Company config company.useGLCode_as_task_accounting_code must be set to 'true' and property custom field 'G/L Code' must exist and have a string containing the code.

GET api/properties/{propertyId}/configvalues

Get properties configurations by property id. Configurations are defined in order to provide flexibility across markets/properties regarding how a module should work.

GET api/Properties?ids[0]={ids[0]}&ids[1]={ids[1]}&PropertyStatus={PropertyStatus}&page={page}&pageSize={pageSize}

Get properties from a specific market with a provided list of property IDs, if no property id is provided then we will return all properties linked to the user

PropertiesHierarchy

Properties Hierarchy Controller

APIDescription
GET api/PropertiesHierarchy?ids[0]={ids[0]}&ids[1]={ids[1]}&PropertyStatus={PropertyStatus}

Get properties Hierarchy(manager, district manager and team leader) from a specific market with a provided list of property IDs

PropertyNotes

APIDescription
GET api/propertynotes/{id}

Get a property note by the id

GET api/properties/{propertyId}/propertynotes?title={title}&sort={sort}&page={page}&pageSize={pageSize}

Get property notes for a property

PUT api/propertynotes/{id}

Update a property note

POST api/propertynotes

Insert a property note

DELETE api/propertynotes/{id}

Delete a property note

ResidentAlert

APIDescription
GET api/properties/{PropertyId}/residentalert

Get Resident Alert by Property ID

Residents

APIDescription
GET api/residents/{Id}

Get resident by specified resident ID

GET api/units/{UnitId}/residents?page={page}&pageSize={pageSize}

Get residents by specified unit ID

GET api/units/{unitId}/owner

Get Owner by specified unit ID

GET api/properties/{PropertyId}/residents?page={page}&pageSize={pageSize}

Get all residents from the specified property ID

ResidentType

Resident Type Controller

APIDescription
GET api/residenttypes

Get all resident types

Summary

APIDescription
GET api/properties/{propertyId}/unitsummary

Get the unit summary by property

GET api/units/{unitId}/unitsummary

Get the unit summary given the unit ID

GET api/properties/{propertyId}/propertysummary

Get the property summary by property ID

TaskCategories

APIDescription
GET api/taskcategories/{id}

Get a task category by the category id

GET api/taskcategories?page={page}&pageSize={pageSize}

Get task categories

TaskResponsibleParties

APIDescription
GET api/taskresponsibleparties/{id}

Get a task responsible party by the id

GET api/taskresponsibleparties?page={page}&pageSize={pageSize}

Get task responsible parties

Tasks

APIDescription
GET api/tasks/{id}

Get a task by the id

GET api/users/{userId}/tasks?status[0]={status[0]}&status[1]={status[1]}&name={name}&sort={sort}&page={page}&pageSize={pageSize}

Get all tasks for a user

GET api/properties/{propertyId}/tasks?status[0]={status[0]}&status[1]={status[1]}&name={name}&sort={sort}&page={page}&pageSize={pageSize}

Get all open tasks for a property

PUT api/tasks/{id}

Update a task

POST api/tasks

Insert a task

DELETE api/tasks/{id}

Delete a task

TaskSources

APIDescription
GET api/tasksources/{id}

Get a task source by the source id

GET api/tasksources?page={page}&pageSize={pageSize}

Get Task source list

TaskTypes

APIDescription
GET api/tasktypes/{id}

Get the task type by the task type id

GET api/tasktypes?page={page}&pageSize={pageSize}

Get task types

UnitEmails

UnitEmailsController

APIDescription
GET api/units/{unitId}/unitemails

Get unit emails by unit id

GET api/unitemails/{emailId}/attachments

Get attachments by email id

Units

APIDescription
GET api/units/{unitId}

Get unit by id

GET api/units?unitIds[0]={unitIds[0]}&unitIds[1]={unitIds[1]}&page={page}&pageSize={pageSize}

Get units with the specified unit ids

GET api/properties/{propertyId}/units?unitNumber={unitNumber}&residentName={residentName}&sort={sort}&page={page}&pageSize={pageSize}

Get all units for a property

GET api/units/{unitId}/accountbalance

Get unit's account balance

GET api/units/carecenterunits?email={email}&mobile={mobile}

Returns all units linked to a particular email address or phone number.

Users

Users Controller

APIDescription
POST api/users/login

User authentication method

POST api/users/logout

Route called to logout user. User token will be deactivated

POST api/users/forgetpassword

Recover the user's password by providing the Connect username and the market C4UId

GET api/users/{id}

Get a single user by the id

GET api/users?ids[0]={ids[0]}&ids[1]={ids[1]}&utypeids[0]={utypeids[0]}&utypeids[1]={utypeids[1]}&titleids[0]={titleids[0]}&titleids[1]={titleids[1]}&name={name}&page={page}&pageSize={pageSize}

Search active users by different parameters

GET api/properties/{propertyId}/users?page={page}&pageSize={pageSize}

Get all active users linked to a property

GET api/properties/{propertyId}/managers?page={page}&pageSize={pageSize}

Returns a list of users that are team members/managers of a particular property

GET api/eula

Returns the End-User License Agreement as a string.

UserTitles

APIDescription
GET api/usertitles/{id}

Get a User Title by the id

GET api/usertitles?page={page}&pageSize={pageSize}

Get user title list

UserTypes

APIDescription
GET api/usertypes/{id}

Get User Type by the id

GET api/usertypes?page={page}&pageSize={pageSize}

Get all user types

Vehicles

APIDescription
GET api/vehicles/{id}

Get vehicle by vehicle id

GET api/units/{unitId}/vehicles?page={page}&pageSize={pageSize}

Get all active vehicles for a unit

GET api/properties/{propertyId}/vehicles?page={page}&pageSize={pageSize}

Get all acive vehicles for a property

GET api/vehicles/vehicletypes

Get vehicle types

ViolationActions

APIDescription
GET api/violationactions/{id}

Get the violation action by the Id (primary key)

GET api/properties/{propertyId}/violationactions?page={page}&pageSize={pageSize}

Get all violation actions linked to a given property sorted by Display Order ascending.

ViolationCategories

APIDescription
GET api/violationcategories?page={page}&pageSize={pageSize}

Returns all violation categories

GET api/violationcategories/{Id}

Get a violation category by the id

GET api/violationsubcategories/{subCategoryId}/violationcategories?page={page}&pageSize={pageSize}

Get a violation category details for a specific sub category

ViolationCorrectInDays

APIDescription
GET api/violationcorrectindays/{id}

Gets the violation correct in day object given the provided ID

GET api/properties/{propertyId}/violationcorrectindays?page={page}&pageSize={pageSize}

Get all the correct in days for a property

GET api/properties/violationcorrectindays?propertyIds[0]={propertyIds[0]}&propertyIds[1]={propertyIds[1]}&page={page}&pageSize={pageSize}

Get all the correct in days for a list of properties

ViolationLetters

APIDescription
GET api/violations/{violationId}/violationletters?page={page}&pageSize={pageSize}

Retrieves violation letter data for a given violation. To retrieve the actual PDF file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/properties/{PropertyId}/violationletters?page={page}&pageSize={pageSize}

Get all violation letter data for a specific property. To retrieve the actual PDF file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

ViolationLetterSequence

APIDescription
GET api/violationlettersequence/{id}

Gets the violation letter sequence object given the provided ID

GET api/properties/{propertyId}/violationlettersequence?page={page}&pageSize={pageSize}

Get all the violation letter sequences for a property The list will contain property specific sequence and company default(only the ones that don't match any property specific rules). Company default sequence will have the propertyId set to null inside the object

ViolationOfficialComments

APIDescription
GET api/violationsubcategories/{subCategoryId}/violationofficialcomments?page={page}&pageSize={pageSize}

Get all official comments for a subcategory

GET api/properties/{propertyId}/violationofficialcomments?page={page}&pageSize={pageSize}

Get all official comments for a property

ViolationPhotos

APIDescription
GET api/violationphotos/{id}

Returns violation photo data given the violation photo ID. To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/violations/{violationId}/violationphotos?page={page}&pageSize={pageSize}

Returns the violation photos data given the violation ID. To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/properties/{propertyId}/violationphotos?page={page}&pageSize={pageSize}

Returns the violation photos data given the property ID. To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/units/{unitId}/violationphotos?page={page}&pageSize={pageSize}

Returns the violation photos data given the unit ID. To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

POST api/violationphotos

Insert a violation photo. The file and the form data must be posted using Content-Type:multipart/form-data. We expect the following besides the actual bytes for the image: caption creationdate pic violationID

PUT api/violationphotos/{id}

Updates violation photo data. This method is not intended to update the actual file. Any change in file would be a delete and then an insert.

DELETE api/violationphotos/{id}

Deletes a violation photo given the violation photo ID

Violations

APIDescription
GET api/violations/{id}

Get a violation by the id

GET api/properties/{propertyId}/violations?status={status}&action[0]={action[0]}&action[1]={action[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all violations for a property.

GET api/units/{unitId}/violations?status={status}&action[0]={action[0]}&action[1]={action[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all violations for a unit sorted by ViolationDate descending

GET api/violations/fineschedule

Gets the list of fine schedule options

PUT api/violations/{id}

Update a violation

POST api/violations

Insert a violation

DELETE api/violations/{id}

Delete a violation

ViolationSubCategories

APIDescription
GET api/violationsubcategories?page={page}&pageSize={pageSize}

Returns all violation subcategories for a given market

GET api/violationsubcategories/{Id}

Get Violation sub category by the Sub Category Id

GET api/properties/{propertyId}/violationsubcategories?page={page}&pageSize={pageSize}

Get all sub categories linked to a property

GET api/violationcategories/{categoryId}/violationsubcategories?page={page}&pageSize={pageSize}

Get all sub categories linked to category

WorkOrderCategories

APIDescription
GET api/workordercategories?page={page}&pageSize={pageSize}

Get all work order categories

GET api/workordercategories/{categoryId}

Get a work order category by the category Id

WorkOrderHistoryItems

APIDescription
GET api/workorderhist/{id}

Get a workorder history item by Work Order History Item Id

GET api/properties/{propertyId}/workorderhist?page={page}&pageSize={pageSize}

Get all workorders history items for a specific property id

GET api/workorders/{workorderId}/workorderhist?page={page}&pageSize={pageSize}

Get all workorders history items for a specific work order id

GET api/units/{unitId}/workorderhist?page={page}&pageSize={pageSize}

Get all workorders history items for a specific unit id

GET api/commonareas/{caId}/workorderhist?page={page}&pageSize={pageSize}

Get all workorders history items for a specific common area id

PUT api/workorderhist/{id}

Update a work order history item

POST api/workorderhist

Insert a work order history item

DELETE api/workorderhist/{id}

Delete a work order history item

WorkOrderHistoryItemTypes

APIDescription
GET api/workorderhistoryitemtypes?page={page}&pageSize={pageSize}

Get workorder history item types

WorkOrderNotes

APIDescription
GET api/workordernotes/{id}

Get a work order note by the id

GET api/workorders/{workorderId}/workordernotes?page={page}&pageSize={pageSize}

Get work order notes for a specific work order

WorkOrderPhotos

APIDescription
GET api/workorderphotos/{id}

Get a work order photo data by the ID (primary key). To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/workorders/{workorderId}/workorderphotos?page={page}&pageSize={pageSize}

Get all work order photo data for a specific work order. To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

GET api/properties/{propertyId}/workorderphotos?page={page}&pageSize={pageSize}

Get all work order photo data for a specific work order. To retrieve the actual image file, the api/files?filePath={filePath} route must be called where the filePath parameter is the PathToFile value that is being returned by this resource.

POST api/workorderphotos

Insert a new work order photo

PUT api/workorderphotos/{id}

Update an existing work order photo(only the caption can be updated)

DELETE api/workorderphotos/{id}

Deletes a work order photo given the work order photo ID

WorkOrders

APIDescription
GET api/workorders/{id}

Get a workorder from a specific market with specified work order id

GET api/properties/{propertyId}/workorders?source={source}&status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all work orders for a specific property

GET api/units/{unitId}/workorders?status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all work orders for a specific unit

GET api/commonareas/{caId}/workorders?status[0]={status[0]}&status[1]={status[1]}&sort={sort}&page={page}&pageSize={pageSize}

Get all work orders for a specific common area

GET api/workorders/priorities

Gets the list of work order priorities

PUT api/workorders/{id}

Update a work order

POST api/workorders

Inserts a new work order

DELETE api/workorders/{Id}

Delete a work order

WorkOrderTeamMembers

APIDescription
GET api/workorderteammembers/{id}

Get a Work Order Team Member by the ID

GET api/properties/{propertyId}/workorderteammembers?page={page}&pageSize={pageSize}

Get all Work Order Team Members for a specific property

GET api/workorders/{workorderId}/workorderteammembers?page={page}&pageSize={pageSize}

Get all Work Order Team Members for a specific Work Order Id