POST /api/enabavki/contracts
Price: 1 credit
North Macedonia public procurement contract award notification from e-nabavki.gov.mk by id: buyer, supplier, contract number, estimated and assigned values with VAT, bids received with the bidders, lots, award criteria, beneficial owners of the suppliers, changes, and the contract files.
Takes the `id` of an enabavki/contracts/search row, current or archived; `tender_id` resolves through enabavki/tenders. `owned_vendors` holds each supplier's beneficial owners as disclosed; `beneficial_owner_stage` says whether they were disclosed.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)id string required — Contract id from enabavki/contracts/search (examples: "5b74b08d-57fe-40b1-bdbe-354ac029d67d"; pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)@type string (default: "EnabavkiContract")id string requireddefinition_id string nullabletender_id string nullableprocess_number string nullablecontract_number string nullablesubject string nullabledescription string nullablebuyer object nullable@type string (default: "EnabavkiBuyer")name string nullableaddress string nullablecity string nullablepostal_code string nullablecategory string nullablemain_activity string nullableemail string nullablephone string nullablewebsite string nullablecontact_person string nullablecontact_phone string nullablecontact_email string nullablecontact_fax string nullablecontact_page string nullableauthorized_person string nullableauthorized_person_email string nullableauthorized_person_phone string nullableprocedure_type string nullableprocedure_type_id string nullablecontract_type string nullableprocurement_item string nullableoffer_type string nullableis_price_only boolean nullablesector string nullabledelivery_location string nullablecpvs array (default: [])@type string (default: "EnabavkiCpv")code string nullabledescription string nullablerole string nullablehas_referent_nomenclature boolean nullablepublished_at integer nullablecreated_at integer nullableawarded_at integer nullabledelivered_at integer nullablecancelled_at integer nullablevendor_id string nullablevendor_name string nullablevendor_registration_number string nullablevendor_address string nullablevendor_city string nullablevendor_country string nullableestimated_value number nullableestimated_value_vat number nullablechanged_estimated_value number nullablehas_changed_estimated_value boolean nullableassigned_value number nullableassigned_value_vat number nullableassigned_value_without_vat number nullableprevious_assigned_value number nullablevalue_difference number nullablevat_rate number nullableoffer_count integer nullablehighest_offer_value number nullablelowest_offer_value number nullableis_group_bid boolean nullablehas_subcontractors boolean nullablegroup_members array (default: [])@type string (default: "EnabavkiGroupMember")id string nullablename string nullablesurname string nullableregistration_number string nullabletax_number string nullableemail string nullablephone string nullablemobile string nullableis_domestic boolean nullablesubcontractors array (default: [])@type string (default: "EnabavkiGroupMember")id string nullablename string nullablesurname string nullableregistration_number string nullabletax_number string nullableemail string nullablephone string nullablemobile string nullableis_domestic boolean nullablebidders array (default: [])@type string (default: "EnabavkiBidder")id string nullablename string nullableregistration_number string nullabletax_number string nullableaddress string nullablesettlement string nullablemunicipality string nullablephone string nullablefax string nullableemail string nullablewebsite string nullableis_domestic boolean nullableis_foreign_without_owners boolean nullablevendor_type string nullablevendor_status integer nullablestatus integer nullablecategories array (default: [])@type string (default: "EnabavkiVendorCategory")name string nullablecategory_id string nullableamount number nullableamount_foreign number nullablecurrency string nullableis_subscribed boolean nullableis_entity_category boolean nullablebeneficial_owners array (default: [])@type string (default: "EnabavkiBeneficialOwner")id string nullablefull_name string nullablevendor_id string nullablebeneficial_owner_stage string nullable (one of: "before_disclosure_rules", "no_information", "consent_not_given", "has_beneficial_owner", "consent_given_no_information")beneficial_owners array (default: [])@type string (default: "EnabavkiBeneficialOwner")id string nullablefull_name string nullablevendor_id string nullableowned_vendors array (default: [])@type string (default: "EnabavkiOwnedVendor")vendor_id string nullablename string nullableregistration_number string nullablebeneficial_owner_stage string nullable (one of: "before_disclosure_rules", "no_information", "consent_not_given", "has_beneficial_owner", "consent_given_no_information")beneficial_owners array (default: [])@type string (default: "EnabavkiBeneficialOwner")id string nullablefull_name string nullablevendor_id string nullableis_cancellation boolean nullableis_due_to_crisis boolean nullablecrisis_type string nullablehas_transparency_notification boolean nullableis_divided boolean nullablelots array (default: [])@type string (default: "EnabavkiContractLot")id string nullablelot_id string nullablenumber integer nullablesubject string nullableoffer_count integer nullablehighest_offer_value number nullablelowest_offer_value number nullableitem_count integer nullableis_selected boolean nullablehas_items boolean nullablehas_auction boolean nullablehad_electronic_auction boolean nullablehad_final_price_bid boolean nullableis_reevaluated boolean nullablelot_submission object nullable@type string (default: "EnabavkiLotSubmission")segments_submission integer nullablesegments_submission_label string nullablemax_lots_per_bid integer nullablehas_max_lots_awarded_per_operator boolean nullablemax_lots_awarded_per_operator integer nullablecriteria array (default: [])@type string (default: "EnabavkiCriterion")name string nullablepoints number nullablepoints_distribution string nullableis_price boolean nullableis_framework_agreement boolean nullableframework_agreement object nullable@type string (default: "EnabavkiFrameworkAgreement")agreement_type string nullableagreement_sub_type string nullableagreement_type_label string nullableis_between_several_operators boolean nullableis_between_several_buyers boolean nullablemonths integer nullablevendors array (default: [])@type string (default: "EnabavkiOwnedVendor")vendor_id string nullablename string nullableregistration_number string nullablebeneficial_owner_stage string nullable (one of: "before_disclosure_rules", "no_information", "consent_not_given", "has_beneficial_owner", "consent_given_no_information")beneficial_owners array (default: [])dynamic_purchase object nullable@type string (default: "EnabavkiDynamicPurchase")is_dynamic_purchase_system boolean nullableduration_years integer nullableduration_months integer nullableduration_years integer nullableduration_months integer nullableduration_days integer nullablestarts_at integer nullableends_at integer nullableallows_alternative_offers boolean nullableuses_electronic_tools boolean nullableelectronic_tools_information string nullablehas_electronic_auction boolean nullablewithout_auction_reason string nullablehad_electronic_auction boolean nullablehad_final_price_bid boolean nullableagreement_count string nullableprocedure_information string nullableprocedure_description string nullablechange_reason string nullablehas_prior_notice boolean nullablehas_notice_changes boolean nullablehas_other_notices boolean nullablehas_announced_change boolean nullablehas_duration_changes boolean nullablehas_assigned_value_changes boolean nullablehas_assigned_value_without_vat_changes boolean nullablehas_vat_changes boolean nullablehas_contract_value_changes boolean nullableis_change_report boolean nullableis_terminated boolean nullableis_international boolean nullableis_consultant boolean nullableis_central_body_procurement boolean nullableis_group_procurement boolean nullableis_public_private_partnership boolean nullableis_estimated_value_changed boolean nullablehas_procurement_bureau_agreement boolean nullableis_published_by_group_member boolean nullableevidence_number string nullablelaw_version integer nullabledocuments array (default: [])@type string (default: "EnabavkiDocument")name string nullableurl string nullablecategory string nullabledocument_type string nullablefile_id string nullablecontract_id string nullablerelated_id string nullablecreated_at integer nullableis_generated boolean nullableawarded object nullable@type string (default: "EnabavkiAwardedTotals")estimated_value number nullablechanged_estimated_value number nullabletotal_assigned_value number nullableis_divided boolean nullablecontracts array (default: [])@type string (default: "EnabavkiAwardedContract")subject string nullablevendor_name string nullablebuyer_name string nullableprocedure_type string nullableprocedure_type_id string nullableprocedure_type_label string nullablenotice_type string nullablenotice_type_label string nullablelot_numbers string nullableestimated_value number nullablechanged_estimated_value number nullableassigned_value number nullablerealized_value number nullablehas_price_change boolean nullableis_terminated boolean nullablehas_prior_notice boolean nullableis_assigned_value_public boolean nullable422 — The id is not a GUID 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 contract notification with that id 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.