# Bees360 API v1.33.0
# API Endpoints
Production environment:
https://api.bees360.io/v1
Staging environment:
https://api.stag.bees360.io/v1
# Status Response Code
The following status code can be returned in HTTP responses.
HTTP Code | HTTP Description | Notes |
---|---|---|
2xx | OK | Request is handled successfully. |
307 | Temporary Redirect | The resource has been relocated to a different location. |
400 | Bad Request | Bad request format or invalid argument. |
401 | Unauthorized | Invalid credentials, or token expires. |
403 | Forbidden | Permission denied for a client already authenticated. |
404 | Not Found | Resource is not available at the specified location. |
409 | Conflict | Resource already exists. |
422 | Unprocessable Entity | The request is well-formed but contains invalid data which makes the request cannot be processed. |
429 | Too Many Requests | Some resource has been exhausted, perhaps a per-user quota |
500 | Internal Server Error | Request failed due to Internal error. |
503 | Service Unavailable | The service is currently unavailable. |
504 | Gateway Timeout | The deadline is reached for the request. This error may be returned even when the request is handled successfully. |
# Example Error response
400 BAD_REQUEST
{
"error": {
"message": "invailid project ID."
}
}
# Authentication
To authenticate with Bees360 API, first request a client_id
and a client_secret
from Bees360 development team.
A client must act as a valid user on the Bees360 platform. The user's username and password is required when requesting access tokens.
# Acquire tokens
POST /oauth/token
Requests access_token
and refresh_token
from Bees360 API.
Currently we support client to use OAuth 2.0 Password Grant to authenticate.
The authentication request should use HTTP Basic authentication with client_id
and client_secret
.
# Request parameter grant_type
required
grant_type
should be set to password
.
# Request parameter username
required
The username
of the user the client wants to act on behave of.
# Request parameter password
required
The password
of the user corresponds to the specified username.
# Request parameter scope
optional
scope
should be the name of one of the companys the user belongs to.
# Example request
For instance, suppose you have an account with the username [email protected] and the password ULX1AUPz. Your API client information is as follows:
client_id
: myClientIdclient_secret
: myClientSecretscope
: myScope
Using curl to acquire token:
curl --request POST \
--url 'https://api.bees360.io/v1/oauth/token' \
-u myClientId:myClientSecret \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data username=[email protected] \
--data password=ULX1AUPz \
--data scope=myScope \
--data grant_type=password
Using postman to acquire token:
# Example sucessful response:
{
"access_token": "ff16372e-38a7-4e29-88c2-1fb92897f558",
"token_type": "bearer",
"refresh_token": "f554d386-0b0a-461b-bdb2-292831cecd57",
"expires_in": 43199,
"scope": "myScope",
"user_id": 10030,
"jti": "08ccb060-515f-46d0-aaa7-06e38fe94c03"
}
The validity period of access_token
is 10 minutes, while the validity period of refresh_token
is 24 hours. The refresh_token
can be used to acquired a new access_token
before the access_token
expires.
See details of how to use refresh_token
below.
# Refresh token
POST /oauth/token
Acquire refreshed tokens using a valid refresh token.
# Request parameter grant_type
required
The grant_type
parameter must be set to refresh_token
.
# Request parameter refresh_token
required
A valid refresh token previously issued to client.
# Request parameter scope
optional
scope
should be the name of one of the company that the user belongs to.
# Example request
curl -X POST -vu myClientId:myClientSecret https://api.bees360.io/v1/oauth/token \
-H "Accept: application/json" \
-d "grant_type=refresh_token&refresh_token=f554d386-0b0a-461b-bdb2-292831cecd57"
# Example successful response
{
"access_token": "f276df18-cfc2-454e-a6f2-3ec63578c73c",
"token_type": "bearer",
"refresh_token": "fb22be4a-2b85-48b3-bbc3-54b91ada9f71",
"expires_in": 43199,
"scope": "ABC INC"
"user_id": 10030,
"jti": "08ccb060-515f-46d0-aaa7-06e38fe94c03"
}
# Use token
When requesting any endpoints that require authentication, set Bearer [ACCESS_TOKEN]
in the HTTP Authorization header.
# Example request
curl https://api.bees360.io/v1/project/1000012 \
-H "Authorization: Bearer f276df18-cfc2-454e-a6f2-3ec63578c73c"
# Project API
# Create new project
POST /project
Creates a new project on Bees360 platform.
# Request parameter streetAddress
required
The street address part of the address of the property to inspect.
# Request parameter city
required
The city part of the address of the property to inspect.
# Request parameter state
required
The state part of the address of the property to inspect.
# Request parameter zipcode
required
The zipcode part of the address of the property to inspect.
# Request parameter country
optional
The country part of the address of the property to inspect. Defaults to US
.
# Request parameter serviceName
required String
Specifies the project's service name.
Acceptable service names include:
[
"Roof Only",
"Exterior",
"4-Point",
"4-Point Self",
"Premium 4-Point"
]
# Request parameter houseType
optional String
Specifies the house type of the property. Acceptable values for House type are:
[
"Residential Single Family",
"Residential Condo",
"Residential Townhouse",
"Residential Multi Family",
"Residential Apartment",
"Commercial",
"Single Family Detached",
"Single Family Attached",
"Duplex",
"Triplex",
"Row Home",
"2 Family Home",
"3 Family Home",
"4 Family Home",
"Mobile Home",
"Condominium Detached",
"Other"
]
# Request paramter dueDate
optional String
Specifies the due date for completion of the project, in YYYY-MM-DD format.
# Request paramter policyNumber
optional String
Specifies the policy number related to this project.
# Request paramter inspectionNumber
optional String
Specifies the inspection number related to this project.
# Request parameter insuredBy
optional String
Specifies the insurance company related to this project. Its value is the company name in the system. To request a list of approved company names, please contact technical support.
# Request parameter insuredName
optional String
Specifies the name of the insured.
# Request parameter insuredPhone
optional String
Specifies the phone number of the insured.
# Request parameter insuredEmail
optional String
Specifies the email address of the insured.
# Request parameter agentName
optional String
Specifies the name of the agent.
# Request parameter agentPhone
optional String
Specifies the phone number of the agent.
# Request parameter agentEmail
optional String
Specifies the email address of the agent.
# Request parameter policyEffectiveDate
optional String
Specifies the Policy Effective Date in YYYY-MM-DD
format.
# Request parameter yearBuilt
optional Number
Specifies the property's built year as a four-digit integer.
# Request parameter allowDuplication
optional Boolean
Determine whether the duplicate project can be created. The default value is true
. Click Here for specific rules.
# Request parameter note
optional String
The description or attention notes for the project.
# Request parameter isRenewal
optional Boolean
Determine whether the policy is new or renewal.
# Request parameter supplementalServices
optional List<String>
Specifies the supplemental services to subscribe. Acceptable values are:
[
"RC Report",
"Sinkhole",
"Wildfire"
]
# Request parameter division
optional String
Specifies the division of the project. Before using the division, you must configure the customer to which the account belongs.
# Request parameter operatingCompany
optional String
Specifies the operating company of the project.
# Request parameter dwellingCoverage
optional Number
Covers the physical structure of the home, including walls, floors, ceilings, and permanent fixtures. If the dwelling is damaged by events like windstorms, fires, or explosions, the insurance company will pay for repairs or rebuilding.
# Request parameter otherStructureCoverage
optional Number
Provides coverage for other structures on the property, such as detached garages, sheds, and swimming pools. If these structures are damaged, the insurance company will provide compensation for repairs or replacement.
# Request parameter contentCoverage
optional Number
Covers personal belongings inside the home, including furniture, appliances, and clothing. If these items are stolen or damaged by events like fire, the insurance company will provide reimbursement based on the specific circumstances.
# Example request body:
{
"streetAddress": "125 Hudson St, APT 708", // required
"city": "New York", // required
"state": "NJ", // required. Two letters representing a US state.
"zipcode": "07302", // required
"country": "US", // Currently only US is supported.
"serviceName": "4-Point", // required
"houseType": "Residential Single Family",
"dueDate": "2020-01-31",
"policyNumber": "1234567",
"inspectionNumber": "12345678",
"insuredBy": "Insurance Company",
"insuredName": "Jane Doe",
"insuredPhone": "2232131877",
"insuredEmail": "[email protected]",
"agentName": "John Smith",
"agentPhone": "1234567891",
"agentEmail": "[email protected]",
"policyEffectiveDate": "2019-12-31",
"yearBuilt": 1961,
"allowDuplication": true,
"note": "The description or attention notes for the project.",
"isRenewal": false,
"supplementalServices": ["RC Report", "Sinkhole"],
"division": "division-key",
"operatingCompany": "operating company name",
"dwellingCoverage": 10.5,
"otherStructureCoverage": 20.5,
"contentCoverage": 30.5
}
Please do not use null
as field value. Drop the JSON field if its value is not
available.
# Example successful response:
{
"project": [
{
"id": 10001,
"streetAddress": "125 Hudson St, APT 708",
"city": "New York",
"state": "NJ",
"zipcode": "07302",
"country": "US",
"serviceName": "4-Point",
"houseType": "Residential Single Family",
"dueDate": "2020-01-31",
"policyNumber": "1234567",
"inspectionNumber": "12345678",
"insuredBy": "Insurance Company",
"insuredName": "Jane Doe",
"insuredPhone": "2232131877",
"insuredEmail": "[email protected]",
"agentName": "John Smith",
"agentPhone": "1234567891",
"agentEmail": "[email protected]",
"policyEffectiveDate": "2019-12-31",
"yearBuilt": 1961,
"inspectionCode": "YN43AR", // 6 random character if `serviceName` is `4-Point Self`, otherwise ""(empty string)
"inspectionLink": "http://ibees.app/YN43AR" // url for iBees if `serviceName` is `4-Point Self`, otherwise ""(empty string)
"note": "The description or attention notes for the project.",
"isRenewal": false, // null if value is not present in request body.
"supplementalServices": ["RC Report", "Sinkhole"], // null if value is not present in request body.
"division": "division-key",
"operatingCompany": "operating company name",
"dwellingCoverage": 10.5,
"otherStructureCoverage": 20.5,
"contentCoverage": 30.5
}
]
}
# Get project details
GET /project/{projectId}
Retrives the details of the specified project.
# Request argument projectId
(required)
The project ID previously returned when creating the project.
# Example successful response:
{
"project": [
{
"id": 10001,
"streetAddress": "125 Hudson St, APT 708",
"city": "New York",
"state": "NJ",
"zipcode": "07302",
"country": "US",
"serviceName": "4-Point",
"dueDate": "2020-01-31",
"houseType": "Residential Single Family",
"policyNumber": "1234567",
"inspectionNumber": "12345678",
"insuredBy": "Insurance Company",
"insuredName": "Jane Doe",
"insuredPhone": "2232131877",
"insuredEmail": "[email protected]",
"agentName": "John Smith",
"agentPhone": "1234567891",
"agentEmail": "[email protected]",
"policyEffectiveDate": "2019-12-31",
"yearBuilt": 1961,
"inspectionCode": "",
"inspectionLink": ""
"note": "The description or attention notes for the project.",
"isRenewal": false,
"supplementalServices": ["RC Report", "Sinkhole"],
"division": "division-key",
"operatingCompany": "operating company name",
"dwellingCoverage": 10.5,
"otherStructureCoverage": 20.5,
"contentCoverage": 30.5
}
]
}
# Get project status
GET /project/{projectId}/status
Check the status of the specified project.
# Request argument projectId
(required)
The project ID previously returned when creating the project.
# Example response:
{
"project": [
{
"id": 10001, // project id
"status": "Returned to Client"
}
]
}
# Possible values for status
:
[
"Project Created",
"Customer Contacted",
"Pending Acceptance",
"Assigned to Pilot",
"Project Rework",
"Site Inspected",
"IBees Uploaded",
"Image Uploaded",
"Returned to Client", // report and images are available to download.
"Project Canceled",
"Client Received", // marked as received by client
"Receive Error" // marked as error state by client
]
# Search projects
GET /project?status=Client Received&limit=10&start=1000012
Search the list of projects by project status. The list will be sorted base on
the projectId
in ascending order.
# Request parameter status
optional
The status of projects to search for. See Possible values for
status
. When this parameter is omit,
the operation will search for projects in any status.
# Request parameter policyNumber
optional
The policyNumber of projects to search for.
# Request parameter inspectionNumber
optional
The inspectionNumber of projects to search for.
# Request parameter serviceName
optional
The serviceName of projects to search for.
# Request parameter createdTime
optional
A filter on the list based on the creation time of the project. Using the filter with the following options:
Field | Type | Description | Example |
---|---|---|---|
createdTime.start | Integer | The start (included) the creation time. | 1672502400 |
createdTime.end | Integer | The end (exclude) the creation time. | 1698768000 |
# Request parameter limit
optional
Limit the number of projects to return. The default value is 100. This value cannot exceed 500.
# Request parameter startId
optional
Specify the returned projects has an ID that is larger than or equal to startId
.
You may combine this and limit
to achieve pagination. The default value is 0.
# Example response
{
"project": [
{
"id": 12345,
"streetAddress": "125 Hudson St, APT 708",
"city": "New York",
"state": "NY",
"zipcode": "10013",
"country": "US",
"serviceName": "4-Point",
"status": "Returned to Client"
},
{
"id": 23456,
"streetAddress": "37 Washington St.",
"city": "Jersey City",
"state": "NJ",
"zipcode": "07302",
"country": "US",
"serviceName": "4-Point",
"status": "Returned to Client"
}
]
}
# Update project status
PUT /project/{projectId}/status
# Request Parameter value
required String
Specifices the target status.
Currently the only acceptable values are ["Client Received", "Receive Error", "Project Canceled"]
.
Client Received
may only be triggered when the project's current status isReturned to Client
.Receive Error
may be set regardless of the project's current status.Project Canceled
may be set regardless of the project's current status.
# Request Parameter comment
optional String
The additional comment for the status. Its lenght must be less than 1000
.
# Example Request Body
{
"value": "Client Received"
}
{
"value": "Receive Error",
"comment": "The reason for not accepting the result."
}
# Example response
{
"project": [
{
"id": 12345,
"status": "Client Received",
}
]
}
# Get project images
GET /project/{projectId}/image
Returns a list of images URLs and their descriptions.
# Request argument projectId
(required)
The project ID previously returned when creating the project.
# Example response
{
"project": [
{
"id": 12345,
"image": [
{
"id": "4d0d5299-053a-40d0-82cd-da65a59df63d",
"source": "Drone",
"type": "Closeup",
"direction": "Front"
},
{
"id": "6d70013a-7aa3-4d62-a87f-b9ec724a4052",
"source": "Mobile",
"type": "Closeup",
"direction": "Rear"
},
{
"id": "11bcb277-b03c-4d62-880b-e0bbcbc67272",
"source": "Annotated",
"type": "Others",
"direction": "Right"
}
]
}
]
}
# Get project's available reports
GET /project/{projectId}/report
Returns a list of reports available to download.
# Request argument projectId
required
The project ID previously returned when creating the project.
# Example response
{
"project": [
{
"id": 12345,
"report": [
{
"id": "aJAgK76i2zXT9sZ_BxVEw-cDX2Ku98Kv", // report id
"type": "Full-scope Underwriting Report" // report type
}
]
}
]
}
# Empty response (no report available)
{
"project": [
{
"id": 12345,
"report": []
}
]
}
# Available report types
Report Name | Sample |
---|---|
Premium Damage Assessment Report | Sample Report |
Roof-only Underwriting Report | Sample Report |
Full-scope Underwriting Report | Sample Report |
Inspection Closeout Report | Sample Report |
# Report API
# Get report file
GET /report/{reportId}/file
If the report is available, will return a 307 Temporary Redirect response, which redirects to a location to download the report.
The default Content-Type
will be application/pdf
. Currently we only
supported .pdf format.
# Request parameter compressed
optional
Using compressed=true
to get the compressed report. If there is a compressed report, return the expected response, otherwise return HTTP 404 Not Found
response.
# Example response
307 Temporary Redirect
Content-Type: application/pdf
Location: https://api.bees360.io/v1/report/12345/file/roof_only_underwriting_report_xxxxxx.pdf
...
If the report file is unavailable, returns HTTP 404 Not Found
response.
# Get report url
GET /report/{reportId}/url
If the report is available, the URL of the report will be returned.
Note: This URL is not permanently valid and should not be saved.
# Example response
{
"url": "https://sample.cloudfront.net/73e06a619abfd940e98a311252ab7997.pdf?Expires=1699516800&Signature=xxxxx&Key-Pair-Id=K1MUJ2LPJURISX"
}
# Get report summary
GET /report/{reportId}/summary
# Attribute project.id
Number
Specifies the project ID to which this report belongs to.
# Attribute project.serviceName
String
Specifies the project's service name.
# Attribute project.insuredName
String
Specifies the name of the insured involved in this report.
# Attribute project.inspectionTime
Number
Specifies the inspection time for the report using the number of seconds since UNIX Epoch Time.
# Attribute project.completionTime
Number
Specifies the completion time for the report using the number of seconds since UNIX Epoch Time.
# Attribute project.policyNumber
String
Specifies the policy number related to this project
# Attribute project.supplementalServices
List
Specifies the supplemental services to subscribe. possible values include: [ "RC Report", "Sinkhole", "Wildfire" ]
.
# Attribute project.address.streetAddress
String
The street address part of the address of the project.
# Attribute project.address.city
String
The city part of the address of the project.
# Attribute project.address.state
String
The state part of the address of the project.
# Attribute project.address.zipcode
Number
The zipcode part of the address of the project.
# Attribute project.address.country
String
The country part of the address of the project.
# Attribute yearBuilt
Number
The built year as a four-digit integer.
# Attribute lotSize
Number
The lot size in acres.
# Attribute livingArea
Number
The total living area in Sq.Ft..
# Attribute risk.overallCondition
String
Overall risk condition, possible values include
[ "Excellent", "Good", "Average", "Fair", "Poor", "Closeout" ]
.
# Attribute risk.areaEconomy
String
Status of area economy, possible values include ["Stable","Improving","Declining"]
.
# Attribute risk.neighborhood
String
Type of neighborhood, possible values include ["Urban","Suburban","Rural","Remote","Commercial","Commercial & Residential"]
.
# Attribute risk.gatedCommunity
Boolean
Whether the property is located in a gated community.
# Attribute risk.locatedOnPavedRoad
Boolean
Whether the property locates on paved road.
# Attribute risk.isolatedDwelling
Boolean
Whether the property is an isolated dwelling.
# Attribute risk.seasonalDwelling
Boolean
Whether the property is a seasonal dwelling.
# Attribute risk.businessOperation
String
A string representing the type of business operation of the property, possible
values include ["None observed","Farming","Gardening","Professional Services"]
.
# Attribute risk.vacant
Boolean
Whether the property is vacant.
# Attribute risk.rental
Boolean
If the property is being rented (has tenants).
# Attribute risk.forSale
Boolean Nullable
If the property is currently for sale.
# Attribute risk.inaccessible
Boolean Nullable
The Score of hazard counting from report.
# Attribute risk.hazardScore
Double Nullable
If the property is inaccessible for inspection.
# Attribute risk.hasCrops
Boolean Nullable
Whether the property has crops.
# Attribute risk.hasHorses
Boolean Nullable
Whether the property has horses.
# Attribute risk.waterBody.type
String Nullable
Type of water body, possible values include [ "None observed", "Lake", "River", "Creek", "Ocean", "Pond", "Bay", "Bayou", "Gully" ]
.
# Attribute risk.waterBody.distance
String Nullable
Distance to the water body, possible values include [ "less than 500 ft", "500 ft ~ 1000 ft", "1000 ft ~ 2000 ft", "2000 ft ~ 1 mile", "greater than 1 mile" ]
.
# Attribute bldg.overallCondition
String
Building overall condition, possible values include [ "Excellent", "Good", "Average", "Fair", "Poor" ]
.
# Attribute bldg.construction
String
Construction material, possible values include
["Frame","Concrete Block","Steel Frame","Brick/Stone/Masonry Veneer","Fire Resistive","Pre-engineered"]
.
# Attribute bldg.constructionOverWater
String
Building partially or completed constructed over water.
# Attribute bldg.dwellingType
String
Dwelling type, possible values include
["Single Family Detached","Single Family Attached","Duplex","Triplex","Town Home","Row Home","Multi Family Home","2 Family Home","3 Family Home","4 Family Home","Mobile Home","Condominium","Condominium Detached"]
.
# Attribute bldg.garage
String
The type of garage, such as
["Attached", "Detached", "Built-in", "Carport", "None"]
.
# Attribute bldg.hvac
String
The type of HVAC, such as ["Central", "Window Unit", "Split Unit", "Baseboard heating", "Gas forced air heating"]
.
# Attribute bldg.numStories
Number
The number of stories of the main dwelling.
# Attribute bldg.windProtections
List
List of any wind protections discovered, such as ["None observed","Impact resistant door","High impact glass","Roof/shingles securing","High-profile garage door","Siding protection","Insulating Concrete Forms (ICFs)"]
.
If none observed, the field will be absent or has null
value.
# Attribute bldg.hurricaneStraps
Boolean
Whether hurricane straps was discovered.
# Attribute bldg.foundation
String
The type of foundation, such as
["Concrete Slab","Slab on Grade","Crawl Space - Open","Crawl Space - Closed","Pier & Beam","Elevated Pier","Basement"]
.
# Attribute bldg.manufacturedOrMobileHome
String
Whether the building is manufactured or a mobile home.
# Attribute bldg.designatedHistoricHome
Boolean
If building is Designated Historic Home.
# Attribute bldg.exteriorDamage
Boolean
If the property has noticeable exisiting exterior damage.
# Attribute bldg.hasFoundationCracks
Boolean Nullable
If foundation damage discovered.
# Attribute bldg.hasFence
Boolean Nullable
If fence damage discovered.
# Attribute bldg.underConstruction
Boolean Nullable
If the property is under construction.
# Attribute bldg.underRenovation
Boolean Nullable
If the property is under renovation.
# Attribute bldg.isDeveloperSpeculation
Boolean Nullable
Whether the property is a developer speculation model house.
# Attribute roof.estAge
String
Estimated roof age, possible values include
["less than 1 year", "1 ~ 5 years", "5 - 10 years"]
.
# Attribute roof.estLife
String
Estimated roof remaining life, possible values include
["less than 1 year", "1 ~ 5 years", "5 - 10 years"]
.
# Attribute roof.overallCondition
String
Overall roof condition, possible values include
[ "Excellent", "Good", "Average", "Fair", "Poor" ]
.
# Attribute roof.geometry
Object
An object presenting roof geometry and its corresponding percentage. Possible
properties include [ "Flat", "Gable", "Hip" ]
. The value of each property
presents its corresponding percentage.
# Attribute roof.comments
List
List of comments to the roof.
# Attribute roof.material
Object
A Object that records the roof material and its corresponding percentage.
Possible roof material properties include
["CompositeShingles","BuildupRoofNoGravel","ClayConcreteTiles","LightMetalPanels","SinglePlyMembrane","SinglePlyMembraneBallasted","Slate","StandingSeamMetalRoof","WoodenShingles","Metal","ModifiedBitumen"]
.
# Attribute roof.coveringMaterial
List
List of dominant covering material, including ["Asphalt","Modified Bitumen","Aluminum","Built-Up","Clay Tile","Concrete Tile","Slate","Copper","Steel","Metal","Standing Seam Metal","Solar Tiles","Rubber","Wood","Other","Unknown"]
.
# Attribute roof.hasSolarPanel
Boolean
Whether any solar panels present on roof.
# Attribute roof.hasCurlingShingles
Boolean
If roof has curling shingles.
# Attribute roof.hasGranularLoss
Boolean
If roof has granular loss.
# Attribute roof.hasMissingDamagedShingles
Boolean
If roof has missing or damaged shingles.
# Attribute roof.hasPatchedAreas
Boolean
If roof has been repaired with patches.
# Attribute roof.hasTarp
Boolean
If roof has a tarp.
# Attribute roof.hasRoofDebris
Boolean Nullable
If debris discovered on roof.
# Attribute roof.comparison
List
List of comparisons, in which each item describes a different direction to the roof. Each comparison is an object that contains the following property:
Field | Type | Description | Example |
---|---|---|---|
direction | String | Specifying the direction of the roof slope in this comparison, possible values include ["Front", "Right", "Rear", "Left"] . | "Front" |
change | String | Describing changes on the roof slope in this comparison, possible values include ["No changes was noted.", "Slightly damage was noted on the slope.", "Moderately damage was noted on the slope.", "Significant damage was noted on the slope.", "Roof is completely replaced.", "Solar panels were noted on the slope."] . | "No changes was noted." |
comment | String | A text comment constructed by direction and change . | "Front Slope: No changes was noted." |
image | List | List of images of the current inspection and historical inspections. It contains at least 2 images, standing for the current inspection and the last inspection. Each image is an object that contains at least an id property that represents the image's unique identifier. | [{ "id": "3f1d8a93----0404----4419----b42d----72e25ef5cde8" }] |
# Attribute exterior.overallCondition
String
Whether the overall condition of exterior is satisfactory.
# Attribute exterior.siding
Object
Siding material and its corresponding percentage. The object's properties are
the name of the siding material, and the values represents its percentage.
Possible values for siding materials include ["BrickVeneer","Wood","HardiePlank","Stucco","ConcreteBlock","WoodShake","Aluminum","Vinyl","Metal","Log","Asbestos","StoneVeneer","VinylShake","HardiePanel","HardieShingle"]
.
# Attribute exterior.hasShutters
Boolean
Whether any shutters discovered.
# Attribute exterior.hasPorch
Boolean
Whether property has porch.
# Attribute exterior.hasStairsWithoutHandRails
Boolean
If stairs are present without hand rails.
# Attribute exterior.hasYardDebris
Boolean
If yard has excessive yard debris/trash.
# Attribute exterior.hasDiscardedVehicles
Boolean
If yard has unregistered vehicles on premises.
# Attribute exterior.hasTreeLimbs
Boolean
If there are trees or tree limbs touching or overhanging home.
# Attribute exterior.hasPoolWithoutFence
Boolean
If pool present does it have a 4 ft fence with self locking gate?
# Attribute exterior.hasSidingDamage
Boolean Nullable
If siding damage discovered.
# Attribute exterior.hasWallCracks
Boolean Nullable
If wall cracks discovered.
# Attribute exterior.hasPealingPaint
Boolean Nullable
If peeling paint on siding discovered.
# Attribute exterior.hasWindowDamage
Boolean Nullable
If window screen damage discovered.
# Attribute exterior.hasWaterDamage
Boolean Nullable
If water damage on exterior discovered.
# Attribute exterior.hasChimneyDamage
Boolean Nullable
If chimney damage discovered.
# Attribute exterior.hasMildewOrMoss
Boolean Nullable
If algae/moss discovered on roof.
# Attribute exterior.hasPoolCage
Boolean Nullable
If swimming pool fence/cage discovered.
# Attribute exterior.hasDivingBoardOrSlide
Boolean Nullable
If swimming pool diving board discovered.
# Attribute exterior.numDogPresent
Number
# of dogs over 40lbs.
# Attribute exterior.hasDogPresent
Boolean
If there is a dog present.
# Attribute exterior.petType
List
Pet type with breed, such as ["Dog - Labrador Retriever","Dog - German Shepherd","Dog - Golden Retriever","Dog - Beagle","Dog - Bulldog","Dog - Yorkshire Terrier","Dog - Boxer","Dog - Poodle","Dog - Rottweiler","Dog - Dachshunds","Cats","Birds"]
.
# Attribute exterior.pet
Object
Provides the count of pet dog, pet cat, etc. Possible properties include ["dog", "cat", "horse", "other", etc]
.
# Attribute exterior.hasDogSign
Boolean Nullable
If dog sign presented on the property.
# Attribute exterior.hasPestActivity
Boolean Nullable
If pest activity discovered.
# Attribute exterior.hasTrampoline
Boolean Nullable
If trampoline discovered.
# Attribute exterior.hasWatercraft
Boolean Nullable
If watercraft discovered.
# Attribute exterior.hasPlaySwingSet
Boolean Nullable
If there is a play/swing set in the exterior area.
# Attribute exterior.hasTreeHouse
Boolean Nullable
If there is a tree house in the exterior area.
# Attribute exterior.hasBasketballHoop
Boolean Nullable
If there is a basketball hoop in the exterior area.
# Attribute exterior.hasATV
Boolean Nullable
If there is an ATV (all-terrain vehicle) in the exterior area.
# Attribute exterior.hasSkateboardOrBikeRamp
Boolean Nullable
If there is a skateboard or bike ramp in the exterior area.
# Attribute exterior.hasDirtBike
Boolean Nullable
If there is a dirt bike in the exterior area.
# Attribute exterior.hasPropaneOrFuelTank
Boolean Nullable
If there is a propane or fuel tank in the exterior area.
# Attribute exterior.hasSwimmingPool
Boolean Nullable
If there is a swimming pool in the exterior area.
# Attribute exterior.hasAwning
Boolean Nullable
If there is an awning in the exterior area.
# Attribute exterior.comments
List
List of text comments to exterior.
# Attribute exterior.comparison
List
List of comparisons, in which each item describes a different direction to the elevation. Each comparison is an object that contains the following property.
Field | Type | Description | Example |
---|---|---|---|
direction | String | Specifying the direction of the elevation in this comparison, possible values include ["Front", "Right", "Rear", "Left"] . | "Front" |
change | String | Describing changes on the elevation in this comparison, possible values include ["No changes was noted.", "Slightly damage was noted on the {TARGET}.", "Moderately damage was noted on the {TARGET}.", "Significant damage was noted on the {TARGET}.", "Roof is completely replaced.", "Solar panels were noted on the {TARGET}."] . The variable {TARGET} could be ["siding", "door", "window", "foundation", "soffit] . | "Slightly damage was noted on the siding." |
comment | String | A text comment constructed by direction attribute and change attribute. | "Front Elevation: Slightly damage was noted on the siding." |
image | List | List of images of the current inspection and historical inspections. It contains at least 2 images, standing for the current inspection and the last inspection. Each image is an object that contains at least an id property that represents the image's unique identifier. | [{ "id": "3f1d8a93----0404----4419----b42d----72e25ef5cde8" }] |
# Attribute exterior.isEIFS
Boolean Nullable
Whether the Exterior Insulating and Finishing System (EIFS) construction was done prior to 2000.
# Attribute exterior.hasPoolSelfLatchingGate
Boolean Nullable
Indicates if the swimming pool has a self-latching gate present.
# Attribute interior.overallCondition
String
Conditional of overall interior, possible values include ["Excellent", "Good", "Average", "Fair", "Poor"]
# Attribute interior.hasVisibleLeaks
Boolean
If active or inactive leaks are visible.
# Attribute interior.hasExistingDamage
Boolean
If there is existing interior damage is present.
# Attribute interior.plumbing.noShutoffValve
Boolean
If there are any plumbing fixtures without shut off valves.
# Attribute interior.plumbing.hasOldWaterHeater
Boolean
If the water heater is older than 15 years.
# Attribute interior.plumbing.hasPoorWaterHeaterCondition
Boolean
If the water heater is rusting or in poor condition, has exposed wires or no TPR Valve.
# Attribute interior.plumbing.hasGalvanizedPipes
Boolean
Indicates if there is evidence that property has galvanized steel pipes based on visual inspection. Galvanized steel pipes may be prone to flow restrictions due to internal corrosion build up over time.
# Attribute interior.plumbing.isUpdated
Boolean Nullable
Whether the plumbing was updated.
# Attribute interior.plumbing.yearUpdated
Number Nullable
The year in which the plumbing was updated.
# Attribute interior.plumbing.systemUpdateStatus
String
Indicates the age and update status of the plumbing system in the property. Possible values are:
Original
- The plumbing system is original and has not been updated.Partially Updated
- Parts of the plumbing system have been updated or replaced.Fully Updated
- The entire plumbing system has been completely replaced with a new system.Unknown
- The age and update status of the plumbing system could not be determined.
# Attribute interior.plumbing.hasIneligiblePlumbing
Boolean
Indicates if there are any ineligible plumbing components or materials present, such as galvanized plumbing, polybutylene plumbing, etc.
# Attribute interior.electric.hasIneligiblePanel
Boolean
Ineligible panel, Split bus, fuse boxes, Stablok, Federal Pacific, GTE-Sylvania, Challenger or Zinsco.
# Attribute interior.electric.panelBrand
String
Brand of the main electrical panel inspected. This indicates the manufacturer of the panel. Common brands include Square D, General Electric, Siemens, etc.
# Attribute interior.electric.isUpdated
Boolean Nullable
Whether the wiring/electrical was updated.
# Attribute interior.electric.yearUpdated
Number Nullable
The year in which the wiring/electrical was updated.
# Attribute interior.electric.systemUpdateStatus
String
Indicates the age and update status of the electric system in the property. Possible values are:
Original
- The electric system is original and has not been updated.Partially Updated
- Parts of the electric system have been updated or replaced.Fully Updated
- The entire electric system has been completely replaced with a new system.Unknown
- The age and update status of the electric system could not be determined.
# Attribute interior.floorplan
Object
Provides details on the interior floor plan, including the number of each type of room and whether damage is present in each room. It contains two objects - "room" and "hasDamage"."room" provides the count of bedrooms, bathrooms, closets, etc."hasDamage" indicates if damage is present in each type of room. Possible room types are bedroom, bathroom, closet, foyer, living room, family room, dining room, breakfast room, kitchen, office/study, laundry room, attic, and garage.
# Attribute interior.floorplan.room
Object
Provides the count of bedrooms, bathrooms, closets, etc. Possible properties include ["bedroom", "bathroom", "closet", etc]
.
# Attribute interior.floorplan.hasDamage
Object
If floor damage discovered. It indicates if damage is present in each type of room. Possible properties include ["bedroom", "bathroom", "closet", "foyer", "livingRoom", "familyRoom", "diningRoom", "breakfastRoom", "kitchen", "officeOrStudyRoom", "laundryRoom", "attic", "garage", etc]
.
# Attribute interior.waterHeater.serialNumber
String
Specifies the serial number of the water heater inside the property..
# Attribute interior.waterHeater.age
String
Specifies the age of the water heater inside the property.
# Attribute interior.burglarAlarm.hasCentralBurglarAlarm
Boolean Nullable
Whether the property has central station burglar alarm.
# Attribute interior.fireAlarm.hasCentralFireAlarm
Boolean Nullable
Whether the property has central station fire alarm.
# Attribute interior.heatingCooling.hasSpaceHeater
Boolean Nullable
Whether the property has space heater.
# Attribute interior.heatingCooling.hasWoodStove
Boolean Nullable
Whether the property has wood stove.
# Attribute interior.heatingCooling.isUpdated
Boolean Nullable
Whether the HVAC was updated.
# Attribute interior.heatingCooling.yearUpdated
Number Nullable
The year in which the HVAC was updated.
# Attribute interior.heatingCooling.systemUpdateStatus
String
Indicates the age and update status of the heating and cooling system in the property. Possible values are:
Original
- The heating and cooling system is original and has not been updated.Partially Updated
- Parts of the heating and cooling system have been updated or replaced.Fully Updated
- The entire heating and cooling system has been completely replaced with a new system.Unknown
- The age and update status of the heating and cooling system could not be determined.
# Attribute interior.appliances
List
List of appilances, in which each item describes a appiliance in house. Each appliance is an object that contains the following property.
Field | Type | Description | Example |
---|---|---|---|
productType | String | Representing the type of appliance (e.g., Air Conditioner, Clothes Dryer, Dishwasher, Furnace/Air Handler, Range / Stove / Oven, Refrigerator, Washing Machine) | Air Conditioner |
subProductType | String | Representing a more specific classification for some product type like 'Air Conditioner'. (e.g., Air Conditioner, Heat Pump) | Air Conditioner |
brand | String | Representing the brand name of appliance. | ACIQ |
modelNumber | String | Representing the model number of appliance. | B1HA03 |
serialNumber | String | Representing the serial number of appliance. | NLLM11 |
manufacturedYear | Number | Representing the manufactured year of appliance. | 2024 |
manufacturedMonth | Number | Representing the manufactured month of appliance. | 1 |
age | Number | Representing the computed age of appliance. It can be a decimal value. | 2.5 |
remainingLife | Number | Representing the remaining life of appliance, based on its age and expected life in years. It can be a decimal value. | 5.5 |
failureRiskScore | Number | Representing the estimated risk score of appliance failure. The higher the score, the more likely the appliance is to fail. It can be a decimal value. | 1 |
failureRiskScoreIfRecallFixed | Number | Representing the estimated risk score of appliance failure if any existing recalls associated with the appliance are successfully fixed. It can be a decimal value. | 2.5 |
recallData | List | Representing the infromation about any recalls associated with the appliance. It is an object list, which includes values 'recallNumber', 'hazard', 'cause', 'solution', 'dateRecalled', 'dateStartedBeingSold', 'dateStoppedBeingSold', and all fields in the object are of string type. | [{"fix": "Consumers should stop using the air conditioner immediately.", "dueTo": "Injury", "hazard": "The engine posing a hazard.", "recallUrl": "https://recalls", "dateRecalled": "2014-01-15", "recallNumber": "375", "customerRecallStatus": "FIXED", "dateStartedBeingSold": "2013-01-30", "dateStoppedBeingSold": "2013-12-29"}] |
classActionLawsuit | List | Representing the infromation about any class action lawsuit associated with the appliance. It is an object list, which includes values 'caseName', 'caseNumber', 'caseCountry', 'classActionDescription', 'classActionUrl', and all fields in the object are of string type. | [{"caseName": "York", "caseNumber": "0110", "caseCountry": "US", "caseDistrict": "U.S.", "claimDeadline": "2017-12-20", "classActionUrl": "https://classactions", "classActionDescription": "The Plaintiffs claim that manufactures including air handlers and packaged HVAC units."}] |
# Attribute interior.comments
List
List of text comments to interior.
# Attribute community.numResidentialUnits
Number Nullable
The number of residential units in the community.
# Attribute community.numBldg
Number Nullable
The number of buildings in the community.
# Attribute community.hasBalcony
Boolean Nullable
If there is a balcony in the community.
# Attribute community.petsAllowed
Boolean Nullable
If pets are allowed in the community.
# Attribute community.hasTennisCourt
Boolean Nullable
If there is a tennis court in the community.
# Attribute community.hasPlayground
Boolean Nullable
If there is a playground in the community.
# Attribute community.hasBasketballCourt
Boolean Nullable
If there is a basketball court in the community.
# Attribute addlStructures
List
List of additional structures on the property, such as ["Storage Shed","Barn","Garden","Horse Stable","Gazebo","Guest House","Pergola","Boat Dock"]
.
# Attribute hazards
List
List of text comments of hazards discovered.
# Attribute recommendations
List
List of recommendations. Each recommendation is an object with a text property, and an image
property. text
is a String describing the recommendation, and image
is a list of images related to the recommendation. Each image is an object that contains at least an id
property that represents the image's unique identifier.
# Attribute factors
List
List of factors. Each factor is an object with a text
property, a direction
property, an image
property, and a name
property.
text
is a String describing the factor; direction
is a String that describes the direction
of the factor and could be null;image
is an object that contains at least an
id
property that represents the image's unique identifier; name
is an enum property which represents
the exact type of the factor, see the details of each enum value of name
in
# Attribute fireProtection.code
Number Nullable
Specifies the fire protection code for the area.
# Attribute fireProtection.nearestFireStation
Object
Specifies location details for the nearest fire station.
Field | Type | Description | Example |
---|---|---|---|
title | String | The title of the nearest fire station. | "Fire And Rescue Station" |
type | String | The type of the nearest fire station | "Full Time" |
distance | String | The distance to the nearest fire station | "0.92 miles" |
# Attribute fireProtection.nearestFireHydrant
Object
Specifies location details for the nearest fire hydrant.
Field | Type | Description | Example |
---|---|---|---|
distance | String | The distance to the nearest fire hydrant. | "500 ~ 1000 ft." |
# Attribute closeoutReasons
List
The reasons why this project was closed. Possible Values include ["Inspection was denied by the insured.", "Pilot was denied on location.", "Insured stated he/she cancelled the policy, and declined the inspection.", "Cancellation is confirmed.", "Unable to reach insured after multiple attempts. Inspection is closed out.", "The insured said this policy is canceled. Inspection is closed out.", "Inspection was denied by the insured who was unaware of this insurance policy.", "Inspection was denied by the insured, considering it unnecessary.", "Inspection was denied by the insured, stating it was previously completed by someone else.", "Inspection was denied by the insured without providing a specific reason."]
.
# Attribute history
List
List of the property inspection history. Each history is an object with a dateInspected
property, a policyNumber
property and an image
property.dateInspected
is a String specifies the date inspected of the histroy inspection in YYYY-MM-DD
format.policyNumber
is a String specifies the policy number related to this project, and image
is a list of images related to the history inspection. Each image is an object that contains at least an id
property that represents the image's unique identifier.
# Example response
{
"report": [
{
"id": "aJAgK76i2zXT9sZ_BxVEw-cDX2Ku98Kv",
"type": "Full-scope Underwriting Report",
"project": {
"id": 12345,
"inspectionNumber": "12345678",
"serviceName": "Exterior",
"insuredName": "Jane Doe",
"inspectionTime": 1597609827,
"completionTime": 1597629371,
"policyNumber": "BEES20221225",
"supplementalServices": [
"RC Report",
"Sinkhole"
],
"address": {
"streetAddress": "37 Washington St.",
"city": "Jersey City",
"state": "NJ",
"zipcode": "07302",
"country": "US"
}
},
"summary": {
"yearBuilt": 1945,
"livingArea": 1560.0,
"lotSize": 0.27,
"risk": {
"overallCondition": "Good",
"areaEconomy": "Stable",
"neighborhood": "Suburban",
"gatedCommunity": false,
"locatedOnPavedRoad": false,
"isolatedDwelling": false,
"seasonalDwelling": false,
"businessOperation": "Farming",
"vacant": false,
"rental": true,
"forSale": false,
"inaccessible": false,
"hasCropsOrHorses": true,
"waterBody": {
"type": "Lake",
"distance": "less than 500 ft"
},
},
"bldg": {
"overallCondition": "Good",
"dwellingType": "Single Family Detached",
"construction": "Frame",
"constructionOverWater": true,
"garage": "Attached",
"hvac": "Central",
"numStories": 2,
"windProtections": [
"None observed"
],
"hurricaneStraps": false,
"foundation": "Basement",
"hasFoundationCracks": false,
"manufacturedOrMobileHome": "Manufactured",
"designatedHistoricHome": false,
"exteriorDamage": true,
"underRenovation": false,
"isDeveloperSpeculation": true,
"underConstruction": false,
"hasFence": false
},
"roof": {
"overallCondition": "Good",
"estAge": "less than 1 year",
"estLife": "5 ~ 10 years",
"geometry": {
"Flat": 50,
"Gable": 20,
"Hip": 30
},
"coveringMaterial": [
"Asphalt"
],
"hasSolarPanel": false,
"hasCurlingShingles": false,
"hasGranularLoss": false,
"hasMissingDamagedShingles": false,
"hasPatchedAreas": false,
"hasTarp": false,
"hasRoofDebris": false,
"material": {
"CompositeShingles": 100,
"BuildupRoofNoGravel": 0,
"ClayConcreteTiles": 0,
"LightMetalPanels": 0,
"SinglePlyMembrane": 0,
"SinglePlyMembraneBallasted": 0,
"Slate": 0,
"StandingSeamMetalRoof": 0,
"WoodenShingles": 0
},
"comments": [
"Front Slope: Missing shingles.",
"Left Slope: Missing shingles."
],
"comparison": [
{
"comment": "Front Slope: No changes was noted.",
"direction": "Front",
"change": "No changes was noted.",
"image": [
{
"id": "3f1d8a93-0404-4419-b42d-72e25ef5cde8"
}
]
},
{
"comment": "Right Slope: Slightly damage was noted on the slope.",
"direction": "Right",
"change": "Slightly damage was noted on the slope.",
"image": [
{
"id": "23468a12-7354-34m4-3cd2-36e65er5cdw2"
}
]
},
{
"comment": "Rear Slope: Moderately damage was noted on the slope.",
"direction": "Rear",
"change": "Moderately damage was noted on the slope.",
"image": [
{
"id": "27318r12-7354-34b0-0cd2-06e61er5cew2"
}
]
},
{
"comment": "Left Slope: Significant damage was noted on the slope.",
"direction": "Left",
"change": "Significant damage was noted on the slope.",
"image": [
{
"id": "80128a62-7245-14m4-3ct2-86u65er1caw3"
}
]
}
]
},
"exterior": {
"overallCondition": "Good",
"siding": {
"Hardiplank": 100
},
"hasChimneyDamage": false,
"hasSidingDamage": false,
"hasPealingPaint": false,
"hasMildewOrMoss": false,
"hasWindowDamage": false,
"hasWallCracks": false,
"hasWaterDamage": false,
"hasShutters": false,
"hasPorch": true,
"hasStairsWithoutHandRails": false,
"hasYardDebris": false,
"hasDiscardedVehicles": false,
"hasTreeLimbs": false,
"hasPoolWithoutFence": false,
"hasDivingBoardOrSlide": false,
"hasPoolCage": false,
"numDogPresent": 2,
"hasDogPresent": false,
"petType": [
"Dog - Labrador Retriever",
"Dog - German Shepherd",
"Cat"
],
"pet": {
"dog": 2,
"cat": 1,
"horse": 0,
"other": 0
},
"hasDogSign": false,
"hasPestActivity": false,
"hasTrampoline": false,
"hasPlaySwingSet": false,
"hasTreeHouse": false,
"hasBasketballHoop": false,
"hasATV": false,
"hasSkateboardOrBikeRamp": false,
"hasDirtBike": false,
"hasWatercraft": false,
"hasPropaneOrFuelTank": false,
"hasSwimmingPool": false,
"hasAwning": false,
"comments": [
"Left Elevation: Broken window glass."
],
"comparison": [
{
"comment": "Front Elevation: No changes was noted.",
"direction": "Front",
"change": "No changes was noted.",
"image": [
{
"id": "3f1d8a93-0404-4419-b42d-72e25ef5cde8"
}
]
},
{
"comment": "Right Elevation: Slightly damage was noted on the siding.",
"direction": "Right",
"change": "Slightly damage was noted on the siding.",
"image": [
{
"id": "23468a12-7354-34m4-3cd2-36e65er5cdw2"
}
]
},
{
"comment": "Rear Elevation: Moderately damage was noted on the siding.",
"direction": "Rear",
"change": "Moderately damage was noted on the siding.",
"image": [
{
"id": "27318r12-7354-34b0-0cd2-06e61er5cew2"
}
]
},
{
"comment": "Left Elevation: Significant damage was noted on the siding.",
"direction": "Left",
"change": "Significant damage was noted on the siding.",
"image": [
{
"id": "80128a62-7245-14m4-3ct2-86u65er1caw3"
}
]
}
],
"isEIFS": false,
"hasPoolSelfLatchingGate": true
},
"interior": {
"overallCondition": "Good",
"hasVisibleLeaks": false,
"hasExistingDamage": false,
"comments": [
"The interior appears to be under renovation."
],
"plumbing": {
"noShutoffValve": false,
"hasOldWaterHeater": false,
"hasPoorWaterHeaterCondition": false,
"hasGalvanizedPipes": true,
"isUpdated": true,
"yearUpdated": 1986,
"systemUpdateStatus": "Original",
"hasIneligiblePlumbing": true
},
"electric": {
"hasIneligiblePanel": false,
"panelBrand": "Square D",
"isUpdated": true,
"yearUpdated": 1992,
"systemUpdateStatus": "Fully Updated"
},
"waterHeater": {
"serialNumber": "",
"age": "12 years"
},
"burglarAlarm": {
"hasCentralBurglarAlarm": false
},
"fireAlarm": {
"hasCentralFireAlarm": true
},
"heatingCooling": {
"hasSpaceHeater": true,
"hasWoodStove": false,
"isUpdated": true,
"yearUpdated": 1996,
"systemUpdateStatus": "Original"
},
"floorplan": {
"room": {
"bedroom": 1,
"bathroom": 1,
"closet": 1
},
"hasDamage": {
"bedroom": false,
"bathroom": false,
"closet": false,
"foyer": false,
"livingRoom": false,
"familyRoom": false,
"diningRoom": false,
"breakfastRoom": false,
"kitchen": false,
"officeOrStudyRoom": false,
"laundryRoom": false,
"attic": false,
"garage": false
}
},
"appliances": [
{
"productType": "Air Conditioner",
"brand": "York",
"modelNumber": "B1HA03",
"serialNumber": "NLLM11",
"manufacturedYear": 2014,
"manufacturedMonth": 1,
"age": 10.75,
"remainingLife": 8.25,
"failureRiskScore": 3.7,
"recall_data": [
{
"fix": "Consumers should stop using the air conditioner immediately.",
"dueTo": "Injury",
"hazard": "The engine posing a hazard.",
"recallUrl": "https://recalls",
"dateRecalled": "2014-01-15",
"recallNumber": "375",
"customerRecallStatus": "FIXED",
"dateStartedBeingSold": "2013-01-30",
"dateStoppedBeingSold": "2013-12-29"
}
],
"classActionLawsuit": [
{
"caseName": "York",
"caseNumber": "0110",
"caseCountry": "US",
"caseDistrict": "U.S.",
"claimDeadline": "2017-12-20",
"classActionUrl": "https://classactions",
"classActionDescription": "The Plaintiffs claim that manufactures including air handlers and packaged HVAC units."
}
]
},
]
},
"community": {
"numBldg": 13,
"numResidentialUnits": 126,
"hasBalcony": true,
"petsAllowed": false,
"hasTennisCourt": true,
"hasPlayground": false,
"hasBasketballCourt": true
},
"fireProtection": {
"code": 2,
"nearestFireStation": {
"title": "Fire And Rescue Station",
"type": "Full Time",
"distance": "0.92 miles"
},
"nearestFireHydrant": {
"distance": "500 ~ 1000 ft."
}
},
"closeoutReasons": [
"Inspection was denied by the insured."
],
"addlStructures": [
"Barn"
],
"hazards": [
"Fireplace on exterior of front slope was noted.",
"The property is located about 237 ft. from the Laurel Lake.",
"2 dogs was spoted."
],
"recommendations": [
{
"text": "Removal of Diving Board/Slides",
"image": [
{
"id": "3f1d8a93-0404-4419-b42d-72e25ef5cde8"
},
{
"id": "4e90cae0-7c29-4e7e-befa-f8a1d930ed4d"
}
]
}
],
"factors": [
{
"text": "Fireplace on exterior of front slope was noted.",
"name": "FIREPLACE ON EXTERIOR",
"direction": "front",
"image": [
{
"id": "3f1d8a93-0404-4419-b42d-72e25ef5cde8"
},
{
"id": "4e90cae0-7c29-4e7e-befa-f8a1d930ed4d"
}
]
},
{
"text": "Missing shingles.",
"name": "MISSING_SHINGLES",
"direction": null,
"image": [
{
"id": "3f1d8a93-0404-4419-b42d-72e25ef5cde8"
},
{
"id": "4e90cae0-7c29-4e7e-befa-f8a1d930ed4d"
}
]
}
],
"history": [
{
"dateInspected": "2022-12-25",
"policyNumber": "BEES20221225",
"image": [
{
"id": "3f1d8a93-0404-4419-b42d-72e25ef5cde8"
}
]
}
]
}
}
]
}
# Image API
# Get image file
GET /image/{imageId}/file
Get image by image Id.
# Request Argument imageId
required
The ID of the specified image. This can be found either from Project API or Report API.
If image with the specified imageId
is found, the server may directly
return the image binary data or redirect the request to another location to
access the image.
# Example Response
307 Temporary Redirect
Content-Location: http://example.com/xxxxxx.jpg
...
When the requested image does not exist, accessing the redirected URL will
respond with 404 Not Found
.
# Result Delivery
Upon completion of the project, you will have access to the project's report and a summary of the report. You can obtain the final delivery results using the API mentioned above, and here are additional ways to access the delivery results.
# SFTP Delivery
After the project is completed, the delivery results will be uploaded to the specified SFTP server. Below is a list of delivery results.
Item | Name Format |
---|---|
Report File | {POLICY_NUMBER}_{PROJECT_ID}_{INSPECTION_ORDERED_DATE}.pdf |
Report Summary | {POLICY_NUMBER}_{PROJECT_ID}_{INSPECTION_ORDERED_DATE}.json |
Here is a delivery result sample from the project with policy number BEES29079343 and was created on 08/11/2023.
BEES29079343_1306156_08112023.pdf
BEES29079343_1306156_08112023.json
Configuration
For deliver the result to your SFTP server, the following configuration details is required:
- The
host
andport
of the SFTP server. - The
folder
where you want to save the files. - The
username
andpassword
to access the SFTP server. Ensure that the account has the necessary permissions to read and write files (in the specified folder) on the SFTP server.
Please note:
- If your system has an IP whitelist in place, please add our service's outbound IP to your whitelist.
Auto Client Received
By default, when any file is deleted or moved to another folder, the status of the project will be set to Client Received
. If you want to set Client Received
by calling API endpoint or doing it manually on our platform, please let us know to disable the feature.
# Automated Testing Support
To facilitate automated testing in the staging environment, projects created with a string prefixed with "report_provided"
as their inspectionNumber
will undergo automatic processing within 5 minutes. For instance, consider the example "report_provided_202201010002"
. This means that any project created in the staging environment using a string prefixed with "report_provided"
as its inspectionNumber
will have its status changed to Returned to Client
within 5 minutes. Once the status is updated to Returned to Client
, you will be able to access its reports and images.
Similarly, projects created with a string prefixed with "closeout_report"
as their inspectionNumber
in the staging environment, such as "closeout_report_202301010001"
, will be closed within 5 minutes. Afterward, you can access a closeout report for the underwriting project.
The sample report and images will be static between different projects, regardless of the project's information.
# Appendix
# Project Duplication Rules
The following are rules to determine a duplicate project. If a request is rejected due to a duplicate project already exists, it will be receive a response with HTTP status 409 Conflict
.
When determining a duplicate project, only projects within the following scope will be considered:
- Projects created within 30 days.
- Projects created with the same processed-by and insured-by parameters.
We determine a duplicate project using the following rules:
- If a request's inspection number is empty, it will be considered as a duplicate if there are projects with the same policy number, effective date and address.
- If a request's inspection number is not empty, it will be considered as a duplicate if there are projects with the same inspection number and address.
# Enum values with descriptions of the factor name in report summary
Factor | Description |
Exterior Comments | |
HVAC | HVAC unit was noted in Good condition. |
SIDING DAMAGE | Damage was noted to the siding. |
ROTTED SIDING | Rotted siding was noted. |
LOOSE/MISSING SIDING | Loose or missing siding was noted. |
PLANT GROWING ON SIDING | Plant was noted growing on the siding. |
MILDEW/MOSS | Mildew was noted on the siding. |
PEELING PAINT - SIDING | Peeling paint was noted on the siding. |
PEELING PAINT - EAVES/SOFFITS | Peeling paint was noted on the eaves and/or soffits. |
DAMAGE - EAVES/SOFFITS | Damage to the eaves and/or soffits was noted. |
LOOSE/DAMAGE GUTTER | Loose, missing, or damaged gutters was noted. |
LOOSE/DAMAGE DOWNSPOUT | Loose, missing, or damaged downspouts was noted. |
BROKEN WINDOW GLASS | Broken window glass was noted. |
WINDOW FRAME DAMAGE | Damage to the window frame(s) was noted. |
WINDOW SCREEN DAMAGE | Damage to the window screen was noted. |
TREE/BRANCH - SIDING | Tree branches are contacting the siding. |
TREE/BRANCH - ROOF | Tree branches are contacting the roof covering. |
BUSH/BRUSH - SIDING | Bushes/Brush is contacting the siding. |
TALL GRASS/WEED/BRUSH | Tall grass/weeds/brush was noted in the yard. |
DRIVEWAY/WALKWAY CRACKS | Cracks in the driveway and/or sidewalk was noted. |
SIDING CRACKS | Crack(s) on the siding was noted. |
SECURITY BARS ON WINDOWS/DOORS | Security Bars were noted over the window(s). |
SECURITY BARS ON WINDOWS/DOORS | Security Bars were noted over the doorway. |
PATIO/PORCH DAMAGE | The patio cover or porch is showing damage. |
FOUNDATION DAMAGE | Possible foundation issues were noted including cracks or unlevel areas. |
WATER DAMAGE | The water mark was noted on the elevation. |
UNDER CONSTRUCTION | The property is under construction. |
UNDER RENOVATION | Exterior appears to be under renovation. |
Roof Comments | |
GRANULAR LOSS | Granular loss was noted. |
ALGAE/MOSS | Algae/Moss was noted on roof. |
DEBRIS ON ROOF | Debris was noted on roof. |
MISSING/DAMAGE SHINGLES | Loose, damaged, or missing shingles were noted. |
MISSING/DAMAGE TILES | Loose, damaged, or missing tiles were noted. |
CURLING/CUPPING SHINGLES | Roof appears to show signs of aging such as cupping or curling. |
TREE/BRANCH - ROOF | Roof shingle(s) appears to show damage from tree branches. |
TREE/BRANCH - ROOF | Tree branches are contacting the roof covering. |
STORM DAMAGE | Possible storm damage on roof was noted. |
HAIL IMPACT | Possible hail or imapct damage was noted. |
VENT DAMAGE | Possible damage to vents was noted. |
PIPE JACK DAMAGE | Possible damage to pipe jacks was noted. |
CHIMNEY DAMAGE | Damage was noted to the chimney. |
SKYLIGHT DAMAGE | Possible damage to skylights was noted. |
RIDGE VENT DAMAGE | Possible damage to ridge vents was noted. |
FLASHING DAMAGE | Possible damage to roof flashing was noted. |
SAGGING DECK | Roof deck is sagging on Front slope(s). |
TARP | Roof is tarped on Front slope(s). |
PATCHED AREA | Roof appears to have been repaired and/or patched. |
INSTALLATION ANOMALIES | Roof appears to have some installation anomalies on Front slope(s). |
Other Hazards | |
SWIMMING POOL | A swimming pool was noted at the Front of the dwelling. It is recommended that self-closing door to access swimming pool should be installed. |
POOL PUMP/HEATER | Pool pump and/or pool heater were noted in Good condition. |
POOL FENCE/CAGE | A swimming pool with screened enclosure was noted at the Front of the dwelling. It is recommended that self-closing door to access swimming pool should be installed. |
POOL DIVING BOARD | Diving board was noted around the swimming pool area. It is extreme hazard, and recommended to have it removed. |
POOL SLIDE | Slide was noted around the swimming pool area. It is extreme hazard, and recommended to have it removed. |
POOL WATER CONDITION | Pool water appears to be cloudy and in Good condition. It is recommended to consult with professional pool service as soon as possible. |
PLAY/SWING SET | A play/swing set was noted on the property. It is extreme hazard, and recommended to be removed. |
BASKETBALL HOOP | A basketball hoop was noted on the property. It is recommended to inspect goal sturdiness. |
PET TYPE | Dog(s) is noted during the inspection. A dog sign should be displayed. |
PET TYPE | Cat(s) is noted during the inspection. |
DOG SIGN | Dog sign was noted. |
PEST ACTIVITY | Professional pest control service should be contracted. |
PROPANE/FUEL TANK | Propane tank(s) was noted. |
DEBRIS IN YARD | Debris was noted in the yard. |
WATERCRAFT | Watercraft was noted. |
ATV | ATV was noted. |
Building Hazards | |
MISSING RAILINGS | Missing railing(s) was noted on elevated decks and/or stairs. It is recommended that all railings shoule be property installed on elevated decks and/or stairs. |
MISSING STEPS | Missing step(s) was noted at the time of inspection. It is receommended to contact professional contractors to repair the steps as soon as possible. |
HURRICANE STRAPS | Hurricane straps were noted in the attic of the dwelling. |
BOARDED WINDOWS/DOORS | Boarded windows/doors were noted on Front elevation. |
SHUTTERS OVER WINDOWS/DOORS | Shutters over windows/doors were noted on Front elevation. |
TREE/BRANCH - YARD | Tree/Brush/Bushes were noted on Unknown Front Right Rear Left elevation. It is recommended to obtain professional service to trim/clean it. |
SECURITY BARS ON WINDOWS/DOORS | Security bars were noted over windows/doors on Front elevation. |
OVERGROWN VEGETATION | Overgrown vegetation was noted on Front elevation. It is recommended to remove/clean the overgrown vegetation. |
ABANDONED VEHICLES | Abandoned vehicles were noted on the property. It is recommended to have it removed. |
CHIMNEY THROUGH ROOF | Chimney through roof on the Front slope was noted. It is recommended to conduct interior chimney sweep. |
FIREPLACE ON EXTERIOR | Fireplace on exterior of Front slope was noted. It is recommended to conduct interior chimney sweep. |
GATED COMMUNITY | The risk is located inside a gated community. EMS should have access to entry. |
WATERFRONT | The risk is a waterfront property. Adjacent waterbody was noted. |
Garage/Outbuilding Overview | |
GARAGE TYPE | Attached Garage was noted in Good Condition. |
GARAGE TYPE | Carport was noted in Good Condition. |
GARAGE DAMAGE | Damage to garage was noted at the time of inspection. It is recommended to contact garage service contractor to repair the garage as soon as possible. |
AWNINGS OVER WINDOWS/DOORS | Awning(s) over window and/or door was noted in Good Condition. |
DAMAGE - AWNINGS OVER WINDOWS/DOORS | Damage to awning(s) was noted at the time of inspection. It is recommended to contact professional contractor to repair the awning(s) as soon as possible. |
OUTBUILDING | A storage shed was noted in Good Condition. It is recommended to contact a professional contractor to repair the structure as soon as possible. |
FENCE | The fence is noted to be in Good condition. |
FENCE DAMAGE | Damaged fence pickets were noted. It is recommended to contact fence service contractor to repair the fence as soon as possible. |