Report the ERP/CRM import outcome for one project.
The partner POSTs status (SUCCESS / FAILED), optionally an external_id (its own project/record id, e.g. its ERP document number) and metadata, and a message (required on FAILED as the reason, optional on SUCCESS as a free-text note). Idempotent and latest-wins: a later acknowledgement overwrites the earlier one; external_id is kept once provided. Returns the recorded acknowledgement (status, sticky-aware external_id, message, metadata, acknowledged_at) — the same shape as the acknowledgement field on PublicProjectOut, not the whole project. A supplied external_id is also written to the project's object_number (the Objektnummer) — the key Mercura echoes back as erp_object_id on later tender/order exports — so one POST both records the outcome and reconciles the identifier without a PATCH. It never alters the project's lifecycle status and re-triggers no export. The method-minimal alternative to PATCH for middlewares that cannot issue the PATCH verb.
Outcome a partner reports after importing a project into their ERP/CRM.
Translated from the internal RequestAckStatus (the identical axis the tender/order acknowledgements use) via projects.service._PROJECT_ACK_STATUS_MAP. A separate axis from PublicProjectStatus: that is Mercura-side lifecycle, this is the partner's import result.
Partner-side ERP/CRM id of the created project / record (e.g. the ERP document number). Typically set on SUCCESS.
Free-text note about the outcome. Required when status is FAILED (the failure reason); optional on SUCCESS.
- Mock serverhttps://docs.mercura.ai/_mock/openapi/projects/{project_id}/acknowledgements
- https://docs.mercura.ai/api/public/v1https://docs.mercura.ai/api/public/v1/projects/{project_id}/acknowledgements
- Productionhttps://prod-euapi.mercura.ai/api/public/v1/projects/{project_id}/acknowledgements
curl -i -X POST \
'https://docs.mercura.ai/_mock/openapi/projects/{project_id}/acknowledgements' \
-H 'Content-Type: application/json' \
-H 'authorization: string' \
-d '{
"external_id": "4500012345",
"metadata": {
"erp_client": "100"
},
"status": "SUCCESS"
}'Successful Response
Outcome a partner reports after importing a project into their ERP/CRM.
Translated from the internal RequestAckStatus (the identical axis the tender/order acknowledgements use) via projects.service._PROJECT_ACK_STATUS_MAP. A separate axis from PublicProjectStatus: that is Mercura-side lifecycle, this is the partner's import result.
Partner-side ERP/CRM id of the created project / record (e.g. its ERP document number).
Free-text note about the outcome. On FAILED this is the failure reason (required); on SUCCESS an optional note.
Optional extra references / raw payload the partner echoed back for traceability.
{ "erp_client": "100" }
{ "acknowledged_at": "2026-08-20T09:15:00Z", "external_id": "4500012345", "metadata": { "erp_client": "100" }, "status": "SUCCESS" }