Skip to content

Public Tenders Document Feed

Request

Feed of every tender's source documents, ordered by when they last changed.

Poll it with modified_since to archive documents without walking each tender. A document comes back whenever its record changes: when it is uploaded (also later, after the tender was first handed over), when a user edits its DOCUMENT custom fields (e.g. the archive folder), and when a user asks for it to be sent to the ERP again (erp_export_requested_at moves). Internal processing can also touch a document, so decide by id + erp_export_requested_at / custom_fields whether to file it anew rather than archiving every appearance. Same document shape as GET /tenders/{tender_id}/documents, including a short-lived download_url.

Query
cursorstring or null(Cursor)

Opaque cursor from prior page

modified_sincestring or null, (date-time)(Modified Since)

ISO-8601 lower bound on the document's updated_at. Applied only on the first page; the cursor is a strict super-set thereafter.

limitinteger or null, [ 1 .. 500 ](Limit)
Headers
authorizationstring or null(Authorization)

Bearer <mrc_live_…> API key

curl -i -X GET \
  'https://docs.mercura.ai/_mock/openapi/tenders/documents?cursor=string&modified_since=2019-08-24T14%3A15%3A22Z&limit=1' \
  -H 'authorization: string'

Responses

Successful Response

Bodyapplication/json
dataArray of objects(Data)required
Example:
[ { "content_type": "application/xml", "created_at": "2026-07-08T09:14:00Z", "custom_fields": { … }, "download_url": "https://s3.fra1.example.com/mercura/files/b3f1c2a4-9d6e-4f21-8a0c-2e5d7f9a1b34_LV_Tiefgarage_Beleuchtung.gaeb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=3600&X-Amz-Signature=…", "download_url_expires_at": "2026-07-08T10:14:00Z", "erp_export_requested_at": "2026-10-13T08:02:11Z", "filename": "LV_Tiefgarage_Beleuchtung.gaeb", "id": "b3f1c2a4-9d6e-4f21-8a0c-2e5d7f9a1b34", "object_number": "200419", "size_bytes": 284913, "tender_id": "63365", "updated_at": "2026-10-13T08:02:11Z" } ]
next_cursorstring or null(Next Cursor)
Response
{ "data": [ { … } ], "next_cursor": "string" }