> ## Documentation Index
> Fetch the complete documentation index at: https://docs.herodotus.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Task State Transitions

> Retrieve the complete state transition history for a specific HDP task

# Get Task State Transitions

Retrieves the complete state transition history for a specific HDP task, showing all status changes over time. This endpoint does not require authentication.

## Endpoint

```
GET /tasks/{task_uuid}/state_transitions
```

## Path Parameters

| Parameter  | Type   | Description                              |
| ---------- | ------ | ---------------------------------------- |
| task\_uuid | string | The unique identifier (UUID) of the task |

## Example Request

```bash theme={null}
curl -X GET https://staging.hdp.api.herodotus.cloud/tasks/01JPJ03YJT1A93D6NF56G4GVEQ/state_transitions \
  -H "Content-Type: application/json"
```

## Response

### Success Response (200 OK)

```json theme={null}
{
  "taskId": "01JPJ03YJT1A93D6NF56G4GVEQ",
  "state_transitions": [
    {
      "id": "01JPJ03YJT1A93D6NF56G4GVE1",
      "task_id": "01JPJ03YJT1A93D6NF56G4GVEQ",
      "from_status": null,
      "to_status": "Received",
      "created_at": "2024-03-17T10:24:00Z"
    },
    {
      "id": "01JPJ03YJT1A93D6NF56G4GVE2",
      "task_id": "01JPJ03YJT1A93D6NF56G4GVEQ",
      "from_status": "Received",
      "to_status": "DryRunStarted",
      "created_at": "2024-03-17T10:24:05Z"
    },
    {
      "id": "01JPJ03YJT1A93D6NF56G4GVE3",
      "task_id": "01JPJ03YJT1A93D6NF56G4GVEQ",
      "from_status": "DryRunStarted",
      "to_status": "DryRunCompleted",
      "created_at": "2024-03-17T10:24:10Z"
    }
  ]
}
```

### Not Found Response (404)

```json theme={null}
{
  "error": "Task not found",
  "taskId": "01JPJ03YJT1A93D6NF56G4GVEQ"
}
```

### Response Fields

| Field              | Type   | Description                                                |
| ------------------ | ------ | ---------------------------------------------------------- |
| taskId             | string | The unique identifier of the task                          |
| state\_transitions | array  | Array of state transition objects, ordered chronologically |

### State Transition Object Fields

| Field        | Type           | Description                                        |
| ------------ | -------------- | -------------------------------------------------- |
| id           | string         | Unique identifier of the state transition          |
| task\_id     | string         | The task UUID this transition belongs to           |
| from\_status | string \| null | Previous status (null for initial state)           |
| to\_status   | string         | New status after the transition                    |
| created\_at  | string         | ISO 8601 timestamp of when the transition occurred |

## Notes

* No authentication is required for this endpoint
* State transitions are ordered chronologically (oldest first)
* The first transition will have `from_status` as `null` (initial state)
* Useful for debugging and understanding task execution flow
* Each status change in the task lifecycle is recorded as a separate transition
