---
title: "Actualiza un paso (incl. result_content)"
method: PUT
path: "/tasks/{taskId}/steps/{stepId}"
tags: ["Tasks"]
---

# Actualiza un paso (incl. result_content)

`PUT /tasks/{taskId}/steps/{stepId}`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/tasks/{taskId}/steps/{stepId}`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Si el cuerpo trae `result_content`, la respuesta lo devuelve hidratado (las referencias con su `__hydrated` resuelto); si no, tal como está guardado.

## Path parameters

- `taskId` string, required
- `stepId` string, required

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` TaskStepResponseDto, required
    - `assigned_to_user_id` number, nullable: Persona que tiene que hacer el paso. Un paso no se asigna a un Met.
    - `created_at` string, nullable
    - `description` string, nullable
    - `id` string, required
    - `name` string, required
    - `result_content` TaskStepResultBlockDto[]: Resultado del paso como bloques de contenido. Viene hidratado (las referencias traen su `__hydrated`) cuando la respuesta sale de un endpoint que lo tocó.
      - `created_at` string, required
      - `data` object, required
      - `id` string, required
      - `type` 'text' | 'heading' | 'image' | 'task' | 'file' | 'collection_ref' | 'item_ref' | 'contact_ref' | 'page_ref' | 'web_fields_ref', required
      - `updated_at` string, required
    - `status` 'pending' | 'completed': Un paso está hecho o no lo está. Las tareas creadas antes del retiro del ejecutor pueden conservar `running`, `failed` o `cancelled`; nadie los escribe ya.
    - `step_order` number, required: Posición dentro del checklist, 1-based. El orden lo fija `POST /steps/reorder`.
    - `task_id` string, required
    - `updated_at` string, nullable

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `409`: La operación entra en conflicto con el estado actual o con un Idempotency-Key en uso. No reintentes con el mismo key y un body distinto.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/5d9ca294295c?raw)
