Dwellant API v1.0

Overview

The Dwellant v1.0 API delivers a simple application interface for your organisation.

The following functionality is provided:

Contractors: - Get: Work Order IDs (with new filter for polling) - Get: Work Order - Post: Acknowledge Work Order Received - Post: Complete Work Order - Post: Create New Informal Request

Managing Agents: - Get: Invoice files

In version 1.0 the API only accepts and sends data in JSON format. Dates and times should be in UTC ISO 8601 format, i.e. 2012-05-23T22:18:01Z.

URLs

Please note each environment has separate credentials and keys.

Actions

GET: Work Order IDs

Work Orders are synonymous with Purchase Orders, a instruction for work, services or supplies, with a maximum price, and all details of the site, agreement and invoicing.

Returns a list of all work order ids for work orders that are open. For v1.0 we will support a single filter of status=new that shows work orders that have not yet been acknowledged by a contractor. Use these IDs against the other endpoint to retrieve the work order data.

The purpose of this end point is to allow polling of new work orders on a regular.

Example Request

GET https://api.dwellant.com/workorders?status=new

Example Response

{
            "workOrders" : [
                { "id": 1567, "url": "https://api.dwellant.com/workorders/1567", "status": "InProgress" },
                { "id": 1342, "url": "https://api.dwellant.com/workorders/1342", "status": "InProgress" },
                { "id": 16890, "url": "https://api.dwellant.com/workorders/16890", "status": "InProgress" }
            ]
        }

GET: Work Order

Retrieves a single work order. The work order must be open, once closed, they are no longer available over the API. A work order may contain one or more items. These are requested to be provided and contain the price that has been previously been synchronized to Dwellant.

Fields

