Skip to main content
POST
Create report request
Required scopes: reports.write

Authorizations

Authorization
string
header
required

Use Authorization: Bearer rk_live_....

Headers

Idempotency-Key
string
required

A unique value for each new request, such as a UUID. Send the same value to retry a request safely. The same key and payload replay the first response with Idempotency-Replayed: true.

Required string length: 1 - 160

Body

application/json
address
string
required
Required string length: 3 - 500
Example:

"100 Congress Ave, Austin, TX 78701"

place_id
string | null

Google Places id. RoofKit uses it to locate the property when lat and lng are absent.

Maximum string length: 500
lat
number

Send with lng. Without both, RoofKit locates the address. The AI measures the building nearest to this point.

Required range: -90 <= x <= 90
lng
number
Required range: -180 <= x <= 180
external_report_id
string | null

Your id for this report, such as the inspection or job id. A live request with the same id is returned instead of a new report.

Maximum string length: 200
roof_material
enum<string> | null

The roof finish. Without it, the team chooses it later in RoofKit.

Available options:
shingle,
tile,
metal

Response

A live request with the same external_report_id. A ready request whose 3D model failed or is missing is back in rendering.

report_request
object
required
reused
boolean

True when a live request with the same external_report_id answered the create.