---
title: "SECOP Contract by ID"
method: POST
path: "/co/secop/contract/v1"
tags: ["Colombia", "SECOP"]
---

# SECOP Contract by ID

`POST /co/secop/contract/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/secop/contract/v1`
- Auth: HTTP bearer

Resolve one electronic contract (SECOP II) by its contract id and return the full contract record plus its satellite history: registered additions/modifications, insurance policies (garantías) with insurer and validity, and the delivery plan with planned vs actual progress. `found: false` when no contract matches the id.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `contract_id` string, required: SECOP electronic contract id, e.g. "CO1.PCCNTR.6794799".

## Response `200`

Successful response

- SecopContractLookupResponse
  - `data` SecopContractLookupData, required
    - `found` boolean, required: Whether a contract matched the id. When false, `contract` is null.
    - `contract_id` string, required
    - `contract` object, nullable, required
      - `contract_id` string, nullable, required
      - `reference` string, nullable, required
      - `entity` string, nullable, required
      - `entity_nit` string, nullable, required
      - `centralized_entity` string, nullable, required: "Centralizada" / "Descentralizada" (not a boolean upstream).
      - `provider` string, nullable, required
      - `provider_document` string, nullable, required
      - `provider_document_type` string, nullable, required
      - `provider_code` string, nullable, required
      - `is_sme` boolean, nullable, required
      - `is_group` boolean, nullable, required: True when the provider is a plural structure (consortium / unión temporal).
      - `legal_rep_name` string, nullable, required
      - `legal_rep_document_type` string, nullable, required
      - `legal_rep_document` string, nullable, required
      - `status` string, nullable, required
      - `contract_type` string, nullable, required
      - `modality` string, nullable, required: How the contract was procured (open tender, direct contracting, ...).
      - `modality_justification` string, nullable, required
      - `unspsc_code` string, nullable, required
      - `object` string, nullable, required
      - `delivery_conditions` string, nullable, required
      - `value` number, nullable, required
      - `invoiced_value` number, nullable, required
      - `paid_value` number, nullable, required
      - `pending_execution_value` number, nullable, required
      - `pending_payment_value` number, nullable, required
      - `advance_payment_enabled` boolean, nullable, required
      - `advance_payment_value` number, nullable, required
      - `amortized_value` number, nullable, required
      - `pending_amortization_value` number, nullable, required
      - `sign_date` string, nullable, required
      - `start_date` string, nullable, required
      - `end_date` string, nullable, required
      - `added_days` number, nullable, required
      - `duration` string, nullable, required
      - `can_be_extended` boolean, nullable, required
      - `extension_notice_date` string, nullable, required: When the entity gave notice of an extension (prórroga).
      - `requires_liquidation` boolean, nullable, required: Whether the contract carries a liquidation stage at its end.
      - `liquidation_start_date` string, nullable, required
      - `liquidation_end_date` string, nullable, required
      - `has_environmental_obligation` boolean, nullable, required
      - `has_post_consumption_obligations` boolean, nullable, required
      - `has_reversion` boolean, nullable, required
      - `location` string, nullable, required
      - `supervisor` string, nullable, required
      - `expense_orderer` string, nullable, required
      - `funding_origin` string, nullable, required
      - `expense_destination` string, nullable, required: "Inversión" or "Funcionamiento".
      - `sector` string, nullable, required
      - `branch` string, nullable, required
      - `updated_date` string, nullable, required
      - `url` string, nullable, required
    - `additions` object[], required
      - `addition_id` string, nullable, required
      - `type` string, nullable, required
      - `description` string, nullable, required
      - `registered_date` string, nullable, required
    - `additions_capped` boolean, required
    - `guarantees` object[], required
      - `insurer` string, nullable, required
      - `policy_number` string, nullable, required
      - `insured` string, nullable, required
      - `beneficiary` string, nullable, required
      - `policy_created_date` string, nullable, required
      - `policy_sent_date` string, nullable, required
      - `policy_end_date` string, nullable, required
      - `policy_side` string, nullable, required
      - `status` string, nullable, required
      - `policy_type` string, nullable, required
      - `policy_subtype` string, nullable, required
      - `value` number, nullable, required
      - `created_date` string, nullable, required
    - `guarantees_capped` boolean, required
    - `execution_items` object[], required
      - `execution_type` string, nullable, required
      - `plan_name` string, nullable, required
      - `expected_delivery_date` string, nullable, required
      - `expected_progress_percent` number, nullable, required
      - `actual_delivery_date` string, nullable, required
      - `actual_progress_percent` number, nullable, required
      - `contract_status` string, nullable, required
      - `item_reference` string, nullable, required
      - `description` string, nullable, required
      - `unit` string, nullable, required
      - `awarded_quantity` number, nullable, required
      - `planned_quantity` number, nullable, required
      - `received_quantity` number, nullable, required
      - `pending_quantity` number, nullable, required
      - `created_date` string, nullable, required
    - `execution_items_capped` boolean, required

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
