Skip to Content
Product GuidesCompliance Guard™

Compliance Guard™

Compliance Guard™ is Onoots’s document management and approval workflow. Every deal that reaches offer stage activates a compliance checklist.

Compliance States

StateDescription
pendingChecklist created, no documents uploaded
in_reviewDocuments uploaded, awaiting broker review
approvedBroker approved all required documents
rejectedBroker rejected — reason provided to agent
archivedDeal closed or cancelled

Document Upload Flow

Request presigned URL

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

Returns { url: "https://s3.amazonaws.com/...", key: "deals/abc/contract.pdf" }.

Upload directly to S3

curl -X PUT "<presigned_url>" \ -H "Content-Type: application/pdf" \ --data-binary @contract.pdf

Confirm upload

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

Documents are stored in S3 and pinned to IPFS via Pinata for immutable audit trail. Brokers access the Pinata queue at /dashboard/brokerage/pinata-queue.

Broker Review

The broker compliance queue is at /dashboard/brokerage/compliance-queue.

POST /api/brokerage/compliance/[deal_id]/approve POST /api/brokerage/compliance/[deal_id]/reject

Rejection requires a reason string that is surfaced to the agent.

Last updated on