Outreach Task API

## Task Relationships ## Task Resource Metadata | **METADATA NAME**| **DESCRIPTION** | **QUERY PARAM** | | --- | --- | --- | | canWrite | A boolean value indicating whether the current API user has write access to this resource. | provideAuthorizationMeta | | canDelete | A boolean value indicating whether the current API user has delete access to this resource. | provideAuthorizationMeta | | dataConnections | The set of connections a given Task has to external sources. | provideDataConnections | ## ⌵ Task Actions

Business capability
Sales Operations Management BC-410.50

Operations 14

GET /tasks Get a Collection of Tasks
POST /tasks Create a New Task
DELETE /tasks/{id} Delete an Existing Task by ID
GET /tasks/{id} Get a Task by ID
PATCH /tasks/{id} Update a Task
POST /tasks/{id}/actions/advance Advance
POST /tasks/{id}/actions/deliver Deliver
POST /tasks/{id}/actions/logMeetInPerson Log Meet In Person
POST /tasks/{id}/actions/markComplete Mark Complete
POST /tasks/{id}/actions/reassignOwner Reassign Owner
POST /tasks/{id}/actions/reschedule Reschedule
POST /tasks/{id}/actions/snooze Snooze
POST /tasks/{id}/actions/updateNote Update Note
POST /tasks/{id}/actions/updateOpportunityAssociation Update Opportunity Association

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/outreach-task-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

outreach-task-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "Outreach Public API is documented here, at the Development Portal, expand the link [Outreach REST API Reference](https://developers.outreach.io/api/reference/overview/) in the left navigation bar to see human-readable description of endpoints and data types.\n\nHowever, if you would like to get machine-readable schema definition there are two other options available:\n\n* [https://api.outreach.io/api/v2/schema.json](https://api.outreach.io/api/v2/schema.json) contains the API definition in  the [json-schema format](https://json-schema.org/) and if you provide `Authorization` header with valid token (same as actual API call) all the custom objects defined for the organization will be included as well.\n\n* [https://api.outreach.io/api/v2/schema/openapi.json](https://api.outreach.io/api/v2/schema/openapi.json) contains the API definition in the [OpenAPI / Swagger format](https://swagger.io/specification/). Unfortunately custom objects are not included in this file.\n\nAdditionally to these standard definitions Outreach provides detailed list of validations applied to custom fields. Custom objects will be included later, the work is in progress.\n\n* [https://api.outreach.io/api/v2/types](https://api.outreach.io/api/v2/types) endpoint returns a list of all `customXXX` fields on standard objects with their type, label, options or other constraints defined by the administrator. This endpoint requires valid token in the `Authorization` header. The format of the definitions is described below.\n\n### Custom field types\n\n```json\n{\n  \"data\": [\n    {\n      \"type\": \"<object_name>\",\n      \"meta\": {\n        \"validations\": {\n          \"<field_name>\": {\n            \"type\": \"<validation_type>\",\n            \"required\": true / false,\n            \"label\": \"...\",\n            \"definition\": null / [\"...\", ...] / \"...\"\n          },\n          ...\n          }\n        }\n      }\n    },\n    ...\n  ]\n}\n```\n\n#### Objects with custom fields\n\n* Account\n* Opportunity\n* OpportunityLineItem\n* OpportunityProspectRole\n* Product\n* Prospect\n* Purchase\n\n#### Validation types\n\n* `boolean` - true or false\n* `currency` - monetary value, `definition` contains an abbreviation of the currency like `\"USD\"` or `\"EUR\"`\n* `date` - a date stored in ISO8601 format: YYYY-MM-DD.\n* `date_time` a date and time stored as YYYY-MM-DDThh:mm:ss.\n* `inclusion` - a pick list with predefined set of options available in `definition` attribute as a list of strings\n* multi_inclusion - a pick list with several options selectable at once with predefined set of options available in `definition` attribute as a list of strings\n* `numerical`\n* `percentage`\n* `phone_number`\n* `string`\n* `url`\n"
  title: Outreach REST API Reference Task API
  version: ''
servers:
- url: https://api.outreach.io/api/v2
security:
- bearerAuth: []
tags:
- description: '<SchemaDefinition schemaRef="#/components/schemas/task" />


    ## Task Relationships


    <SchemaDefinition schemaRef="#/components/schemas/taskRelationships" />


    ## Task Resource Metadata


    | **METADATA NAME**| **DESCRIPTION** | **QUERY PARAM** |

    | --- | --- | --- |

    |  canWrite | A boolean value indicating whether the current API user has write access to this resource. | provideAuthorizationMeta |

    |  canDelete | A boolean value indicating whether the current API user has delete access to this resource. | provideAuthorizationMeta |

    |  dataConnections | The set of connections a given Task has to external sources. | provideDataConnections |



    ## ⌵ Task Actions


    '
  name: Task
  x-internal: false
