Conventions
Verbs, parameters, units, filters, caching, rate limits and versioning.
| Topic | Rule |
|---|---|
| Base URL | https://jolv-mcp.vercel.app |
| Verbs | GET /v1/{endpoint}?param=value. POST /v1/{endpoint} with a JSON object body (application/json) is accepted too, with the same result, for clients that cannot send long query strings; the OpenAPI specification documents the GET form only. With POST, the query string must be empty. |
| Lists | Comma-separated values (ids=a,b) or repeated keys (ids=a&ids=b). |
| Types | Numbers and booleans are converted from the query string (limit=5, include_dismissed=true). |
| Unknown parameters | Rejected with 400, as is a repeated key on a scalar parameter or a POST body that is not an object. Nothing is ignored silently. |
| Incremental filter | updated_since (YYYY-MM-DD or ISO 8601) on list_campaigns, list_documents, get_operations, get_financial_alerts, get_activity_log. |
| Amounts | €, €k or €m depending on the field; the unit is in the field name and description. |
| Multiples and percentages | Plain numbers: 1.57 is 1.57×, 14.2 is 14.2 %. |
| Dates | ISO YYYY-MM-DD; timestamps ISO 8601 in UTC. |
| Nulls | null means not published, not applicable or unknown. Never zero. |
| Caching | None: Cache-Control: private, no-store. |
| Rate limit | Per user, against bursts; 429 with Retry-After beyond it. Not a contractual quota. |
| CORS | Browser calls are accepted from jolv.app origins only (this documentation's playground). Server-side calls are unaffected. |
| Pagination | None. List endpoints return the full set within the user's rights, bounded by limit where the endpoint has one (see each page). There is no cursor to follow. |
| Environments | One environment, production. There is no public sandbox: use a dedicated account of your own organisation with the funds you want to expose. |
| SDKs | None published. The OpenAPI specification works with any generator (openapi-generator, Kiota, Stainless); each endpoint page carries cURL, Python, JavaScript and Power Query samples. |
| Inventory | GET /v1 lists the endpoints and their parameters; GET /v1/openapi.json is the machine-readable specification. |
| Support | contact@jolv.app, with the endpoint, the time of the call and the error.code received. Never send a token. |
#Versioning
The path is prefixed with /v1. A field can be added without a version change; removing or renaming a field will go through /v2, with the previous version kept available during a transition announced in the changelog.
#Identifiers
Funds, companies, campaigns and valuations are identified by UUIDs, stable over time. find_company resolves a name (case- and accent-insensitive) to a company UUID; list_campaigns and get_fund_synthesis give fund and campaign UUIDs.
#For agents and crawlers
Every page of this documentation is also available as Markdown by adding .md to its address; /api/llms.txt lists them all and /api/llms-full.txt concatenates them in one file.