---
title: "Complete a Task"
method: POST
path: "/tasks/{id}/complete"
tags: ["Tasks"]
---

# Complete a Task

`POST /tasks/{id}/complete`

This endpoint doesn't consume Apollo credits. Learn more about [API pricing and credits](https://docs.apollo.io/docs/api-pricing).

<a href="https://knowledge.apollo.io/hc/en-us/articles/28705458602125-Tasks-Overview" target="_blank">Tasks</a> let you track, prioritize, and help you complete actions required for your outbound sales motion.<br><br>Use the Complete a Task endpoint to mark an existing task as `completed`.<br><br>To find task IDs, use the <a href="https://docs.apollo.io/reference/search-tasks">Search for Tasks endpoint</a> and identify the `id` value for the task you want to complete.<br><br>If the task no longer exists (for example, because the sequence it belonged to was paused and the task was removed), Apollo returns a `200` response with `deleted: true` on the task instead of an error.<br><br>To skip a task instead of completing it, use the <a href="https://docs.apollo.io/reference/skip-a-task">Skip a Task endpoint</a>.

## Path parameters

- `id` string, required

## Request body

- object
  - `note` string — An optional note to record when completing the task. <br><br>Example: `Left a voicemail, will follow up next week.`

## Response `200`

200

- object
  - `task` object
    - `emailer_campaign_id` unknown
    - `id` string
    - `user_id` string
    - `created_at` string
    - `completed_at` unknown
    - `note` unknown
    - `skipped_at` unknown
    - `due_at` string
    - `type` string
    - `priority` string
    - `status` string
    - `answered` unknown
    - `contact_id` unknown
    - `person_id` unknown
    - `account_id` unknown
    - `organization_id` unknown
    - `persona_ids` unknown[]
      - unknown
    - `subject` unknown
    - `created_from` unknown
    - `salesforce_type` unknown
    - `playbook_step_ids` unknown[]
      - unknown
    - `playbook_id` unknown
    - `needs_playbook_autoprospecting` unknown
    - `starred_by_user_ids` unknown[]
      - unknown
    - `salesforce_id` unknown
    - `hubspot_id` unknown
    - `opportunity_id` string
    - `title` string
    - `rule_config_id` unknown
    - `creator_id` string
    - `completed_by_user_id` unknown
    - `call_script` unknown
    - `relevant_fields` unknown
    - `pending_send` boolean
    - `ai_variables_status` unknown
    - `recommended` boolean
    - `recommendation_reasons` unknown[]
      - unknown
    - `phone_call` object — Details about the logged phone call for this task. Only present for `call` type tasks that have an associated call log.
      - `id` string
      - `answered` boolean
      - `created_at` string
      - `phone_call_outcome_id` unknown
      - `phone_call_purpose_id` unknown
      - `to_number` string — The number that was called. May be partially masked depending on your team's phone number redaction settings.
    - `account` object — The account associated with this task, when the task has one. Includes the same fields as the <a href="https://docs.apollo.io/reference/view-an-account">View an Account</a> endpoint's response, plus `linkedin_uid` and `account_queues`.
      - `id` string
      - `name` string
      - `website_url` string
      - `domain` string
      - `linkedin_url` string
      - `linkedin_uid` string
      - `phone` string
      - `phone_status` string
      - `owner_id` string
      - `account_stage_id` unknown
      - `organization_id` string
      - `industry` string
      - `estimated_num_employees` integer
      - `label_ids` unknown[]
        - unknown
      - `typed_custom_fields` object
      - `account_queues` unknown[] — Play/account-queue memberships for this account.
        - unknown
      - `created_at` string
    - `contact` object — The contact associated with this task, when the task has one. Includes the same fields as the <a href="https://docs.apollo.io/reference/view-a-contact">View a Contact</a> endpoint's response.
      - `id` string
      - `first_name` string
      - `last_name` string
      - `name` string
      - `email` string
      - `title` string
      - `organization_name` string
      - `account_id` string
      - `owner_id` string
      - `contact_stage_id` unknown
      - `linkedin_url` string
      - `phone_numbers` unknown[]
        - unknown
      - `contact_emails` unknown[] — All known email addresses for this contact, with per-address verification status.
        - unknown
      - `typed_custom_fields` object
      - `label_ids` unknown[]
        - unknown
      - `created_at` string
      - `updated_at` string
    - `opportunity` object
      - `id` string
      - `team_id` string
      - `owner_id` string
      - `salesforce_owner_id` unknown
      - `amount` integer
      - `closed_date` string
      - `account_id` string
      - `description` unknown
      - `is_closed` boolean
      - `is_won` unknown
      - `name` string
      - `stage_name` unknown
      - `opportunity_stage_id` string
      - `source` string
      - `salesforce_id` unknown
      - `created_at` string
      - `actual_close_date` unknown
      - `next_step` string
      - `next_step_date` unknown
      - `closed_lost_reason` unknown
      - `closed_won_reason` unknown
      - `forecast_category` string
      - `deal_probability` integer
      - `created_by_id` string
      - `current_solutions` unknown
      - `deal_source` unknown
      - `manually_updated_probability` unknown
      - `manually_updated_forecast` unknown
      - `crm_id` unknown
      - `crm_record_url` unknown
      - `crm_owner_id` unknown
      - `probability` unknown
      - `opportunity_pipeline_id` string
      - `stage_updated_at` string
      - `next_step_last_updated_at` string
      - `exchange_rate_code` string
      - `exchange_rate_value` integer
      - `amount_in_team_currency` integer
      - `forecasted_revenue` integer
      - `last_activity_date` string
      - `existence_level` string
      - `typed_custom_fields` object
        - `6095a711bd01d100a506d4da` string[]
        - `6095a711bd01d100a506d4dc` string[]
        - `66e4ba346fe95a073461e00e` string[]
      - `opportunity_rule_config_statuses` unknown[]
        - unknown
      - `opportunity_contact_roles` object[]
        - `id` string
        - `contact_id` string
        - `is_primary` boolean
        - `created_at` string
        - `updated_at` string
        - `role` object[]
          - `opportunity_contact_role_type_id` string
          - `crm_role_id` unknown
          - `is_primary` boolean
          - `crm_id` unknown
      - `currency` object
        - `name` string
        - `iso_code` string
        - `symbol` string
      - `account` object
        - `id` string
        - `domain` string
        - `name` string
        - `team_id` string
        - `organization_id` string
        - `account_stage_id` string
        - `source` string
        - `original_source` string
        - `creator_id` unknown
        - `owner_id` unknown
        - `created_at` string
        - `phone` unknown
        - `phone_status` string
        - `hubspot_id` unknown
        - `salesforce_id` unknown
        - `crm_owner_id` unknown
        - `parent_account_id` unknown
        - `linkedin_url` unknown
        - `account_playbook_statuses` unknown[]
          - unknown
        - `account_rule_config_statuses` object[]
          - `_id` string
          - `created_at` unknown
          - `rule_action_config_id` string
          - `rule_config_id` string
          - `status_cd` string
          - `updated_at` unknown
          - `id` string
          - `key` string
        - `existence_level` string
        - `label_ids` string[]
        - `typed_custom_fields` object
        - `custom_field_errors` unknown
        - `modality` string
        - `source_display_name` string
        - `crm_record_url` unknown
        - `contact_emailer_campaign_ids` unknown[]
          - unknown
        - `contact_campaign_status_tally` object
        - `num_contacts` integer
        - `last_activity_date` unknown
    - `relevant_field_values` object — Values for any team-defined relevant fields configured on this task's playbook step, keyed by field name.
  - `contact` object — The same contact object as `task.contact`, duplicated at the top level of the response.
    - `id` string
    - `first_name` string
    - `last_name` string
    - `name` string
    - `email` string
    - `title` string
    - `organization_name` string
    - `account_id` string
    - `owner_id` string
    - `contact_stage_id` unknown
    - `linkedin_url` string
    - `phone_numbers` unknown[]
      - unknown
    - `contact_emails` unknown[] — All known email addresses for this contact, with per-address verification status.
      - unknown
    - `typed_custom_fields` object
    - `label_ids` unknown[]
      - unknown
    - `created_at` string
    - `updated_at` string

## Other responses

- `401` — 401
- `403` — 403
- `422` — 422
- `429` — 429

---

[API](https://skmtc.net/apollo/apis/apollo-rest-api.md) · [All operations](https://skmtc.net/apollo/apis/apollo-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apollo/apollo-rest-api/versions/c715a05fa6e2/schema)
