- Reading supplier requests
Filtering
Joining to a tender
Public Supplier Requests List
Public Supplier Requests Get
Reading supplier requests
A supplier request is keyed by its own UUID (id) and carries:
status— lifecycle state:REQUEST_SENT(sent, awaiting an offer),OFFER_RECEIVED(the supplier replied), orDECLINED.tender_id— the tender this request was raised for, when tender-scoped — resolve the full document viaGET /tenders/{tender_id}. Null when the request is project-scoped.project_id— the project this request was raised for, when project-scoped — resolve viaGET /projects/{project_id}. Null when tender-scoped. A supplier request is always scoped to exactly one of the two.supplier_id— the supplier reference only (yourBusinessPartner.external_id); resolve name / address / contacts viaGET /suppliers/{supplier_id}.supplier_nameis a convenience mirror.supplier_emails— the addresses the request was sent to.sender_email— the Mercura user who sent the request.is_awarded/awarded_line_count— whether (and how many) offered lines were accepted into the final tender.offered_lines[]— the lines the supplier quoted back, one per parsed candidate. Each carries:id— an opaque handle for the offered line.position_id— the position this line answers. For a tender-scoped supplier request it is the line handle inGET /tenders/{tender_id}, so you can line the supplier's quote up against the position it responds to; for a project-scoped one it is an internal reference with no public resolution endpoint today. Null when the line is not mapped to a position.item_type—ARTICLE/TEXT_FIELD/DIVERSE.candidate_status—PENDING/ACCEPTED/DECLINED.selected—truewhen this line was accepted into the final tender (i.e.candidate_statusisACCEPTED). This is the line you are actually buying at the quoted price.article_number,manufacturer_article_number,description,quantity,unit,unit_price,line_total.
You can:
GET /supplier-requests— cursor-paginated list for your organisation.GET /supplier-requests/{supplier_request_id}— one supplier request in full, by its UUID.
The list is ordered by updated_at ascending (oldest-touched first) — the natural order for modified_since delta-sync — and paginated with the opaque cursor. Page through until next_cursor is null.