paths:
  /tasks:
    get:
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/taskResponse'
                    type: array
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Get a Collection of Tasks
      tags:
      - Task
      x-internal: false
    post:
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              properties:
                data:
                  properties:
                    attributes:
                      $ref: '#/components/schemas/task'
                    relationships:
                      $ref: '#/components/schemas/taskRelationships'
                    type:
                      type: string
              type: object
        required: true
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: Created
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Create a New Task
      tags:
      - Task
      x-internal: false
  /tasks/{id}:
    delete:
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          content:
            application/vnd.api+json: {}
          description: Deleted
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Delete an Existing Task by ID
      tags:
      - Task
      x-internal: false
    get:
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '404':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: Not Found
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Get a Task by ID
      tags:
      - Task
      x-internal: false
    patch:
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              properties:
                data:
                  properties:
                    attributes:
                      $ref: '#/components/schemas/task'
                    id:
                      type: integer
                    relationships:
                      $ref: '#/components/schemas/taskRelationships'
                    type:
                      type: string
                  required:
                  - type
                  - id
              type: object
        required: true
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    properties:
                      attributes:
                        $ref: '#/components/schemas/task'
                      id:
                        type: integer
                      relationships:
                        $ref: '#/components/schemas/taskRelationships'
                      type:
                        type: string
                    required:
                    - type
                    - id
                type: object
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Update a Task
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/advance:
    post:
      description: "### Member Action \n\nAdvances the sequence state associated with the task to the next step in the sequence. Note that only tasks with task_type of 'sequence_step_call', 'sequence_step_email', 'sequence_step_linkedin_interact_with_post', 'sequence_step_linkedin_other', 'sequence_step_linkedin_send_connection_request', 'sequence_step_linkedin_send_message', 'sequence_step_linkedin_view_profile', 'sequence_step_sms' or 'sequence_step_task' can be advanced."
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Advance
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/deliver:
    post:
      description: "### Member Action \n\nSchedules the mailing associated with the task for delivery, if possible."
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Deliver
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/logMeetInPerson:
    post:
      description: "### Member Action \n\nMarks the meet in-person task as complete with specified task disposition and purpose."
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            completionNote:
              description: A note to attach to the associated prospect, if there is one.
            taskDispositionId:
              description: Id of the task disposition
            taskPurposeId:
              description: Id of the task purpose, if there is one.
          required:
          - taskDispositionId
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Log Meet In Person
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/markComplete:
    post:
      description: "### Member Action \n\nMarks the task as complete."
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            completionAction:
              description: 'For sequence step tasks, this specifies how to finish the sequence state. Possible values are: ''finish_no_reply'' to finish the sequence, ''finish_replied'' to set the sequence as replied, and anything else (including leaving it blank) will advance the sequence state.'
            completionNote:
              description: A note to attach to the associated prospect, if there is one.
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Mark Complete
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/reassignOwner:
    post:
      description: "### Member Action \n\nReassigns the owner of a task"
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            ownerId:
              description: The id of the new owner of the task
          required:
          - ownerId
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Reassign Owner
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/reschedule:
    post:
      description: "### Member Action \n\nReschedules a task by setting a new task due time."
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            dueAt:
              description: The new time for the task to be due.
          required:
          - dueAt
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Reschedule
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/snooze:
    post:
      description: "### Member Action \n\nSets the 'dueAt' value to be a day later than either now or the existing 'dueAt' value, whichever is later."
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            dueAt:
              description: The new time for the task to be due.
            markAsUrgent:
              description: Whether to mark the task as urgent or not.
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Snooze
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/updateNote:
    post:
      description: "### Member Action \n\nUpdates note of a task"
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            note:
              description: The note to set on the task.
          required:
          - note
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Update Note
      tags:
      - Task
      x-internal: false
  /tasks/{id}/actions/updateOpportunityAssociation:
    post:
      description: "### Member Action \n\nUpdates opportunity association of a task"
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - explode: true
        in: query
        name: actionParams
        schema:
          properties:
            opportunityAssociation:
              description: The opportunity to associate with the task.
          required:
          - opportunityAssociation
        style: deepObject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/taskResponse'
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Update Opportunity Association
      tags:
      - Task
      x-internal: false
components:
  schemas:
    taskResponse:
      properties:
        attributes:
          $ref: '#/components/schemas/task'
        id:
          type: integer
        relationships:
          $ref: '#/components/schemas/taskRelationships'
        type:
          type: string
      type: object
      x-internal: false
    taskRelationships:
      properties:
        account:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated account. You can use only the attribute id to filter tasks by account (e.g. filter[account][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - account
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        call:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated call, if a call task. You can use only the attribute id to filter tasks by call (e.g. filter[call][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - call
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        calls:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated calls, if a call task. You can use only the attribute id to filter tasks by calls (e.g. filter[calls][id]=X).'
          properties:
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        completer:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The completer of this task. You can use only the attribute id to filter tasks by completer (e.g. filter[completer][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        creator:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The creator of this task. Relationship creator cannot be used as a filter.'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - sequenceStep
                  - stage
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        defaultPluginMapping:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            '
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - pluginMapping
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        mailing:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated mailing, if a mailing task. You can use only the attribute id to filter tasks by mailing (e.g. filter[mailing][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - mailing
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        mailings:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated mailings, if a mailing task. You can use only the attribute id to filter tasks by mailings (e.g. filter[mailings][id]=X).'
          properties:
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        opportunity:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated opportunity. You can use only the attribute id to filter tasks by opportunity (e.g. filter[opportunity][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - opportunity
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        owner:
          description: The owner of this task. You can use attributes id, email and firstName to filter tasks by owner (e.g. filter[owner][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        prospect:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The associated prospect. You can use attributes id, byPersonaId, byStageId, createdAt, firstName, tags, title and updatedAt to filter tasks by prospect (e.g. filter[prospect][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - prospect
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        prospectAccount:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The account of the associated prospect.'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - account
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        prospectContacts:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The contacts of the associated prospect.'
          properties:
            data:
              items:
                properties:
                  id:
                    type: integer
                  type:
                    enum:
                    - emailAddress
                    type: string
                type: object
              type: array
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        prospectOwner:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The owner of the associated prospect.'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        prospectPhoneNumbers:
          description: '<i

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outreach/refs/heads/main/openapi/outreach-task-api-openapi.yml