Pipedrive Activities API

Activities are appointments/tasks/events on a calendar that can be associated with a deal, a lead, a person and an organization. Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular user. Note that activities can also be created without a specific date/time.

Documentation

📖
Documentation
https://developers.pipedrive.com/
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Deals
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Leads
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Persons
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Organizations
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Activities
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Pipelines
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Stages
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Products
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Notes
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Files
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Mailbox
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/CallLogs
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Users
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Roles
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Filters
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Goals
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Subscriptions
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Projects
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/DealFields
📖
APIReference
https://developers.pipedrive.com/docs/api/v1/Webhooks
📖
Documentation
https://pipedrive.readme.io/docs/guide-for-webhooks-v2
📖
Documentation
https://developers.pipedrive.com/docs/api/v1/oauth2

Specifications

Other Resources

OpenAPI Specification

pipedrive-activities-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Pipedrive API v1 Activities API
  version: 1.0.0
  description: 'Activities are appointments/tasks/events on a calendar that can be associated with a deal, a lead, a person and an organization. Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular user. Note that activities can also be created without a specific date/time.

    '
servers:
- url: https://api.pipedrive.com/v1
tags:
- name: Activities
  description: 'Activities are appointments/tasks/events on a calendar that can be associated with a deal, a lead, a person and an organization. Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular user. Note that activities can also be created without a specific date/time.

    '
