## List task turns `client.Tasks.ListTurns(ctx, taskID) (*TaskTurnList, error)` **get** `/api/tasks/{taskId}/turns` List the individual turns for a task in execution order. ### Parameters - `taskID string` ### Returns - `type TaskTurnList struct{…}` - `Items []Turn` - `ID string` - `CompletedAt string` - `Credits int64` - `DurationMs int64` - `Files []TurnFile` Files published by this turn. - `Filename string` - `MediaType string` - `URL string` - `Size int64` - `Input string` - `InputTokens int64` - `OutputText string` - `OutputTokens int64` - `Role string` - `Seq int64` - `StartedAt string` - `Status string` - `StructuredOutput map[string, any]` Structured JSON payload when the worker is configured with an output schema. `null` otherwise. - `TaskID string` - `TaskID string` ### Example ```go package main import ( "context" "fmt" "github.com/ramensoft/handinger-go" "github.com/ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) taskTurnList, err := client.Tasks.ListTurns(context.TODO(), "tsk_01HZY31W2SZJ8MJ2FQTR3M1K9D") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", taskTurnList.Items) } ``` #### Response ```json { "items": [ { "id": "trn_4Hq-9Vk2pLm8Rx", "completedAt": "2026-05-11T09:14:48.000Z", "credits": 42, "durationMs": 25812, "files": [ { "filename": "filename", "mediaType": "mediaType", "url": "https://example.com", "size": 0 } ], "input": "What's the weather today in Barcelona?", "inputTokens": 1842, "outputText": "It's currently 21°C and sunny in Barcelona with a light breeze from the south-east.", "outputTokens": 312, "role": "assistant", "seq": 0, "startedAt": "2026-05-11T09:14:22.000Z", "status": "completed", "structuredOutput": { "temperatureCelsius": "bar", "conditions": "bar" }, "taskId": "tsk_2Z-YWz3hFq6VlW" } ], "taskId": "tsk_2Z-YWz3hFq6VlW" } ```