DealMeld API docs
DealMeld exposes tenant-scoped CRM, room, communication, delivery, webhook, signing, billing, support, and automation APIs. These docs are the public entry point for API consumers, integration builders, and agent developers.
Use the guides when you need implementation context. Use the source-backed Complete API surface when you need to know what is mounted in the platform today. Use the interactive API Reference when you need request and response schemas for the currently published OpenAPI slice.
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://api.dealmeld.io/api |
| Local development | http://localhost:3005/api |
Start here
- Read Authentication to choose user JWT auth or tenant API access keys.
- Read Tenant context before making tenant-scoped requests.
- Review API access keys for service-account token behavior.
- Read the Agent platform guide for the platform capability map and safe automation rules.
- Read the CRM data model before creating clients, linking companies, using global search, or merging duplicate CRM records.
- Use the Complete API surface to find every mounted route by capability area.
- Use the API Reference for schema-backed endpoint details.
Coverage model
The docs intentionally split API coverage into two layers:
| Layer | Use it for |
|---|---|
| Complete API surface | Source-backed route inventory generated from the API server mounts. This is the broadest map of what the platform exposes. |
| API Reference | OpenAPI-backed schemas, parameters, examples, and response bodies for routes that have been promoted into the published schema. |
| Guides | Authentication, tenant context, CRM relationship rules, rate limits, errors, webhooks, and agent automation patterns. |
For agentic integrations, start with the complete surface and then prefer OpenAPI-backed routes whenever schemas are available.
Response envelope
Successful responses use a shared JSON envelope:
{
"success": true,
"data": {}
}
Errors use a stable error envelope:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Request body is invalid"
}
}