paths:
  /activities:
    get:
      summary: Get all activities
      description: Returns data about all activities.
      x-token-cost: 10
      operationId: getActivities
      tags:
      - Activities
      security:
      - api_key: []
      - oauth2:
        - activities:read
        - activities:full
      parameters:
      - in: query
        name: filter_id
        schema:
          type: integer
        description: If supplied, only activities matching the specified filter are returned
      - in: query
        name: ids
        description: Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response.
        schema:
          type: string
      - in: query
        name: owner_id
        schema:
          type: integer
        description: If supplied, only activities owned by the specified user are returned. If filter_id is provided, this is ignored.
      - in: query
        name: deal_id
        schema:
          type: integer
        description: If supplied, only activities linked to the specified deal are returned. If filter_id is provided, this is ignored.
      - in: query
        name: lead_id
        schema:
          type: string
        description: If supplied, only activities linked to the specified lead are returned. If filter_id is provided, this is ignored.
      - in: query
        name: person_id
        schema:
          type: integer
        description: If supplied, only activities whose primary participant is the given person are returned. If filter_id is provided, this is ignored.
      - in: query
        name: org_id
        schema:
          type: integer
        description: If supplied, only activities linked to the specified organization are returned. If filter_id is provided, this is ignored.
      - in: query
        name: done
        schema:
          type: boolean
        description: If supplied, only activities with specified 'done' flag value are returned
      - in: query
        name: updated_since
        schema:
          type: string
        description: If set, only activities with an `update_time` later than or equal to this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z.
      - in: query
        name: updated_until
        schema:
          type: string
        description: If set, only activities with an `update_time` earlier than this time are returned. In RFC3339 format, e.g. 2025-01-01T10:20:00Z.
      - in: query
        name: sort_by
        description: 'The field to sort by. Supported fields: `id`, `update_time`, `add_time`, `due_date`.'
        schema:
          type: string
          default: id
          enum:
          - id
          - update_time
          - add_time
          - due_date
      - in: query
        name: sort_direction
        description: 'The sorting direction. Supported values: `asc`, `desc`.'
        schema:
          type: string
          default: asc
          enum:
          - asc
          - desc
      - in: query
        name: include_fields
        description: Optional comma separated string array of additional fields to include
        schema:
          type: string
          enum:
          - attendees
      - in: query
        name: limit
        description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.
        schema:
          type: integer
          example: 100
      - in: query
        name: cursor
        required: false
        schema:
          type: string
        description: For pagination, the marker (an opaque string value) representing the first item on the next page
      responses:
        '200':
          description: Get all activities
          content:
            application/json:
              schema:
                type: object
                title: GetActivitiesResponse
                allOf:
                - title: baseResponse
                  type: object
                  properties:
                    success:
                      type: boolean
                      description: If the response is successful or not
                - type: object
                  properties:
                    data:
                      type: array
                      description: Activities array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: The ID of the activity
                          subject:
                            type: string
                            description: The subject of the activity
                          type:
                            type: string
                            description: The type of the activity
                          owner_id:
                            type: integer
                            description: The ID of the user who owns the activity
                          creator_user_id:
                            type: integer
                            description: The ID of the user who created the activity
                          is_deleted:
                            type: boolean
                            description: Whether the activity is deleted or not
                          add_time:
                            type: string
                            description: The creation date and time of the activity
                          update_time:
                            type: string
                            description: The last updated date and time of the activity
                          deal_id:
                            type: integer
                            description: The ID of the deal linked to the activity
                          lead_id:
                            type: string
                            description: The ID of the lead linked to the activity
                          person_id:
                            type: integer
                            description: The ID of the person linked to the activity
                          org_id:
                            type: integer
                            description: The ID of the organization linked to the activity
                          project_id:
                            type: integer
                            description: The ID of the project linked to the activity
                          due_date:
                            type: string
                            description: The due date of the activity
                          due_time:
                            type: string
                            description: The due time of the activity
                          duration:
                            type: string
                            description: The duration of the activity
                          busy:
                            type: boolean
                            description: Whether the activity marks the assignee as busy or not in their calendar
                          done:
                            type: boolean
                            description: Whether the activity is marked as done or not
                          marked_as_done_time:
                            type: string
                            description: The date and time when the activity was marked as done
                          location:
                            type: object
                            description: Location of the activity
                            properties:
                              value:
                                type: string
                                description: The full address of the activity
                              country:
                                type: string
                                description: Country of the activity
                              admin_area_level_1:
                                type: string
                                description: Admin area level 1 (e.g. state) of the activity
                              admin_area_level_2:
                                type: string
                                description: Admin area level 2 (e.g. county) of the activity
                              locality:
                                type: string
                                description: Locality (e.g. city) of the activity
                              sublocality:
                                type: string
                                description: Sublocality (e.g. neighborhood) of the activity
                              route:
                                type: string
                                description: Route (e.g. street) of the activity
                              street_number:
                                type: string
                                description: Street number of the activity
                              subpremise:
                                type: string
                                description: Subpremise (e.g. apartment/suite number) of the activity
                              postal_code:
                                type: string
                                description: Postal code of the activity
                          participants:
                            type: array
                            description: The participants of the activity
                            items:
                              type: object
                              properties:
                                person_id:
                                  type: integer
                                  description: The ID of the person
                                primary:
                                  type: boolean
                                  description: Whether the person is the primary participant or not
                          attendees:
                            type: array
                            description: The attendees of the activity
                            items:
                              type: object
                              properties:
                                email:
                                  type: string
                                  description: The email address of the attendee
                                name:
                                  type: string
                                  description: The name of the attendee
                                status:
                                  type: string
                                  description: The status of the attendee
                                is_organizer:
                                  type: boolean
                                  description: Whether the attendee is the organizer or not
                                person_id:
                                  type: integer
                                  description: The ID of the person if the attendee has a person record
                                user_id:
                                  type: integer
                                  description: The ID of the user if the attendee is a user
                          conference_meeting_client:
                            type: string
                            description: The client used for the conference meeting
                          conference_meeting_url:
                            type: string
                            description: The URL of the conference meeting
                          conference_meeting_id:
                            type: string
                            description: The ID of the conference meeting
                          public_description:
                            type: string
                            description: The public description of the activity
                          priority:
                            type: integer
                            description: The priority of the activity. Mappable to a specific string using activityFields API.
                          note:
                            type: string
                            description: The note of the activity
                    additional_data:
                      type: object
                      description: The additional data of the list
                      properties:
                        next_cursor:
                          type: string
                          description: The first item on the next page. The value of the `next_cursor` field will be `null` if you have reached the end of the dataset and there’s no more pages to be returned.
              example:
                success: true
                data:
                - id: 1
                  subject: Activity Subject
                  type: activity_type
                  owner_id: 1
                  creator_user_id: 1
                  is_deleted: false
                  add_time: '2021-01-01T00:00:00Z'
                  update_time: '2021-01-01T00:00:00Z'
                  deal_id: 5
                  lead_id: abc-def
                  person_id: 6
                  org_id: 7
                  project_id: 8
                  due_date: '2021-01-01'
                  due_time: '15:00:00'
                  duration: 01:00:00
                  busy: true
                  done: true
                  marked_as_done_time: '2021-01-01T00:00:00Z'
                  location:
                    value: 123 Main St
                    country: USA
                    admin_area_level_1: CA
                    admin_area_level_2: Santa Clara
                    locality: Sunnyvale
                    sublocality: Downtown
                    route: Main St
                    street_number: '123'
                    subpremise: Apt 1
                    postal_code: '94085'
                  participants:
                  - person_id: 1
                    primary: true
                  attendees:
                  - email: some@email.com
                    name: Some Name
                    status: accepted
                    is_organizer: true
                    person_id: 1
                    user_id: 1
                  conference_meeting_client: google_meet
                  conference_meeting_url: https://meet.google.com/abc-xyz
                  conference_meeting_id: abc-xyz
                  public_description: Public Description
                  priority: 263
                  note: Note
                additional_data:
                  next_cursor: eyJmaWVsZCI6ImlkIiwiZmllbGRWYWx1ZSI6Nywic29ydERpcmVjdGlvbiI6ImFzYyIsImlkIjo3fQ
    post:
      summary: Add a new activity
      description: Adds a new activity.
      x-token-cost: 5
      operationId: addActivity
      tags:
      - Activities
      security:
      - api_key: []
      - oauth2:
        - activities:full
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                subject:
                  type: string
                  description: The subject of the activity
                type:
                  type: string
                  description: The type of the activity
                owner_id:
                  type: integer
                  description: The ID of the user who owns the activity
                deal_id:
                  type: integer
                  description: The ID of the deal linked to the activity
                lead_id:
                  type: string
                  description: The ID of the lead linked to the activity
                person_id:
                  type: integer
                  description: The ID of the person linked to the activity
                org_id:
                  type: integer
                  description: The ID of the organization linked to the activity
                project_id:
                  type: integer
                  description: The ID of the project linked to the activity
                due_date:
                  type: string
                  description: The due date of the activity
                due_time:
                  type: string
                  description: The due time of the activity
                duration:
                  type: string
                  description: The duration of the activity
                busy:
                  type: boolean
                  description: Whether the activity marks the assignee as busy or not in their calendar
                done:
                  type: boolean
                  description: Whether the activity is marked as done or not
                location:
                  type: object
                  description: Location of the activity
                  properties:
                    value:
                      type: string
                      description: The full address of the activity
                    country:
                      type: string
                      description: Country of the activity
                    admin_area_level_1:
                      type: string
                      description: Admin area level 1 (e.g. state) of the activity
                    admin_area_level_2:
                      type: string
                      description: Admin area level 2 (e.g. county) of the activity
                    locality:
                      type: string
                      description: Locality (e.g. city) of the activity
                    sublocality:
                      type: string
                      description: Sublocality (e.g. neighborhood) of the activity
                    route:
                      type: string
                      description: Route (e.g. street) of the activity
                    street_number:
                      type: string
                      description: Street number of the activity
                    subpremise:
                      type: string
                      description: Subpremise (e.g. apartment/suite number) of the activity
                    postal_code:
                      type: string
                      description: Postal code of the activity
                participants:
                  type: array
                  description: The participants of the activity
                  items:
                    type: object
                    properties:
                      person_id:
                        type: integer
                        description: The ID of the person
                      primary:
                        type: boolean
                        description: Whether the person is the primary participant or not
                attendees:
                  type: array
                  description: The attendees of the activity
                  items:
                    type: object
                    properties:
                      email:
                        type: string
                        description: The email address of the attendee
                      name:
                        type: string
                        description: The name of the attendee
                      status:
                        type: string
                        description: The status of the attendee
                      is_organizer:
                        type: boolean
                        description: Whether the attendee is the organizer or not
                      person_id:
                        type: integer
                        description: The ID of the person if the attendee has a person record
                      user_id:
                        type: integer
                        description: The ID of the user if the attendee is a user
                public_description:
                  type: string
                  description: The public description of the activity
                priority:
                  type: integer
                  description: The priority of the activity. Mappable to a specific string using activityFields API.
                note:
                  type: string
                  description: The note of the activity
      responses:
        '200':
          description: Add activity
          content:
            application/json:
              schema:
                type: object
                title: UpsertActivityResponse
                allOf:
                - title: baseResponse
                  type: object
                  properties:
                    success:
                      type: boolean
                      description: If the response is successful or not
                - type: object
                  title: UpsertActivityResponseData
                  properties:
                    data:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: The ID of the activity
                        subject:
                          type: string
                          description: The subject of the activity
                        type:
                          type: string
                          description: The type of the activity
                        owner_id:
                          type: integer
                          description: The ID of the user who owns the activity
                        creator_user_id:
                          type: integer
                          description: The ID of the user who created the activity
                        is_deleted:
                          type: boolean
                          description: Whether the activity is deleted or not
                        add_time:
                          type: string
                          description: The creation date and time of the activity
                        update_time:
                          type: string
                          description: The last updated date and time of the activity
                        deal_id:
                          type: integer
                          description: The ID of the deal linked to the activity
                        lead_id:
                          type: string
                          description: The ID of the lead linked to the activity
                        person_id:
                          type: integer
                          description: The ID of the person linked to the activity
                        org_id:
                          type: integer
                          description: The ID of the organization linked to the activity
                        project_id:
                          type: integer
                          description: The ID of the project linked to the activity
                        due_date:
                          type: string
                          description: The due date of the activity
                        due_time:
                          type: string
                          description: The due time of the activity
                        duration:
                          type: string
                          description: The duration of the activity
                        busy:
                          type: boolean
                          description: Whether the activity marks the assignee as busy or not in their calendar
                        done:
                          type: boolean
                          description: Whether the activity is marked as done or not
                        marked_as_done_time:
                          type: string
                          description: The date and time when the activity was marked as done
                        location:
                          type: object
                          description: Location of the activity
                          properties:
                            value:
                              type: string
                              description: The full address of the activity
                            country:
                              type: string
                              description: Country of the activity
                            admin_area_level_1:
                              type: string
                              description: Admin area level 1 (e.g. state) of the activity
                            admin_area_level_2:
                              type: string
                              description: Admin area level 2 (e.g. county) of the activity
                            locality:
                              type: string
                              description: Locality (e.g. city) of the activity
                            sublocality:
                              type: string
                              description: Sublocality (e.g. neighborhood) of the activity
                            route:
                              type: string
                              description: Route (e.g. street) of the activity
                            street_number:
                              type: string
                              description: Street number of the activity
                            subpremise:
                              type: string
                              description: Subpremise (e.g. apartment/suite number) of the activity
                            postal_code:
                              type: string
                              description: Postal code of the activity
                        participants:
                          type: array
                          description: The participants of the activity
                          items:
                            type: object
                            properties:
                              person_id:
                                type: integer
                                description: The ID of the person
                              primary:
                                type: boolean
                                description: Whether the person is the primary participant or not
                        attendees:
                          type: array
                          description: The attendees of the activity
                          items:
                            type: object
                            properties:
                              email:
                                type: string
                                description: The email address of the attendee
                              name:
                                type: string
                                description: The name of the attendee
                              status:
                                type: string
                                description: The status of the attendee
                              is_organizer:
                                type: boolean
                                description: Whether the attendee is the organizer or not
                              person_id:
                                type: integer
                                description: The ID of the person if the attendee has a person record
                              user_id:
                                type: integer
                                description: The ID of the user if the attendee is a user
                        conference_meeting_client:
                          type: string
                          description: The client used for the conference meeting
                        conference_meeting_url:
                          type: string
                          description: The URL of the conference meeting
                        conference_meeting_id:
                          type: string
                          description: The ID of the conference meeting
                        public_description:
                          type: string
                          description: The public description of the activity
                        priority:
                          type: integer
                          description: The priority of the activity. Mappable to a specific string using activityFields API.
                        note:
                          type: string
                          description: The note of the activity
              example:
                success: true
                data:
                  id: 1
                  subject: Activity Subject
                  type: activity_type
                  owner_id: 1
                  creator_user_id: 1
                  is_deleted: false
                  add_time: '2021-01-01T00:00:00Z'
                  update_time: '2021-01-01T00:00:00Z'
                  deal_id: 5
                  lead_id: abc-def
                  person_id: 6
                  org_id: 7
                  project_id: 8
                  due_date: '2021-01-01'
                  due_time: '15:00:00'
                  duration: 01:00:00
                  busy: true
                  done: true
                  marked_as_done_time: '2021-01-01T00:00:00Z'
                  location:
                    value: 123 Main St
                    country: USA
                    admin_area_level_1: CA
                    admin_area_level_2: Santa Clara
                    locality: Sunnyvale
                    sublocality: Downtown
                    route: Main St
                    street_number: '123'
                    subpremise: Apt 1
                    postal_code: '94085'
                  participants:
                  - person_id: 1
                    primary: true
                  attendees:
                  - email: some@email.com
                    name: Some Name
                    status: accepted
                    is_organizer: true
                    person_id: 1
                    user_id: 1
                  conference_meeting_client: google_meet
                  conference_meeting_url: https://meet.google.com/abc-xyz
                  conference_meeting_id: abc-xyz
                  public_description: Public Description
                  priority: 263
                  note: Note
  /activities/{id}:
    delete:
      summary: Delete an activity
      description: Marks an activity as deleted. After 30 days, the activity will be permanently deleted.
      x-token-cost: 3
      operationId: deleteActivity
      tags:
      - Activities
      security:
      - api_key: []
      - oauth2:
        - activities:full
      parameters:
      - in: path
        name: id
        description: The ID of the activity
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Delete activity
          content:
            application/json:
              schema:
                title: DeleteActivityResponse
                type: object
                properties:
                  success:
                    type: boolean
                    description: If the response is successful or not
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Deleted activity ID
              example:
                success: true
                data:
                  id: 1
    get:
      summary: Get de

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