---
title: "Fetch one task"
method: GET
path: "/api/v1/tasks/{id}"
tags: ["Tasks"]
---

# Fetch one task

`GET /api/v1/tasks/{id}`

## Request

- Base URL: `https://www.zen-mode.io`
- URL: `https://www.zen-mode.io/api/v1/tasks/{id}`
- Auth: HTTP bearer

Includes `max_retries`, which the list endpoint omits.

## Path parameters

- `id` string, required

## Response `200`

The task.

- object
  - `task` Task
    - `id` string: Task id, e.g. `task_mb3k2x1c_q8z0v7ke`.
    - `user_id` string
    - `linkedin_account_id` string, nullable: Your own label for the LinkedIn account, stored and returned as-is. It is not a ZenMode account id and does not choose which account runs the task.
    - `action_type` 'connect' | 'message' | 'follow' | 'view_profile' | 'withdraw_connection'
    - `payload` object
    - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'cancelled'
    - `result` object, nullable: What the desktop app reported when it ran the task. On a free or unconfirmed LinkedIn plan the connection request is sent without a note, and the task result carries `note_dropped: true` with `note_dropped_reason: "free_or_unconfirmed_plan"`. `note_dropped` is `false` when the note went out or none was requested, and absent on results from desktop versions that do not report it.
      - `note_dropped` boolean: `connect` tasks only. `true` when the connection request was sent without the note in `payload.message` because the LinkedIn plan is free or not confirmed as paid. `false` when the note went out or no note was requested. Absent when the desktop app that ran the task does not report it.
      - `note_sent` boolean: `connect` tasks only. `true` only when the note was typed into LinkedIn's note box and the request went out with it. `false` when the request went out without a note, for any reason, including a dropped note (`note_dropped: true`) and a task with no `payload.message`. Absent when the desktop app that ran the task does not report it.
      - `note_dropped_reason` 'free_or_unconfirmed_plan': Present only when `note_dropped` is `true`. `free_or_unconfirmed_plan`: the account is on a free LinkedIn plan, or ZenMode has not confirmed a paid plan (Premium or Sales Navigator).
    - `priority` integer
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `retry_count` integer

## Other responses

- `401`: Missing, malformed or invalid Authorization header, or an unknown API key.
- `403`: The key is valid but the account's plan does not include API access.
- `404`: Task not found for this account.
- `429`: Rate limit exceeded (100 requests/minute). Carries `Retry-After`.

---

[API](https://skmtc.dev/zen-mode/apis/zenmode-api.md) · [All operations](https://skmtc.dev/zen-mode/apis/zenmode-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zen-mode/apis/zenmode-api/revisions/2769372f1e3f?raw)
