Skip to content

5.9.2.1 Funding Calls

The Funding Calls domain of grant. Funding calls for livestock farms, every fact cited from its source document (req 200 to 209). The public reads the published catalogue, one call at a time or by region and purpose; staff curate the register of sources, register research collections, launch extraction batches, publish, hold and restore revisions. Nothing starts work automatically: only an operator launches a batch. It is one API, with its own contract and its own version.

5.9.2.1.1 Versions

Version Status Prod URL Contract
v1 Proposed https://grant.moonitoring.com/calls/v1 calls/v1/openapi.yaml

The data model has no entities for this domain yet; its schemas are part of the proposal. Follows the refined requirements of the grants project (req 200 to 209, 1200 to 1212), written on 2026-10-30 from the MVP (D12). PublishedCall is the public view that joins a call with its record, availability and search area; VerifiedRecord keeps the answer envelopes as JSON, since their shape is pinned by the extraction request.

5.9.2.1.2 Operations

Every operation names who calls it and the capability it checks (x-moonitoring-audience, x-moonitoring-capability in the contract); every capability is in the catalog of the data model (req 1002, 1006). Lists are paged by cursor, writes that create something carry an Idempotency-Key, errors are Problem Details.

Operation Request Who Capability
List published calls GET /catalogue Anyone none
Read a published call GET /catalogue/{call_id} Anyone none
Download a source document POST /catalogue/{call_id}/documents/{document_hash}/download-url Anyone none
Search the farm directory GET /farm-directory Anyone none
Search municipalities GET /municipalities Anyone none
List calls GET /calls Staff grant.calls.manage
Read a call GET /calls/{call_id} Staff grant.calls.manage
List a call's documents GET /calls/{call_id}/documents Staff grant.calls.manage
List a call's revisions GET /calls/{call_id}/revisions Staff grant.calls.manage
List a call's territories GET /calls/{call_id}/territories Staff grant.calls.manage
Hold or release a call POST /calls/{call_id}/hold Staff grant.calls.manage
Restore an earlier revision POST /calls/{call_id}/restore Staff grant.calls.manage
Publish or revert a batch's revisions POST /publications Staff grant.calls.manage
List reviewed search areas GET /search-area-assignments Staff grant.calls.manage
Add a reviewed search area POST /search-area-assignments Staff grant.calls.manage
List the register of sources GET /sources Staff grant.sources.manage
Add a source POST /sources Staff grant.sources.manage
Update a source PATCH /sources/{source_id} Staff grant.sources.manage
List collections GET /collections Staff grant.sources.manage
Register a collection POST /collections Staff grant.sources.manage
Read a collection GET /collections/{collection_id} Staff grant.sources.manage
List batches GET /batches Staff grant.sources.manage
Launch a batch POST /batches Staff grant.sources.manage
Forecast a launch POST /batches/forecast Staff grant.sources.manage
Read a batch GET /batches/{batch_id} Staff grant.sources.manage
Resume a batch POST /batches/{batch_id}/resume Staff grant.sources.manage
Mark a batch failed POST /batches/{batch_id}/fail Staff grant.sources.manage
List a batch's provider requests GET /batches/{batch_id}/provider-requests Staff grant.sources.manage
List a batch's runs GET /batches/{batch_id}/runs Staff grant.sources.manage
Reset a document's text POST /documents/{document_hash}/text-reset Staff grant.sources.manage

5.9.2.1.3 Contract v1

Proposed version

v1 is a proposal for review: its endpoints, errors and capabilities were designed from the requirements and the flows and are not confirmed. It leaves proposal with its first release; from then on it changes only as described in Every API Is Versioned.