POST /api/comprasmx/tenders
Price: 20 credits
Get one ComprasMX procurement procedure by its id or procedure number: agency, buying and requesting units with the responsible person, law, procedure and contract type, character, status, description, evaluation criteria, guarantees and payment terms, requested items with CUCOP codes and quantities, spending categories, trade treaties, documents, schedule of clarifications, opening and award, and the awarded contracts with supplier and amounts. A direct award listed without contract data returns its summary fields only: number, title, file code, procedure and contract type, character, status, buying unit and state.
Pass the id or number of a comprasmx/tenders/search row. contracts summarises each awarded contract; comprasmx/tenders/contracts adds their priced line items.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)tender string required — Procedure id or procedure number (examples: "42136edb21764aa1b17b271e73a13a27", "LA-07-110-007000999-T-699-2026")@type string (default: "ComprasmxTender")id string requiredprocedure_id string nullablenumber string nullabledescription string nullableshort_description string nullablefile_code string nullabledraft_call_code string nullableinternal_control_number string nullablelaw string nullableprocedure_type string nullablecontract_type string nullablecharacter string nullableparticipation string nullablestatus string nullablestatus_detail string nullableexception_basis string nullableagency string nullableagency_name string nullablebudget_branch string nullablebuying_unit string nullablebuying_unit_name string nullablebuying_unit_email string nullablebuyer_acronym string nullableresponsible_person string nullablerequesting_units array (default: [])state string nullablebudget_year integer nullablecurrency string nullableevaluation_criterion string nullableother_evaluation_criterion string nullabletechnical_points number nullableeconomic_points number nullableprice_condition string nullableprice_condition_description string nullablepayment_terms string nullableadvance_payment_share number nullablesupplier_amount_share number nullableguarantee_beneficiary string nullableguarantee_delivery_days integer nullableguarantee_months integer nullableother_insurance_description string nullableopen_contract_type string nullableexecution_days integer nullablework_site string nullablesite_visit_place string nullableclarification_place string nullableopening_place string nullableaward_place string nullablejoint_bid_justification string nullableprocurement_term string nullablelanguages array (default: [])spending_categories array (default: [])@type string (default: "ComprasmxSpendingCategory")code string nullablename string nullableline_items array (default: [])@type string (default: "ComprasmxItem")number integer nullablegroup string nullablegroup_number integer nullablecucop_code string nullablecucop_name string nullablespending_category_code string nullabledescription string nullableunit string nullablequantity number nullablemin_quantity number nullablemax_quantity number nullablemin_amount number nullablemax_amount number nullabletreaties array (default: [])@type string (default: "ComprasmxTreaty")code string nullablename string nullableppp_projects array (default: [])@type string (default: "ComprasmxPppProject")project_type string nullablemodality string nullabledescription string nullablelocation string nullablecontract_term integer nullablebid_documents_cost number nullablebid_documents_payment_method string nullableconsultation_address string nullableconsultation_hours string nullabledocuments array (default: [])@type string (default: "ComprasmxDocument")id string nullablenumber integer nullabledocument_type string nullabledescription string nullablefile_name string nullablecreated_at integer nullableupdated_at integer nullablecontracts array (default: [])@type string (default: "ComprasmxContractSummary")code string nullableinternal_reference string nullablesupplier_name string nullableamount number nullableamount_with_tax number nullablemax_amount number nullablemax_amount_with_tax number nullablecurrency string nullablestatus string nullablestart_date string nullableend_date string nullablepublished_at integer nullableis_consolidated_purchase boolean nullablepublished_at integer nullablesite_visit_at integer nullablequestions_deadline_at integer nullableclarifications_deadline_at integer nullableclarifications_at integer nullableopening_at integer nullableaward_at integer nullableestimated_contract_date string nullableestimated_works_start_date string nullableis_emergency boolean nullableis_consolidated_purchase boolean nullableis_open_contract boolean nullableis_multi_year boolean nullableis_sme_exclusive boolean nullablehas_external_credit boolean nullablehas_treaty_coverage boolean nullablehas_advance_payment boolean nullablehas_site_visit boolean nullablehas_social_witness boolean nullablehas_performance_guarantee boolean nullablehas_quality_guarantee boolean nullablehas_other_insurance boolean nullableallows_joint_bids boolean nullableallows_simultaneous_supply boolean nullableallows_subcontracting boolean nullableallows_subsequent_discounts boolean nullableallows_guarantee_reduction boolean nullableurl string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No procedure with this identifier on ComprasMX Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.