# Solicitar adjuntos de Compra Ágil

> Encola los adjuntos públicos de una Compra Ágil.



{/* AUTO-GENERATED by @emisso/codegen. DO NOT EDIT. */}

|                     |                                                                     |
| ------------------- | ------------------------------------------------------------------- |
| **Tool ID**         | `mercadopublico.compra_agil.solicitar`                              |
| **Nombre MCP**      | `mercadopublico__compra_agil__solicitar`                            |
| **Conector**        | `mercadopublico`                                                    |
| **Plano**           | `action`                                                            |
| **Scope (permiso)** | `mercadopublico:write`                                              |
| **Auth**            | `none`                                                              |
| **Versión**         | `1`                                                                 |
| **Sensible**        | no                                                                  |
| **Deprecado**       | no                                                                  |
| **Comportamiento**  | readOnly=false, destructive=false, idempotent=true, openWorld=false |

> **Requiere conexión.** Indica cuál en cada llamada: header `X-Connect-Connection` en REST y campo `connectionId` en el `execute_write` de MCP. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale de [`conexiones.estado.consultar`](/docs/referencia/conexiones/estado-consultar).

## Qué hace [#qué-hace]

Lee su listado en Mercado Público y descarga los PDF, Word, Excel e imágenes PNG/JPEG, sin clasificar su contenido. Devuelve el estado del trabajo; consulta luego mercadopublico.compra\_agil.consultar. Reutiliza solicitudes en curso y resultados completos de las últimas 24 horas; un resultado parcial se puede volver a solicitar a los 15 minutos para continuar lo pendiente sin volver a bajar lo ya conservado.

## Entrada [#entrada]

| Campo    | Tipo                                  | Requerido | Descripción                                                                      |
| -------- | ------------------------------------- | --------- | -------------------------------------------------------------------------------- |
| `codigo` | string `^\d{1,10}-\d{1,10}-COT\d{2}$` | sí        | Código público de la Compra Ágil, por ejemplo 1057539-228-COT26. No acepta URLs. |

<details>
  <summary>
    JSON Schema de entrada
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "codigo": {
        "type": "string",
        "maxLength": 40,
        "pattern": "^\\d{1,10}-\\d{1,10}-COT\\d{2}$",
        "description": "Código público de la Compra Ágil, por ejemplo 1057539-228-COT26. No acepta URLs."
      }
    },
    "required": [
      "codigo"
    ]
  }
  ```
</details>

## Salida [#salida]

| Campo                 | Tipo                                                                                            | Requerido | Descripción                                               |                                                                                                                                                    |
| --------------------- | ----------------------------------------------------------------------------------------------- | --------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `codigo`              | string                                                                                          | sí        | Código o ID público consultado, canonizado en mayúsculas. |                                                                                                                                                    |
| `estado`              | `"no_solicitada"` · `"pendiente"` · `"procesando"` · `"disponible"` · `"parcial"` · `"fallido"` | sí        | Estado de la descarga solicitada a Connect.               |                                                                                                                                                    |
| `solicitadoEn`        | string                                                                                          | null      | sí                                                        | Instante ISO 8601 de la última solicitud, o null si no existe.                                                                                     |
| `finalizadoEn`        | string                                                                                          | null      | sí                                                        | Instante ISO 8601 en que terminó la descarga, si corresponde.                                                                                      |
| `errorCodigo`         | string                                                                                          | null      | sí                                                        | Código acotado de fallo, sin datos de sesión ni URLs del portal.                                                                                   |
| `consultarEnSegundos` | entero                                                                                          | null      | sí                                                        | Mientras la descarga está pendiente o en proceso, cuántos segundos esperar antes de consultar de nuevo. null cuando ya terminó o no hay solicitud. |

<details>
  <summary>
    JSON Schema de salida
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "codigo": {
        "type": "string",
        "description": "Código o ID público consultado, canonizado en mayúsculas."
      },
      "estado": {
        "type": "string",
        "enum": [
          "no_solicitada",
          "pendiente",
          "procesando",
          "disponible",
          "parcial",
          "fallido"
        ],
        "description": "Estado de la descarga solicitada a Connect."
      },
      "solicitadoEn": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "Instante ISO 8601 de la última solicitud, o null si no existe."
      },
      "finalizadoEn": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "Instante ISO 8601 en que terminó la descarga, si corresponde."
      },
      "errorCodigo": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "Código acotado de fallo, sin datos de sesión ni URLs del portal."
      },
      "consultarEnSegundos": {
        "anyOf": [
          {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          {
            "type": "null"
          }
        ],
        "description": "Mientras la descarga está pendiente o en proceso, cuántos segundos esperar antes de consultar de nuevo. null cuando ya terminó o no hay solicitud."
      }
    },
    "required": [
      "codigo",
      "estado",
      "solicitadoEn",
      "finalizadoEn",
      "errorCodigo",
      "consultarEnSegundos"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Errores de esta tool [#errores-de-esta-tool]

| Código                 | HTTP | Reintentable | Qué hacer                                                                                                           |
| ---------------------- | ---- | ------------ | ------------------------------------------------------------------------------------------------------------------- |
| `connection_disabled`  | 403  | no           | Reactívala en /connections o usa otra conexión del mismo sistema.                                                   |
| `connection_not_found` | 404  | no           | Usa uno de los connectionId que lista el error, o revisa la conexión en /connections. No hace falta reactivar nada. |

Toda llamada puede devolver además los códigos transversales (`validation_error`, `unauthorized`, `scope_not_granted`, `rate_limited`, entre otros): el detalle vive en el [catálogo de errores](/docs/referencia/errores).
