Skip to Content
API ReferenceCompliance

Compliance API

Compliance States

type ComplianceState = | 'pending' | 'in_review' | 'approved' | 'rejected' | 'archived'

Endpoints

Get Compliance Status

GET /api/dashboard/deals/[id]/compliance Authorization: Bearer <jwt>

Request Upload URL

POST /api/dashboard/deals/[id]/compliance/upload-url Authorization: Bearer <jwt> Content-Type: application/json { "filename": "contract.pdf", "category": "contract" }

Returns presigned S3 URL valid for 15 minutes.


Confirm Document Upload

PATCH /api/dashboard/deals/[id]/compliance Authorization: Bearer <jwt> Content-Type: application/json { "document_key": "deals/[deal_id]/contract.pdf", "category": "contract" }

Submit for Review

POST /api/dashboard/deals/[id]/compliance/submit Authorization: Bearer <jwt>

Moves compliance state from pending to in_review. Notifies broker.


Approve (Broker)

POST /api/brokerage/compliance/[deal_id]/approve Authorization: Bearer <jwt> (broker only)

Reject (Broker)

POST /api/brokerage/compliance/[deal_id]/reject Authorization: Bearer <jwt> (broker only) Content-Type: application/json { "reason": "Missing vendor disclosure form" }

OnootsSign — Send

POST /api/brokerage/onoots-sign/send Authorization: Bearer <jwt> (broker+)

OnootsSign — Void

POST /api/brokerage/onoots-sign/void Authorization: Bearer <jwt> (broker+)
Last updated on