POST
/
api
/
dealers
/
{dealerId}
/
documents
Add a Document
curl --request POST \
  --url https://monitoring.safeturf.ai/api/dealers/{dealerId}/documents \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'documentType=<string>' \
  --form file='@example-file'
{
  "reviewed": true
}
This endpoint requires HTTP Basic authentication, with the same client credentials as Submit a Dealer.
Adds one file to a dealer you already submitted, for example a document the underwriter asked for. Send one request per file. Send the documents you have up front with the dealer in Submit a Dealer; use this endpoint for anything that comes later. If the dealer’s checks have already run, the check that reads this document is re-run on it, and the response says reviewed: true.

Request

dealerId
string
required
Your dealerId from the submission.
documentType
string
required
What the file is. Known types: w9, certificate_of_insurance, home_improvement_contract, trade_license, voided_check, business_registration, other. Any other lowercase name of letters, digits and underscores (up to 50) is accepted and filed under that name for the underwriter.
file
file
required
PDF, JPEG or PNG, up to 15 MB.

Example

curl -X POST "https://monitoring.safeturf.ai/api/dealers/360-0042/documents" \
  -u "$CLIENT_ID:$CLIENT_SECRET" \
  -F 'documentType=certificate_of_insurance' \
  -F 'file=@coi-2026.pdf'

Responses

201 Created

{
  "documentId": "6f1c2d3e-8a9b-4c5d-9e0f-1a2b3c4d5e6f",
  "documentType": "certificate_of_insurance",
  "filename": "coi-2026.pdf",
  "reviewed": true
}
reviewed
boolean
true when the dealer’s checks have already run and the matching check is being re-run on this document now.

Other responses

StatusMeaning
400Empty file, not a PDF/JPEG/PNG, or an invalid documentType.
401Missing or wrong client credentials.
404No dealer with this dealerId.
409The dealer was submitted moments ago and is still being created. Retry in a minute.
413The file is over 15 MB.