Full REST API. Create deals, generate documents, and run compliance checks from your own systems. Every module, every jurisdiction, every document type.
Three steps to your first API call.
Generate a key in your dashboard Settings. Set per-module permissions and rate limits. Keys start with sk_live_.
POST to /api/v1/deals with your deal data. The response includes a deal ID and status.
curl -X POST https://api.openshut.me/api/v1/deals \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"module": "capital",
"name": "Growth Fund I",
"fundName": "Growth Fund I LP",
"fundType": "VENTURE_CAPITAL",
"gpEntityName": "Growth GP LLC",
"targetRaise": 50000000,
"country": "US"
}'GET /api/v1/deals/{id} to check progress. When status is complete, each document includes a presigned download URL (expires in 1 hour).
Generate a key and start making requests. Set per-module permissions and rate limits.
Every request requires a Bearer token in the Authorization header. Create API keys in your dashboard under Settings. Each key can be scoped to specific modules (lending, capital, ma, syndication, compliance) and has its own rate limit.
Default rate limit: 30 requests/min. Document generation endpoints are limited to 10 requests/min. You can configure custom limits per key.
Authorization: Bearer sk_live_your_key
14 endpoints covering deal lifecycle, document generation, compliance checks, and key management.
Register HTTPS endpoints in your dashboard to receive real-time notifications. All payloads are HMAC-signed with SHA-256 using your webhook secret. Delivery history is viewable in the dashboard, and a test endpoint is available for development.
Events
Example payload
{
"event": "deal.completed",
"dealId": "clx...",
"module": "capital",
"documents": [
{ "id": "clx...", "docType": "ppm", "downloadUrl": "https://..." }
],
"timestamp": "2026-03-09T12:00:00Z"
}Required and optional fields for POST /api/v1/deals by module. Required fields are marked with *.
All responses are JSON. Deal creation returns the deal object with a status field that progresses through four states.
{
"id": "clx...",
"module": "capital",
"status": "processing",
"createdAt": "2026-03-09T12:00:00Z",
"documents": [],
"estimatedCompletionSeconds": 120
}Status values
Rate limit headers are included in every response: X-RateLimit-Remaining and Retry-After (seconds, included when rate-limited).
| Status | Meaning |
|---|---|
| 200 | OK |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 402 | Payment Required |
| 403 | Forbidden |
| 429 | Too Many Requests |
| 500 | Internal Server Error |
When you receive a 429, back off for the number of seconds in the Retry-After header. Repeated violations within a short window may result in temporary key suspension.
Full REST API across 5 modules and 12 jurisdictions. Generate your API key and create your first deal in minutes.