Key Description Example Type
id Work Order ID 610456 long
subject Task summary/title Fix lights string
description Task Description Replace GU10 fittings string
maxValue Monetary max value net 250 decimal
createdDate Date Created 2012-04-23T18:25:43Z UTC ISO 8601
targetDate Date Due 2012-04-23T18:25:43Z UTC ISO 8601
status Task Status In progress string
siteAddress Site address Riverside West, London SW11 2PT string
siteAddressDetails Site address Details { “address1”: “167777 Long Street”, “address2”: "“,”address3“:”“,”townName“:”Londo.. Address
unitAddress Property address 5 Nirvana Court, Low Road, London, SW1V 1DW string
unitAddressDetails Property address Details { “address1”: “5 Nirvana Court”, “address2”: “Low Road”, “address3”: "“,”townName.. Address
createdByPersonName Raised By John Gomez string
managementGroupName Created By Group name London SW Group string
createdByPersonId Created By ID 439857 long
assignedGroup Group within Contractor Maintenance 867 string
assignedGroupPublicName Group Public Name Maintenance string
assignedGroupDescription Group Description Group for all maintenance requests string
priority Task Priority Low Lookup
propertyId Property ID 430-9534 string
audience Audience Concierge Lookup
clientName Invoice to client Freeholder Ltd string
invoiceAddress Invoice address C/O Managing Agent Ltd, London, SW1V 1DW string
buildingDetails Building information Please contact porter on 07956 456 216 when on site. (possibly 3 page site service agreement) string
preInspectionRequired Site visit prework 0 0/1
ramsRequired RAMS document required [“Working at Height”, “Hot Works”] array[Lookup]
ramsDescription RAMS additional text Very high - needs scaffolding string
healthAndSafetyDocuments Health & Safety Docs H&S Report https://dwellant.com/doc/9934 Asbestos Report https://dwellant.com/doc/34234 array [file]
attachments Any uploaded files such as photos or pdfs Photos : https://dwellant.com/doc/9934 array [file]
permitToWork Book on-site time (not yet implemented) https//secure.dwellant.com/permit_to_work/610456 string
completedDate Date Completed 2014-01-01:21:10:10 UTC ISO 8601
items List of supplied Items See description Below array item
blockId Id of Block (if block set) 12345 long
blockDetails Name and details of block Block C string
File Reference

Files are used for attachments, Health and safety docs, etc and are an object with free text and a url;

    { "name": "H&S Report", "url" : "https://dwellant.com/doc/9934"}
Address

We provide a fully or partially decomposed address where available. Not all fields will have values, and the object itself may be null.

    {
                "address1": "6 Grafton House",
                "address2": "19 Farrow Street",
                "address3": "",
                "townName": "London",
                "postcode": "SW12 7YT",
                "country": "UK"
            },
Item

Items are requests for items to be supplied.

Key Description Example Type Required
description Text Description Boxes x100 - 14x32x32 string Yes
partNumber Your Product Code b1007-g string Yes
quantity Quantity Requested 7 int Yes
netPrice Price without VAT (£) 4.28 decimal Yes
{
            "description": "Boxes x100 - 14x32x32",
            "partNumber": "b1007-g",
            "quantity": 7,
            "netPrice": 4.73
        }
Groups

Contractors may optionally specify groups. These allow Managing Agents to directly assign a task to a group within the contractor. When specifying a group the Internal Group Name must be set and this value is returned in assignedGroup. Optionally an External Public Name and Description may be set and are returned as assignedGroupPublicName and assignedGroupDescription respectively. If the Public name is set then this will appear in the dropdown when a Managing Agent selects the group - overwriting the Internal name.

Example Request

GET https://api.dwellant.com/workorders/1567

Example Response

{
            "id": 1567,
            "subject": "Fix lights",
            "description": "Replace GU10 fittings and",
            "maxValue": 250,
            "created": "2012-04-23T18:25:43Z",
            "targetDate": "2012-05-23T00:00:00Z",
            "status": "InProgress",
            "siteAddress": "6 Grafton House, London SW11 2PT",
            "siteAddressDetails":   {
                "address1": "6 Grafton House",
                "address2": "",
                "address3": "",
                "townName": "London",
                "postcode": "SW11 2PT",
                "country": "UK"
            },
            "unitAddress": "5 Nirvana Court, Low Road, London, SW1V 1DW",
            "unitAddressDetails":   {
                "address1": "5 Nirvana Court",
                "address2": "Low Road",
                "address3": "",
                "townName": "London",
                "postcode": "SW1V 1DW",
                "country": "UK"
            },
            "createdByPersonName": "John Gomez",
            "managementGroupName": "London SW Group",
            "createdByPersonId": 439857,
            "assignedGroup": "Maintenance [123]",
            "assignedGroupPublicName": "Maintenance",
            "assignedGroupDescription": "Group 123",
            "priority": "Low",
            "propertyId": "430-9534",
            "audience": "Concierge",
            "clientName": "Freeholder Ltd",
            "invoiceAddress": "C/O Managing Agent Ltd, London, SW1V 1DW",
            "buildingDetails": "Please contact porter on 07956 456 216 when on site.",
            "preInspection": 0,
            "ramsRequired": "WorkingAtHeight; HotWorks",
            "ramsDescription": "Very high heights - use scaffold",
            "hAndSDocs": [
                { "text": "H&S Report", "url": "https://dwellant.com/doc/9934"},
                { "text": "Asbestos Report", "url": "https://secure.dwellant.com/doc/3423470324"}
            ],
            "attachments": [
                { "text" : "Photos", "url": "https://secure.dwellant.com/doc/123004" },
                { "text": "", "url": "https://secure.dwellant.com/doc/34145624" }
            ],
            "permitToWork": "https//secure.dwellant.com/permit_to_work/610456",
            "completedDate": "2012-05-23T00:00:00Z",
            "items": [
                { "description": "Boxes x100 - 14x32x32", "partNumber": "1007gh", "quantity": 7, "netPrice": 4.73},
            ],
            "blockId": 52367,
            "blockDetails": "Grafton Square B"
         }

Sub Types

Priority
    Low
            Medium
            High
            Urgent
Status
    InProgress (When work is in progress on a job)
            Completed (When the work on a job has been completed)
            AwaitingQuotations
            QuotationsComplete
            InvoiceUploadRequired
            InvoiceBeingProcessed
            InvoicePaid
            AwaitingRamsDocuments (Awaiting RAMS documents)
            AwaitingRamsApproval (Awaiting RAMS approval)
Audience
    Private
            Concierges
            Directors
            WholeBuilding
Rams Required
    DisturbAsbestos (Works involving or likely to disturb asbestos)
            HotWorks
            WorkAtHeight (Work at height (above 2m))
            ConfinedSpaces
            PressurisedPlant (Working on pressurised plant)
            Electrics (Working on high voltage or low voltage electrics)
            Excavations (Excavations deeper than 1.5m)
            FireAlarmSystem (Isolation of the fire alarm system)
            LargeMobilePlan (Any work involving large mobile plant (e.g. MEWPs))
            Other (Any other work that has a risk of serious injury or death)

Errors

POST: Create Work Order

This allows you to create a workorder.

Fields

Post
Key Description Example Type Required
subject Contract summary/title Fire Risk Assessment string Yes
description Contract Description Fire Risk & Health And Safety Report string Yes
buildingId Dwellant building ID. If using this field, propertyReference should not be used 439857 long Yes
propertyReference Property reference. If using this field, buildingId should not be used 111213 string Yes
managingAgentId Dwellant managing agent ID 1234 long Yes
category Dwellant category name Accounting, Maintenance, etc string No
blockId A single Dwellant block id 1234 long No
maxValue Max value for the contract 1000 decimal Yes
groupId Dwellant Group ID 7 long No
targetDate Target Date 2012-04-23T18:25:43Z UTC ISO 8601 Yes
invoicePreApproved Invoices created for this work order default to approved true boolean No
allocations Allocation array. Object structure below. [allocation1, allocation2] arrayAllocation No
Allocation
Key Description Example Type Required
recoverability Recoverability. Only “From Schedule” (1) is accepted at the moment. 1 int Yes
scheduleId Schedule ID “s123” string Yes
expenseTypeId Expense Type ID “439857” string Yes
allocation allocation (% or fraction amount) 1/2 or 50% string Yes
propertyReference Property reference. Use this field only when buildingId is provided. If propertyReference is provided at the parent request, all allocations will be using the propertyReference set at the parent request level. 111213 string Yes when buildingId is provided.

Example Request

POST https://api.dwellant.com/workorders

{
            "subject": "Drain Improvement",
            "managingAgentId": 1234,
            "buildingId": 8759,
            "description": "Increase the flows of drains in the lower court.",
            "category": "Maintenance",
            "blockId": 4444,
            "maxValue": 1000,
            "externalId": "CT-1678",
            "groupId":13287,
            "targetDate": "2012-04-23T18:25:43Z",
            "invoicePreApproved": false,
            "allocations": [
                {
                    "recoverability": 1,
                    "scheduleId": "88",
                    "expenseTypeId": "2706",
                    "allocation": "1/2",
                    "propertyReference": "45102"
                },
                {
                    "recoverability": 1,
                    "scheduleId": "48",
                    "expenseTypeId": "1710",
                    "allocation": "50%",
                    "propertyReference": "45102"
                }
            ]
        }

Example Response

{
          "id" : "1234"
        }

Errors

POST: Acknowledge Work Order Received

After retrieving a work order you must send an acknowledgement. Work orders that are not acknowledged will continue to appear in ./api/workorders?status=new. Acknowledgements should only be sent after you have recorded the work order. Acknowledging a work order lets the Managing Agent know that your system has received the work order.

The External ID and Status are your systems values that Dwellant will record. This must be the unique ID of the ticket in your system. Status can be system generated or a comment from your users to indicate its stage in the process.

Fields

Key Description Example Type Required
id Task or Work Order ID 610456 long Yes
externalId Your Ticket Number F-4035892 string Yes
externalStatus Your Status With Engineer string No

Example Request

POST https://api.dwellant.com/workorders/acknowledgements

{
            "id": "1567",
            "externalId": "EX-156-02",
            "externalStatus": "With Engineer"
        }

Example Response

200 OK

Errors

POST: Complete Work Order

When a work order is complete you should notify Dwellant. Other information can now be supplied.

The External ID and Status are your systems values that Dwellant will record.

Fields

Key Description Example Type Required
id Task or Work Order ID 610456 long Yes
externalId Your Ticket Number F-4035892 string Yes
comment Comment “All done and checked” string No
completionTime Start time/date 2018-11-21T21:10:10 UTC ISO 8601 Yes
duration Duration in hours 4 int No
attachments Document or image Photo of finished work https://www.example.com/etc/93434.pdf array [file] No
externalStatus Your Status “Complete” string No

Example Request

POST https://api.dwellant.com/workorders/completions

{
            "id": "1567",
            "externalId": "EX-156-02",
            "comment": "All done and checked",
            "completionTime": "2012-05-23T00:00:00Z",
            "attachments": [
                { "text": "Photo of finished work", "url": "https://www.yoursystem.com/whatever/934850934.pdf" }
            ],
            "externalStatus": "Complete"
        }

Example Response

200 OK

Notes

After Dwellant receives a completion message, Dwellant will attempt to download any hyper-links contained in the attachment field. This will happen shortly after posting. There is a retry/back off mechanism built in , however in v1.0 if the file can not be downloaded after a number of attempts it will not appear in the Dwellant system. The response will be returned BEFORE an attempt is made to download files.

Errors

POST: Create New Informal Request

Request Fields

Key Description Example Type Required
externalId The id of the task in your system F-4035892 string Yes
buildingId Dwellant building ID. If using this field, propertyReference should not be used 439857 long Yes
propertyReference Property reference. If using this field, buildingId should not be used 111213 string Yes
managingAgentId Dwellant managing agent ID. Required when using Property Reference 1234 long Yes
buildingName Building name which will be stored in the task description Building 001 string No
blockId The Dwellant id of the block. 8998505 long No
subject The subject of the task. Fire Risk Assessment Review string Yes
description The description of the task. The quarterly review of the fire risk assessment report. string Yes
category The category as defined in Dwellant. H&S Action string Yes
targetDate The expected completion date of the task. 2018-11-21T21:10:10 UTC ISO 8601 No
priority The priority of the task. Possible values are listed below. Medium string Yes
externalStatus The status of the task in your system. Ready string Yes
externalCreatedDate The date and time when the task was created in your system. 2018-10-09T21:10:10 UTC ISO 8601 Yes
siteAddress Site address. 96 Wilton Road, London, SW1V 1DW string Yes
unitAddress Unit address. Flat 34 string No
attachments List of documents and photos to attach to the new task. “Report” https://www.example.com/doc/93434.pdf array [file] No
status Status of request. Either inProgress or closed. Defaults to inProgress inProgress string No

Sub Types

File Reference

Attachments are optional documents and photos that needs to be attached to the new task in Dwellant. They are defined by a short description and a URL. Dwellant will attempt to donwload the file from the URL and attach it to the new task.

    { "text": "Report", "url" : "https://www.example.com/doc/93434.pdf"}
Priority
    Low
            Medium
            High
            Emergency

Response Fields

Key Description Example Type
externalId The id as you sent it in the request. F-4035892 string
id The id of the task created in Dwellant. 822311 long
status The status of the task in Dwellant. InProgress string

Example Request

POST https://api.dwellant.com/tasks/informalrequests

{
            "externalId": "F-4035892",
            "buildingId": 49504,
            "blockId": 8998505,
            "subject": "subject 66",
            "description": "Description of the work to do.",
            "category": "H&S ACtion",
            "targetDate": "2018-11-21T21:10:10",
            "priority": "Medium",
            "externalStatus": "Ready",
            "externalCreatedDate": "2018-10-09T21:10:10",
            "siteAddress": "96 Wilton Road, London, SW1V 1DW",
            "unitAddress": "Flat 34",
            "attachments": [
                { "text": "Report", "url": "https://www.example.com/doc/93434.pdf" }
            ]
        }

Example Response

200 OK
        {
            "externalId": "F-4035892",
            "id": 822311,
            "status": "InProgress"
        }

Errors

POST: Attach file to Informal Request

Request Fields

Key Description Example Type Required
informalRequestId Informal request id returned in the response of Create New Informal Request 822311 long Yes
fileName File name of the file to be uploaded. List of accepted extensions below. attachment.txt string Yes
file File encoded as Base64 base64 encoded file string *
fileLink Url pointing to file. Dwellant will download this https://ex.com/f.pdf string *

Note that one, and only one, of the file and fileLink fields must be provided.

Accepted file extensions

"pdf", "doc", "docx", "png", "jpg", "jpeg", "gif", "xls", "xlsx", "txt", "mp3", "mp4", "msg", "zip"

Example Request

POST https://api.dwellant.com/tasks/informalrequests/files

{
            "informalRequestId" : 822311,
            "fileName": "attachment.txt",
            "file": "--encoded file--"
        }
        
        {
            "informalRequestId" : 822311,
            "fileName": "attachment.txt",
            "fileLink": "https://example.com/filestore/file.pdf"
        }

Example Response

200 OK

Errors

POST: Complete Informal Request

When an informal request is complete you should notify Dwellant. The External ID and Status are your systems values that Dwellant will record.

Fields

Key Description Example Type Required
id Task or Informal Request ID 610456 long Yes
externalId Your Ticket Number F-4035892 string Yes
comment Comment “All done and checked” string No
completionTime Start time/date 2018-11-21T21:10:10 UTC ISO 8601 Yes
attachments Document or image Photo of finished work https://www.example.com/etc/93434.pdf array [file] No
externalStatus Your Status “Complete” string No

Example Request

POST https://api.dwellant.com/informalrequests/completions

{
            "id": "1567",
            "externalId": "EX-156-02",
            "comment": "All done and checked",
            "completionTime": "2012-05-23T00:00:00Z",
            "attachments": [
                { "text": "Photo of finished work", "url": "https://www.yoursystem.com/whatever/934850934.pdf" }
            ],
            "externalStatus": "Complete"
        }

Example Response

200 OK

Notes

After Dwellant receives a completion message, Dwellant will attempt to download any hyper-links contained in the attachment field. This will happen shortly after posting. There is a retry/back off mechanism built in , however in v1.0 if the file can not be downloaded after a number of attempts it will not appear in the Dwellant system. The response will be returned BEFORE an attempt is made to download files.

Errors

PUT: Edit Request

Use the Dwellant ID in the URL to update a request. The Dwellant ID is returned by Create requests.

It is important to note that this is a PUT operation, not a PATCH, so any null fields will be saved as null. The fields work identically to creating a contract via a POST. Please note that externalStatus is optional and stored in the changes list on the request as a comment.

Request Fields

Key Description Example Type Required
subject The subject of the task. Fire Risk Assessment Review string Yes
description The description of the task. The quarterly review of the fire risk assessment report. string Yes
category The category as defined in Dwellant. H&S Action string Yes
targetDate The expected completion date of the task. 2018-11-21T21:10:10 UTC ISO 8601 Yes
priority The priority of the task. Possible values are listed below. Medium string Yes
externalStatus The status of the task in your system. Ready string Yes

Sub Types

Priority
    Low
            Medium
            High
            Emergency

Example Request

POST https://api.dwellant.com/tasks/789

{
            "subject": "subject 66",
            "description": "Description of the work to do.",
            "category": "H&S ACtion",
            "targetDate": "2018-11-21T21:10:10",
            "priority": "Medium",
            "externalStatus": "Ready",
        }

Example Response

200 OK

Errors

POST: Request Comment

Adds a comment to a Work Order or Informal Request. The request ID is the Dwellant ID returned when creating a Work Order or Informal Request. This endpoint returns the Dwellant ID of the created comment.

Request Fields

Key Description Example Type Required
requestId Dwellant Request ID (Work Order or Informal Request ID) 822311 long Yes
comment Any text Site was visitied at 3:00pm today string Yes

Example Request

POST https://api.dwellant.com/requests/comments

{
            "requestId": 2319789,
            "comment": "new"
        }

Example Response

200 OK

        8960571

Errors

POST: Request Comment Attachment

Adds a file to a previously created comment.

Request Fields

Key Description Example Type Required
requestCommentId Dwellant Request Comment ID 869951 long Yes
fileName File name of the file to be uploaded. List of accepted extensions below. attachment.txt string Yes
file File encoded as Base64 base64 encoded file string Yes

Accepted file extensions

"pdf", "doc", "docx", "png", "jpg", "jpeg", "gif", "xls", "xlsx", "txt", "mp3", "mp4", "msg", "zip"

Example Request

POST https://api.dwellant.com/requests/comments/files

{
            "requestCommentId": 8960571,
            "fileName": "exampleq.xyz",
            "file": "JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYm..."
        }

Example Response

200 OK

Errors

GET: Task Event Notifications

This endpoint gives access to changes (comments or completion) made on tasks you created via this API (i.e. by using POST: Create New Informal Request). You should poll this endpoint to receive event notifications. The endpoint will record the date and time an event was retrieved. It will return every event only once. Please note you may prefer to use a webhook to receive notifications rather then poll using this endpoint.

The rate you poll the endpoint will depend on your requirements, but it is recommended to not call it more than once a minute. If it returns events you should call it as soon as you have finished processing those events. If it returns no events than continue your standard polling process.

Response Fields

The endpoint returns an object with a single events field. This is an array that contains the events, starting with the oldest one. It will contain maximum 5 events. Each event has the fields listed below.

Key Description Example Type
eventType The type of the change made on the task. TaskCompleted string
eventDateTime The date and time the change was made. 2018-11-21T21:10:10 UTC ISO-8601
id The id of the task in Dwellant. 485697 long
externalId The id of the task in your system. This is the value you uploaded when you created the task. HS4567 string
changeId The id of the comment or completion change. 245687 long
comment The text of the comment added to the task. Task completion events can also have comments. This task has been completed. string
notificationId The id of the notification. This must be used in the acknowledgement request. 11245 long
attachments Files attached to the comment. array[file]
updatedBy Name of the user who updated the task. Joe Bloggs string

Example Request

GET https://api.dwellant.com/tasks/events

Example Response

200 OK
        {
          "events": [
            {
              "eventType": "TaskCommented",
              "eventDateTime": "2019-12-17T15:56:05.8756813Z",
              "id": 1007796,
              "externalId": "af99811969",
              "changeId": 4556056,
              "comment": "Comment 1",
              "attachments": null,
              "notificationId": 10,
              "updatedBy": "Joe Bloggs"
            },
            {
              "eventType": "TaskCommented",
              "eventDateTime": "2019-12-17T15:57:30.0998325Z",
              "id": 1007799,
              "externalId": "af99811904",
              "changeId": 4556057,
              "comment": "Comment 2",
              "attachments": [
                {
                  "name": "RAMS 5.pdf",
                  "url": "https://dwellant.com/Task/TaskChangeViewAttachment/dGpZA0NT2MDU3AXlbA0Y2UBdGFpZAFSQU1TIDUucGmAX6ckpnMTcxQWQy0ZQUzZtamxmaGNxME9hdz0="
                }
              ],
              "notificationId": 11,
              "updatedBy": "Joe Bloggs"
            },
            {
              "eventType": "TaskCompleted",
              "eventDateTime": "2019-12-17T16:08:34.4476907Z",
              "id": 1007796,
              "externalId": "af99811969",
              "changeId": 4556058,
              "comment": "Comment 3",
              "attachments": null,
              "notificationId": 12,
              "updatedBy": "Richard Roe"
            }
          ]
        }

POST: Task Event Notification Acknowledgement

Use this endpoint to acknowledge that your system has received a task event notification. Each event contains a notificationId field which should be used when making an acknowledgement.

Request Fields

Key Description Example Type Required
id The id of the event notification to acknowledge. 34535 long Yes

Example Request

POST https://api.dwellant.com/tasks/events/acknowledgements

{
            "id": 10
        }

Example Response

200 OK

Errors

GET: Building Details

Retrieves basic information about all buildings that you may offer Key Building Services to. This endpoint offers two modes:

Property mode breaks each building into its Dwellant Accounting Property. This may return multiple records per Organisation and will populate the Property fields. You will need to discuss with us which method makes more sense.

There is also an optional from=2016-01-02 parameter which allows you to request only buildings that have been updated since the provided dates. This allows you to poll us daily and only retrieve details that have been modified in the last day.

Example Request

Example Response

Given isPropertyLevel=true:

{ 
            "buildings" : [
                {
                  "managingAgentId": 82734,
                  "dwellantBuildingId": 34672,
                  "buildingExternalId": "-2000951540",
                  "buildingReference": "205410",
                  "buildingName": "Building 34672",
                  "buildingOwner": "A building owner",
                  "buildingAddress": "328907 Long Street; New City; W8 7AB",
                  "dwellantPropertyId": 23190,
                  "propertyExternalId": "-2000951540",
                  "propertyReference": "205410",
                  "propertyName": "Accounting Property 23190",
                  "propertyAddress": "1234 Long Street; New City; W8 7AC",
                  "note": null,
                  "buildingDetailsLastUpdated": null,
                  "buildingAddressDetails": {
                        "address1": "328907 Long Street",
                        "address2": "",
                        "address3": "",
                        "townName": "New City",
                        "postcode": "W8 7AB",
                        "country": ""
                    },
                  "propertyAddressDetails": {
                        "address1": "1234 Long Street",
                        "address2": "",
                        "address3": "",
                        "townName": "New City",
                        "postcode": "W8 7AC",
                        "country": ""
                    }
                },
                ...
            ]
        }

Given isPropertyLevel=false:

{ 
            "buildings" : [
                {
                  "managingAgentId": 82734,
                  "dwellantBuildingId": 34672,
                  "buildingExternalId": "-2000951540",
                  "buildingReference": "205410",
                  "buildingName": "Building 34672",
                  "buildingOwner": null,
                  "buildingAddress": "328907 Long Street; New City; W8 7AB",
                  "dwellantPropertyId": 0,
                  "propertyExternalId": null,
                  "propertyReference": null,
                  "propertyName": null,
                  "propertyAddress": null,
                  "note": "Account number is 178862",
                  "buildingDetailsLastUpdated": null
                },
                ...
            ]
        }

Errors

This endpoint should return no errors.

GET: Specific Building Details

This allows you to retrieve specific information regarding a building. You can use either:

In any case the above IDs are provided in the response from a call to https://api.dwellant.com/buildings/

Example Request

Example Response

{
          "buildingId": 34619,
          "buildingName": "Fork building",
          "accountingReference": "-2000951602",
          "managingGroup": "Team 07",
          "propertyManagers": [
            {
              "name": "John Sampleson",
              "role": "Fund Manager",
              "phoneNumber": null,
              "mobileNumber": "07123456",
              "email": "john.sampleson@example.com",
              "userId": 490963,
              "outOfOfficeTill": null,
              "coveringForUserId": null
            },
            {
              "name": "Mary Example",
              "role": "Asset Manager",
              "phoneNumber": null,
              "mobileNumber": null,
              "email": "mary.example@example.com",
              "userId": 490958,
              "outOfOfficeTill": null,
              "coveringForUserId": null
            },
            {
              "name": "Polly Pepper - Out of Office until 2024-08-31",
              "role": "Asset Manager",
              "phoneNumber": null,
              "mobileNumber": null,
              "email": "mary.example@example.com",
              "userId": 490959,
              "outOfOfficeTill": null,
              "coveringForUserId": null
            },
            {
              "name": "Alt - Charles Ipsum - Covering: Polly Pepper",
              "role": "Asset Manager",
              "phoneNumber": null,
              "mobileNumber": null,
              "email": "mary.example@example.com",
              "userId": 490960,
              "outOfOfficeTill": "2024-08-31T01:00:00+01:00",
              "coveringForUserId": 490959
            }
          ],
          "contracts": [
            {
              "contractName": "Ongoing instalation of Fire Supresion Systems",
              "contractorName": "The Fire People",
              "contractId": 38401,
              "primaryEmail": "fire@example.com",
              "switchboardNumber": "07 555 1988"
            },
            {
              "contractName": "Rubish Collection",
              "contractorName": "The Garbage Men",
              "contractId": 36502,
              "primaryEmail": "gm@example.com",
              "switchboardNumber": "07 123 4567"
            }
          ],
          "managingAgentId": 34368,
          "buildingAddress": "7 Lane Road; SW11 2GH; London",
          "buildingInformation": {
            "lastUpdated": "2019-12-19T11:28:44",
            "notes": [
              {
                "name": "Emergency Phone Number",
                "text": "07 123 4567"
              },
              {
                "name": "",
                "text": "Only Call this number after 8:00pm"
              }
            ]
          },
          "serviceNotes": {
            "auditorNote": null,
            "healthAndSafetyCompanyNote": null,
            "insuranceCompanyNote": "Account number is 178862",
            "liftCompanyNote": null,
            "outOfHoursCompanyNote": null,
            "solicitorNote": null,
            "utilityBrokerNote": null
          },
          "blocks": [
            {
              "blockId": 155490,
              "blockName": "Main block",
              "blockOwner": "Big Corp Inc",
              "blockManagementCompany": "Three Oaks Management Company Ltd",
              "blockType": 5,
              "blockTypeName": "Main block",
              "blockHeight": "Low",
              "blockRelevance": false,
              "blockAddress": "7 Lane Road; SW11 2GH; London"
            },
            {
              "blockId": 155432,
              "blockName": "Three Oaks Lodge",
              "blockOwner": "Big Corp Inc",
              "blockManagementCompany": "Three Oaks Management Company Ltd",
              "blockType": 14,
              "blockTypeName": "Physical block",
              "blockHeight": "Low",
              "blockRelevance": null,
              "blockAddress": "7 Lane Road; SW11 2GH; London"
            }
          ]
        }

Please note that buildingInformation is not generally available and needs to be specifically enabled by our support team. Where it is not enabled the value will be returned as null. notes may be null or empty and any particular note, name or text may be null or white space.

Errors

POST: Create Contract

This allows you to create a contract.

Fields

Post
Key Description Example Type Required
subject Contract summary/title Fire Risk Assessment string Yes
description Contract Description Fire Risk & Health And Safety Report string Yes
buildingId Dwellant building ID. If using this field, propertyReference should not be used 439857 long Yes
propertyReference Property reference. If using this field, buildingId should not be used 111213 string Yes
managingAgentId Dwellant managing agent ID 1234 long Yes
category Dwellant category Grounds Maintenance, H&S, Heating string No
utilitySupplyId Utility supply ID 1234 string No
referenceNumber Reference number 1234 string No
blocksIds A list of Dwellant blocks ids [1234, 4561] array[long] No
maxValue Max value for the contract 1000 decimal Yes
vatType Dwellant vat type E string Yes
startDate Start Date 2012-04-23T18:25:43Z UTC ISO 8601 Yes
endDate End Date 2012-04-30T18:25:43Z UTC ISO 8601 Yes
contractTolerance Contract Tolerance (int or %) 10 string Yes
maximumExpectedInvoices Max Invoices 12 int Yes
contractRenewalPeriodInDays Contract renewal in days 5 int Yes
assignedGroupId Dwellant Id of a group associated with your organisation to assign this contract 21 long No
lock Locks the contract in Dwellant. Valid values: 0 - no lock; 1 - lock details; 3 - lock details and allocations 1 int No
allocations Allocation array. Object structure below. [allocation1, allocation2] arrayAllocation No
Allocation
Key Description Example Type Required
recoverability Recoverability. Only “From Schedule” (1) is accepted at the moment. 1 int Yes
scheduleId Schedule ID “s123” string Yes
expenseTypeId Expense Type ID “439857” string Yes
allocation allocation (% fraction amount) 1/2 or 50% string Yes
propertyReference Property reference. Use this field only when buildingId is provided. If propertyReference is provided at the parent request, all allocations will be using the propertyReference set at the parent request level. 111213 string Yes when buildingId is provided.

Example Request

POST https://api.dwellant.com/contracts

{
            "subject": "subject test",
            "managingAgentId": 1234,
            "propertyReference": "1111",
            "description": "contract description",
            "category": "insurance",
            "referenceNumber": "2",
            "blockIds": [
                4444,
                5555
            ],
            "maxValue": 1000,
            "vatType": "E",
            "contractTolerance": "2",
            "maximumExpectedInvoices": 2,
            "contractRenewalPeriodInDays": 12,
            "startDate": "2021-03-09",
            "endDate": "2021-03-19",
            "assignedGroup": "Gas Safety",
            "allocations": [
                {
                    "recoverability": 1,
                    "scheduleId": "88",
                    "expenseTypeId": "2706",
                    "allocation": "1/2"
                },
                {
                    "recoverability": 1,
                    "scheduleId": "48",
                    "expenseTypeId": "1710",
                    "allocation": "1/2"
                }
            ]
        }

Example Response

{
          "id" : "c1234"
        }

Put: Edit Contract

This allows you to edit a contract. You need to use the Dwellant Contract Id in your urls to specify the contract.

It is important to note that this is a PUT operation not a PATCH so any null fields will be saved as null. The fields work identically to creating a contract via a POST. The single difference is that Allocation is optional and does not need to be provided. Providing an allocation will be marked as a change to the allocation in the contract log.

Fields

Post
Key Description Example Type Required
subject Contract summary/title Fire Risk Assessment string Yes
description Contract Description Fire Risk & Health And Safety Report string Yes
buildingId Dwellant building ID. If using this field, propertyReference should not be used 439857 long Yes
propertyReference Property reference. If using this field, buildingId should not be used 111213 string Yes
managingAgentId Dwellant managing agent ID 1234 long Yes
category Dwellant category Grounds Maintenance, H&S, Heating string No
utilitySupplyId Utility supply ID 1234 string No
referenceNumber Reference number 1234 string No
blocksIds A list of Dwellant blocks ids [1234, 4561] array[long] No
maxValue Max value for the contract 1000 decimal Yes
vatType Dwellant vat type E string Yes
startDate Start Date 2012-04-23T18:25:43Z UTC ISO 8601 Yes
endDate End Date 2012-04-30T18:25:43Z UTC ISO 8601 Yes
contractTolerance Contract Tolerance (int or %) 10 string Yes
maximumExpectedInvoices Max Invoices 12 int Yes
contractRenewalPeriodInDays Contract renewal in days 5 int Yes
assignedGroupId Dwellant Id of a group associated with your organisation to assign this contract 21 long No
lock Locks the contract in Dwellant. Valid values: 0 - no lock; 1 - lock details; 3 - lock details and allocations 1 int No
allocations Allocation array. Object structure below. [allocation1, allocation2] arrayAllocation No
Allocation
Key Description Example Type Required
recoverability Recoverability. Only “From Schedule” (1) is accepted at the moment. 1 int Yes
scheduleId Schedule ID “s123” string Yes
expenseTypeId Expense Type ID “439857” string Yes
allocation allocation (% fraction amount) 1/2 or 50% string Yes
propertyReference Property reference. Use this field only when buildingId is provided. If propertyReference is provided at the parent request, all allocations will be using the propertyReference set at the parent request level. 111213 string Yes when buildingId is provided.

Example Request

POST https://api.dwellant.com/contracts/123456

{
            "subject": "subject test",
            "managingAgentId": 1234,
            "propertyReference": "1111",
            "description": "contract description",
            "category": "insurance",
            "referenceNumber": "2",
            "blockIds": [
                4444,
                5555
            ],
            "maxValue": 1000,
            "vatType": "E",
            "contractTolerance": "2",
            "maximumExpectedInvoices": 2,
            "contractRenewalPeriodInDays": 12,
            "startDate": "2021-03-09",
            "endDate": "2021-03-19",
            "assignedGroup": "Gas Safety",
            "allocations": [
                {
                    "recoverability": 1,
                    "scheduleId": "88",
                    "expenseTypeId": "2706",
                    "allocation": "1/2"
                },
                {
                    "recoverability": 1,
                    "scheduleId": "48",
                    "expenseTypeId": "1710",
                    "allocation": "1/2"
                }
            ]
        }

Example Response

200 OK

Errors

Post: Close Contract

This allows you to close a contract. You need to use the Dwellant Contract Id in your url to specify the contract.

Fields

Post
Key Description Example Type Required
contractId The Dwellant Contract Id 123456 long Yes

Example Request

POST https://api.dwellant.com/contracts/123456/close

{}

Example Response

200 OK

Errors

GET: Building Contracts

Allows managing agents to retrieve a list of contracts for a building. You can use either:

The above IDs are provided in the response from a call to GET: Building Details

Example Request

Example Response

[
          {
            "id": "c34985",
            "contractName": "Communal Cleaning",
            "buildingId": 23984723,
            "managingAgentId": 82734,
            "propertyReference": "bld-889",
            "externalBuildingId": "123-cv",
            "description": "Annual Cleaning Contract",
            "category": "Cleaning",
            "utilitySupplyId": null,
            "referenceNumber": null,
            "blockIds": [
              203498
            ],
            "vatType": "5",
            "startDate": "2022-06-29T00:00:00",
            "endDate": "2023-06-28T00:00:00",
            "contractTolerance": "0.00000",
            "maximumExpectedInvoices": 12,
            "contractRenewalPeriodInDays": 0,
            "assignedGroupId": null,
            "contractTemplate": null,
            "renewalDiscussionPeriodDays": 30,
            "isAcceptanceRequired": false,
            "value": 1293.00000,
            "lock": 2,
            "contractorName": "Liftman Lifts Ltd",
            "contractorReference": "LLL-8602",
            "allocations": [
              {
                "recoverability": 16,
                "scheduleId": null,
                "expenseTypeId": 203498,
                "propertyId": 234798,
                "proportion": "1/1"
              }
            ]
          }
        ]

Errors

POST: Attach file to Work Order

Request Fields

Key Description Example Type Required
workOrderId Workorder request id returned in the response of Create Work Order 822311 long Yes
fileName File name of the file to be uploaded. List of accepted extensions below. attachment.txt string Yes
file File encoded as Base64 base64 encoded file string Yes

Accepted file extensions

"pdf", "doc", "docx", "png", "jpg", "jpeg", "gif", "xls", "xlsx", "txt", "mp3", "mp4", "msg", "zip"

Example Request

POST https://api.dwellant.com/workorders/files

{
            "workOrderId" : 822311,
            "fileName": "attachment.txt",
            "file": "--encoded file--"
        }

Example Response

200 OK

Errors

POST: Create Building Document

This allows you to upload a building document. This can be sent as form-data or JSON. If using JSON, please send the File as encoded base64 string.

Fields

Post
Key Description Example Type Required
buildingId Dwellant building ID. If using this field, propertyReference should not be used 439857 long Yes
propertyReference Property reference. If using this field, buildingId should not be used 111213 string Yes
managingAgentId Dwellant managing agent ID 1234 long Yes
startDate Start Date 2012-04-23T18:25:43Z UTC ISO 8601 Yes
endDate End Date 2012-04-30T18:25:43Z UTC ISO 8601 Yes
documentType Document type. Valid types listed below 13 int Yes
documentTitle Document title Health & Safety Report 2021 string Yes
metaData Any file metadata in JSON format {“inspection_date”: “2021-05-23T00:00:00Z”, “inspector”: “John Stanley”} string Yes
fileName File name of the file to be uploaded. It should be unique per building.The api will throw a 500 if an existing filename exist for the building healthAndSafety string Yes
file File to be uploaded. healthAndSafety.docx file or string Yes
fileExtension Extension of the file to be uploaded. docx string Yes for JSON only
Document Type
Key Value
Invoice 0
Broker 1
AgmMinutes 2
AsbestosSurvey 3
BuildingPicture 4
BuildingsInsurancePolicy 5
DAndOInsurance 6
EmployersLiabilityInsurance 7
EngineeringInsurance 8
EstateHandbook 9
EstateRegulations 10
FireProcedure 11
GenericLease 12
HealthAndSafetyReports 13
MemorandumAndArticlesOfAssociation 14
ScBudgetNotes 15
ServiceChargeAccounts 16
ServiceChargeBudget 17
SublettingProcedure 18
TerrorismInsuranceCertificates 19

Example Request

Form-Data

POST https://api.dwellant.com/documents/create

curl --location --request POST 'api/documents/create' \
        --header 'Authorization: XXXX' \
        --form 'file=@"/C:/file path/file.pdf"' \
        --form 'buildingId="4807"' \
        --form 'startDate="19/03/2021"' \
        --form 'endDate="19/06/2021"' \
        --form 'documentType="13"' \
        --form 'documentTitle="Health & Safety Report 2021"' \
        --form 'metadata="{
                \"Inspection Date\": \"2021-05-23T00:00:00Z\",
                \"inspector\": \"John Stanley\",
            }"'

JSON

POST https://api.dwellant.com/documents/createAsJson

{
            "buildingId": 4807,
            "metadata": "{\"Inspection Date\": \"2021-03-19T09:00:00Z\", \"inspector\": \"John Stanley\"}",
            "startDate": "2021-03-19T09:00:00Z",
            "endDate": "2021-03-20T11:00:00Z",
            "documentTitle": "Health & Safety Report 2021",
            "documentType": 13,
            "fileExtension": "png",
            "fileName": "kc",
            "file": "base64EncodedFileAsString"
        }

Example Response

200 OK

{
          "1234"
        }

Errors

GET: Facility Calendar Events

This allows you to retrieve booking information regarding a facility calendar for a specific date.

Example Request

Example Response

200 OK

{
            "bookingId": 1353,
            "startTime": "2021-08-04T10:00:00",
            "endTime": "2021-08-04T14:00:00",
            "reference": "E.........a"
        }

Errors

GET: Managing Agent Invoice Files

Allows managing agents to download one file for a given invoice id. - If an invoice contains only one main file, the response will be a unique PDF file. - If the invoice has historic (invoice replacements) or additional files, the response is a ZIP file.

Example Request

Key PDF file response headers
Key Value
Content-Type application/pdf
Content-Disposition attachment; filename=“Invoice.pdf”
Key ZIP file response headers
Key Value
Content-Type application/zip
Content-Disposition attachment; filename=“Invoice.zip”

Example Response

200 OK

Errors

POST: Notes

Request Fields

Key Description Example Type Required
externalId This is the id of the note as recorded in your system ABC822311 string Yes
buildingId The Dwellant Building ID 123456 long Yes
tenantId Your tenant id ABC123 string No
contactId Your tenant contact id (this is optional and you may not have one) ABC123 string No
unitId Your unit id ABC123 string No
propertyId Your property id ABC123 string No
managingAgentId The Dwellant Managing Agent ID 123456 long Yes
noteCreatedDate Your note creation time (UTC) 2022-04-23T18:25:43Z UTC ISO 8601 No
subject The title or subject of your note Drainage Update string Yes
text The body of your note This is an update regarding drainage… string Yes
author Email address of the note author example@managing.agent.com string Yes
priority Priority of the note Medium string Yes
nextActionDate DateTime of the next action (UTC) 2022-04-23T18:25:43Z UTC ISO 8601 No
startTime The time the note should start 09:30 string No
isClosed Notes can be created pre-closed false bool No

Example Request

POST https://api.dwellant.com/notes

{
            "externalId": "ABC",
            "buildingId": 5744,
            "tenantId": "NEEDL001",
            "contactId": "C-123",
            "unitId" : "0002",
            "propertyId": "19801",
            "managingAgentId": 1234,
            "noteCreatedDate": "2022-04-23T18:25:43Z",
            "author": "example@managing.agent.com",
            "subject": "Subject Matter",
            "text": "Text content",
            "category": "Accident",
            "priority": "High",
            "nextActionDate": "2022-04-23T18:25:43Z",
            "startTime": "09:10",
            "isClosed": "false"
        }

Example Response

{
            "noteId": 219079,
            "threadId": 163526
        }

Errors

POST: Reports

This runs and fetches a custom report in real time.

Request Fields

These depend on the query being run

Example Request

POST https://api.dwellant.com/reports/1254

{
          "startDate": "2022-04-01",
          "finishDate": "2022-04-15",
        }

Example Response

[
          ["columnA", "columnB", "columnC"],
          ["valueA1", "valueB2", "valueC3"],
          ["valueA2", "valueB2", "valueC3"]
        ]

Errors

POST: Overnight Reports

This subscribes to a report (if a subscription does not exist) and returns a download URL (if the report has been run). The file referenced by the URL is in tab-separated text format

Request Fields

These depend on the query being run, but _frequencies is compulsory. Valid values for _frequencies are:

They may be combined using comma separators, for example: Mondays, Wednesdays, Fridays

Example Request

POST https://api.dwellant.com/overnight-reports/1254

{
          "_frequencies": "Mondays, Wednesdays, Fridays",
          "startDate": "2022-04-01",
          "finishDate": "2022-04-15",
        }

Example Response

For a new subscription, where the report has not yet been run.

{
           "subscriptionId": 983181,
           "nextRunDate": "2024-06-05",
           "lastRunTime": null,
           "downloadUrl": null
        }

For an existing subscription, where the report has been run.

{
           "subscriptionId": 983181,
           "nextRunDate": "2024-06-07",
           "lastRunTime": "2024-06-05T10:15:20",
           "downloadUrl": "https://............"
        }

The downloadUrl is valid for 20 minutes from the time the response is returned.

Errors

Webhooks

Update Requests

When this webhook is configured we send updates to Requests to the configured webhook. We only send updates to Requests that have been created by the API.

Updates stream in real-time from Dwellant with a single user action often generating multiple updates.

For example when a user completes a request we send:

All messages are recorded to our database before sending them - if we are unable to connect to your endpoint we will retry sending the message five times. After this we can manually kick of a resend after your endpoint has come back online.

The JSON object we send has an identical schema in all cases - however the fields content will vary by EventType

Example request change webhook payload

{
          "id": 2319057,
          "parentId": 2319051,
          "parentExternalId": "45101",
          "externalId": "45102",
          "changeId": 8955279,
          "eventType": "TaskCommented",
          "eventDateTime": "2022-02-18T10:24:30.3206025Z",
          "comment": "This is a sample comment",
          "description": "Comment added [Jane Doe of Example Contractor]: \"This is a sample comment\"",
          "attachments": [
            {
              "name": "sample.pdf",
              "url": "https://_beta-secure.dwellant.net/Task/TaskChangeViewAttachment/ABCDE...ZZZZ=="
            }
          ],
          "updatedBy": "Jane Doe",
          "updatedByEmail": "Jane.Doe@dwellant.com",
          "taskSatusBefore": "InProgress",
          "taskSatusAfter": "Completed"
        }

EventType is a task event type, defined as one of:

TaskStatusBefore and TaskStatusAfter will be empty strings if the status has not changed. If they are present they will be a request status defined as one of:

Note Change

This web hook should be configured at managing agent level. When a note changes, a notification is sent.

Fields

Key Description Type Can be null?
threadId The id of the note thread. long N
noteId The id of the note. long N
externalId The external id of the note, as received via the API. string Y
subject The subject. string Y
text The full text of the note. string Y
category Category. string Y
priority Priority. string Y
updateTime Time of update. UTC ISO 8601 N
nextActionDate Next action date. UTC ISO 8601 Y
startTime Start time. string Y
isClosed True, if the note is closed. bool N
isDeleted True, if the note was deleted. When true, only threadId, noteId, externalId, updateTime, and author contain valid values. bool N
author The email or name of the user that made the change. string Y
attachmentCount Number of attachments on the note. int N
managingAgentId The id of the managing agent. long Y
externalManagingAgentId The external id of the managing agent. string Y
externalBuildingIds External building ids. array [string] N, but can be empty
externalUnitId External unit id. string Y
externalTenants External tenant/contact id pairs. array [Tenant] N, but can be empty
Tenant Fields
Key Description Type Can be null?
tenantId External tenant id. string N
contactId External contact id. string Y

Example Notification

{
            "threadId": 129687,
            "noteId": 174922,
            "externalId": "n456",
            "subject": "Test subject",
            "text": "Test description",
            "category": null,
            "priority": "Medium",
            "updateTime": "2022-11-03T14:01:25",
            "nextActionDate": null,
            "startTime": null,
            "isClosed": false,
            "isDeleted": false,
            "author": "user@test.com",
            "attachmentCount": 0,
            "managingAgentId": 789456,
            "externalManagingAgentId": "123",
            "externalBuildingIds": [
                "40052"
            ],
            "externalUnitId": null,
            "externalTenants": [
                {
                    "tenantId": "T-53",
                    "contactId": "2541234"
                }
            ]
        }

Security

Overview

You will be given a Dwellant ID (unique organisation id) and the ability to generate an Authorization Key. You will need to pass this in the headers of all your requests using Basic Authentication. Failing to do so will result in all responses being 403 Forbidden.

Key Setup

In the Dwellant site you will generate a key. This is available under Core Data => Authentication Keys.

Key creation

Here you can generate your keys for each available environment. Clicking create presents you with this screen:

Generated keys

Two keys are listed.

These keys are not saved in our system. You can not view them again after you close the page. If you loose them you can use the Reset button. This generates new keys which replace the old keys.

Requests

Each organisation has a unique Dwellant ID (this is how we know which organisation to return data for). You concatenate the two together in the form ID:Key. This is then base 64 encoded and prefixed with “Basic” (quotes omitted). So for example:

A contractor with Dwellant id: 1756

A key is generated: mafaDmb28t5EgqK2jGV+ftNRbWVUqcdz317PAygIhcY36oEVGJmS+w==

Concatenate ID and Key: 1756:mafaDmb28t5EgqK2jGV+ftNRbWVUqcdz317PAygIhcY36oEVGJmS+w==

Base 64 Encode them: MTc1NjptYWZhRG1iMjh0NUVncUsyakdWK2Z0TlJiV1ZVcWNkejMxN1BBeWdJaGNZMzZvRVZHSm1TK3c9PQ==

Prefix with Basic: Basic MTc1NjptYWZhRG1iMjh0NUVncUsyakdWK2Z0TlJiV1ZVcWNkejMxN1BBeWdJaGNZMzZvRVZHSm1TK3c9PQ==

Pass this in a header called Authorization

This header is then sent for all calls made for this organisation.

In addition an x-api-key header must also be sent for all requests for this organisation. The value is generated using the same method as generating the Authorization Key but using key 2.

Thus for one organisation you will need to send two headers which will remain the same for each request.

All requests must be sent over HTTPS.

curl -i -H 'Accept:application/json' -H 'Authorization:Basic base64encodeduserpass' -H 'x-api-key:generatedApiKey' https://api.dwellant.com/workorders/12345

Common Errors

Webhook Setup

Webhooks

On the Dwellant site you can set up webhooks. Currently this supports updates on requests only. All webhook Requests are sent as an HTTP POST.

There are six fields: