The REST API allows you to programmatically create inspection reports in ScribeWare and receive webhook notifications when reports are published. This is a standalone integration that does not require
Setup
Go to Settings > Integrations in the ScribeWare desktop app
Under the REST API section, click Generate API Key
Copy and save your API key securely β you will need it for all API requests
Optionally, enter a Webhook URL (must be HTTPS) to receive notifications when reports created via the API are published
Authentication
All API requests must include your API key in the X-API-KEY header:
X-API-KEY: your-api-key-here
You can verify your API key is working by calling the auth endpoint:
Creates a new inspection report in your ScribeWare company account.
Request Body:
Field
Type
Required
Description
clientNames
string or string[]
Yes
Client name(s). Multiple names are joined with commas.
clientEmails
string or string[]
No
Client email(s).
clientPhones
string or string[]
No
Client phone number(s).
inspectionDate
string
Yes
Inspection date in ISO format (e.g., "2025-06-15").
address
string
No
Property address.
invoiceItems
string or string[]
No
Invoice line items in "Description: $Price" format.
yearBuilt
string
No
Year the property was built.
squareFeet
string
No
Square footage of the property.
notes
string
No
Inspector notes.
inspectorEmails
string or string[]
No
Email(s) of inspectors to assign. Must match existing ScribeWare user emails.
restId
string
No
Your external ID for the report. If provided and a report with this restId already exists, it will be updated instead of creating a new one.
fromRestService
string
No
Name of the originating service. Defaults to "REST API". Shown in ScribeWare as the source of the report.
agentName
string
No
Real estate agent name.
agentEmail
string
No
Real estate agent email.
agentPhone
string
No
Real estate agent phone.
Example:
Response:
The report will appear in ScribeWare with a "New from REST API" status badge. Inspectors can then apply a template and complete the inspection as usual.
List Reports
GET/reports
Returns a list of your company's reports, ordered by inspection date (newest first).
Query Parameters:
Parameter
Type
Default
Description
limit
number
20
Maximum number of reports to return.
Example:
Response:
Get a Single Report
GET/reports/:reportId
Returns details for a specific report.
Example:
The response format is the same as a single item in the list reports response.
Webhook Notifications
When a report that was created via the REST API is published, ScribeWare can send a webhook notification to your server.
Setup
In Settings > Integrations > REST API, enter your webhook URL (must be HTTPS)
Click Save
How It Works
An inspector publishes a report that was originally created via the REST API
ScribeWare shows a confirmation dialog asking if the inspector wants to notify the REST API integration
If confirmed, ScribeWare sends a POST request to your webhook URL with the full report data
Important: The webhook only fires for reports that were created via the REST API (identified by the fromRestService field). Reports created directly in ScribeWare will not trigger the webhook.
If no webhook URL is configured, reports created via the REST API will be published using the normal email flow β no webhook notification will be sent.
Webhook Payload
The POST body sent to your webhook URL contains the report data:
Error Handling
If the POST to your webhook URL fails (network error, non-2xx response, etc.), the error is displayed to the inspector in the ScribeWare app. They can retry the publish or skip the webhook notification.
Managing Your API Key
Generate: Settings > Integrations > REST API > Generate API Key
Copy: Click the copy icon next to the API key to copy it to your clipboard
Revoke: Click "Revoke REST API Integration" to delete the API key and webhook URL. This will disable all REST API access. Existing reports created via the API will remain but will no longer trigger webhook notifications on publish.
Error Responses
API errors are returned as JSON with an HTTP status code:
Status
Meaning
400
Bad request β missing or invalid API key
404
Report not found
500
Internal server error
Rate Limits
There are currently no explicit rate limits on the REST API. Please be reasonable with your request volume.