ActiveCampaign · Capability

ActiveCampaign API v3 — Deals

ActiveCampaign API v3 — Deals. 47 operations. Lead operation: ActiveCampaign List All Deal Activities. Self-contained Naftiko capability covering one Activecampaign business surface.

Run with Naftiko ActivecampaignDeals

What You Can Do

GET
Listalldealactivities — ActiveCampaign List All Deal Activities
/v1/dealactivities
POST
Createcustomdealfieldvalue — ActiveCampaign Create a Custom Field Value
/v1/dealcustomfielddata
GET
Listallcustomfielddatafieldvalues — ActiveCampaign List All Custom Field Values
/v1/dealcustomfielddata
POST
Bulkcreateacustomdealfieldvalue — ActiveCampaign Bulk Create a Custom Deal Field Value
/v1/dealcustomfielddata/bulkcreate
PATCH
Bulkupdateacustomfieldvalue — ActiveCampaign Bulk Update a Custom Field Value
/v1/dealcustomfielddata/bulkupdate
GET
Retrieveacustomdealfieldvalue — ActiveCampaign Retrieve a Custom Field Value
/v1/dealcustomfielddata/{id}
PUT
Updateacustomdealfieldvalue — ActiveCampaign Update a Custom Field Value
/v1/dealcustomfielddata/{id}
DELETE
Deleteacustomdealfielddata — ActiveCampaign Delete a Custom Field Value
/v1/dealcustomfielddata/{id}
POST
Createcustomdealfieldmeta — ActiveCampaign Create a Custom Field Meta
/v1/dealcustomfieldmeta
GET
Retrieveallcustomdealfieldmeta — ActiveCampaign List All Custom Fields
/v1/dealcustomfieldmeta
GET
Retrieveacustomdealfieldmeta — ActiveCampaign Retrieve a Custom Field
/v1/dealcustomfieldmeta/{id}
PUT
Updateacustomdealfieldmeta — ActiveCampaign Update a Custom Field
/v1/dealcustomfieldmeta/{id}
DELETE
Deleteacustomdealfieldmeta — ActiveCampaign Delete a Custom Field
/v1/dealcustomfieldmeta/{id}
GET
Retrieveinaccessiblepipelinesbyuser — ActiveCampaign Retrieve Inaccessible Pipelines by User
/v1/dealgroup/get-inaccessible-deal-groups
POST
Createapipeline — ActiveCampaign Create a Pipeline
/v1/dealgroups
GET
Listallpipelines — ActiveCampaign List All Pipelines
/v1/dealgroups
GET
Retrieveapipeline — ActiveCampaign Retrieve a Pipeline
/v1/dealgroups/{id}
PUT
Updateapipeline — ActiveCampaign Update a Pipeline
/v1/dealgroups/{id}
DELETE
Deleteapipeline — ActiveCampaign Delete a Pipeline
/v1/dealgroups/{id}
GET
Listalldealroles — ActiveCampaign List All Deal Roles
/v1/dealroles
POST
Createadealrole — ActiveCampaign Create a Deal Role
/v1/dealroles
DELETE
Deleteadealrole — ActiveCampaign Delete a Deal Role
/v1/dealroles/{id}
POST
Createadealstage — ActiveCampaign Create a Stage
/v1/dealstages
GET
Listalldealstages — ActiveCampaign List All Stages
/v1/dealstages
GET
Retrieveadealstage — ActiveCampaign Retrieve a Stage
/v1/dealstages/{id}
PUT
Updateadealstage — ActiveCampaign Update a Stage
/v1/dealstages/{id}
DELETE
Deleteadealstage — ActiveCampaign Delete a Stage
/v1/dealstages/{id}
PUT
Movedealstoanotherdealstage — ActiveCampaign Move Deals to Another Stage
/v1/dealstages/{id}/deals
POST
Createtask — ActiveCampaign Create a Task
/v1/dealtasks
GET
Listalltasks — ActiveCampaign List All Tasks
/v1/dealtasks
GET
Gettask — ActiveCampaign Retrieve a Task
/v1/dealtasks/{id}
PUT
Updatetask — ActiveCampaign Update a Task
/v1/dealtasks/{id}
DELETE
Deletetask — ActiveCampaign Delete a Task
/v1/dealtasks/{id}
POST
Createadealtasktype — ActiveCampaign Create a Task Type
/v1/dealtasktypes
GET
Listalldealtasktypes — ActiveCampaign List All Task Types
/v1/dealtasktypes
GET
Retrieveadealtasktype — ActiveCampaign Retrieve a Task Type
/v1/dealtasktypes/{id}
PUT
Updateadealtasktype — ActiveCampaign Update a Task Type
/v1/dealtasktypes/{id}
DELETE
Deleteadealtasktype — ActiveCampaign Delete a Task Type
/v1/dealtasktypes/{id}
PUT
Movedealtaskstoanotherdealtasktype — ActiveCampaign Move Tasks to Another Task Type
/v1/dealtasktypes/{id}/dealtasks
POST
Createadealnew — ActiveCampaign Create a Deal
/v1/deals
GET
Listalldeals — ActiveCampaign List All Deals
/v1/deals
PATCH
Bulkupdatedealowners — ActiveCampaign Bulk Update Deal Owners
/v1/deals/bulkupdate
GET
Retrieveadeal — ActiveCampaign Retrieve a Deal
/v1/deals/{id}
PUT
Updateadealnew — ActiveCampaign Update a Deal
/v1/deals/{id}
DELETE
Deleteadeal — ActiveCampaign Delete a Deal
/v1/deals/{id}
POST
Createadealnote — ActiveCampaign Create a Deal Note
/v1/deals/{id}/notes
PUT
Updateadealnote — ActiveCampaign Update a Deal Note
/v1/deals/{id}/notes/{noteid}

MCP Tools

activecampaign-list-all-deal-activities

ActiveCampaign List All Deal Activities

read-only idempotent
activecampaign-create-custom-field-value

ActiveCampaign Create a Custom Field Value

activecampaign-list-all-custom-field

ActiveCampaign List All Custom Field Values

read-only idempotent
activecampaign-bulk-create-custom-deal

ActiveCampaign Bulk Create a Custom Deal Field Value

activecampaign-bulk-update-custom-field

ActiveCampaign Bulk Update a Custom Field Value

idempotent
activecampaign-retrieve-custom-field-value

ActiveCampaign Retrieve a Custom Field Value

read-only idempotent
activecampaign-update-custom-field-value

ActiveCampaign Update a Custom Field Value

idempotent
activecampaign-delete-custom-field-value

ActiveCampaign Delete a Custom Field Value

idempotent
activecampaign-create-custom-field-meta

ActiveCampaign Create a Custom Field Meta

activecampaign-list-all-custom-fields

ActiveCampaign List All Custom Fields

read-only idempotent
activecampaign-retrieve-custom-field

ActiveCampaign Retrieve a Custom Field

read-only idempotent
activecampaign-update-custom-field

ActiveCampaign Update a Custom Field

idempotent
activecampaign-delete-custom-field

ActiveCampaign Delete a Custom Field

idempotent
activecampaign-retrieve-inaccessible-pipelines-user

ActiveCampaign Retrieve Inaccessible Pipelines by User

read-only idempotent
activecampaign-create-pipeline

ActiveCampaign Create a Pipeline

activecampaign-list-all-pipelines

ActiveCampaign List All Pipelines

read-only idempotent
activecampaign-retrieve-pipeline

ActiveCampaign Retrieve a Pipeline

read-only idempotent
activecampaign-update-pipeline

ActiveCampaign Update a Pipeline

idempotent
activecampaign-delete-pipeline

ActiveCampaign Delete a Pipeline

idempotent
activecampaign-list-all-deal-roles

ActiveCampaign List All Deal Roles

read-only idempotent
activecampaign-create-deal-role

ActiveCampaign Create a Deal Role

activecampaign-delete-deal-role

ActiveCampaign Delete a Deal Role

idempotent
activecampaign-create-stage

ActiveCampaign Create a Stage

activecampaign-list-all-stages

ActiveCampaign List All Stages

read-only idempotent
activecampaign-retrieve-stage

ActiveCampaign Retrieve a Stage

read-only idempotent
activecampaign-update-stage

ActiveCampaign Update a Stage

idempotent
activecampaign-delete-stage

ActiveCampaign Delete a Stage

idempotent
activecampaign-move-deals-another-stage

ActiveCampaign Move Deals to Another Stage

idempotent
activecampaign-create-task

ActiveCampaign Create a Task

activecampaign-list-all-tasks

ActiveCampaign List All Tasks

read-only idempotent
activecampaign-retrieve-task

ActiveCampaign Retrieve a Task

read-only idempotent
activecampaign-update-task

ActiveCampaign Update a Task

idempotent
activecampaign-delete-task

ActiveCampaign Delete a Task

idempotent
activecampaign-create-task-type

ActiveCampaign Create a Task Type

activecampaign-list-all-task-types

ActiveCampaign List All Task Types

read-only idempotent
activecampaign-retrieve-task-type

ActiveCampaign Retrieve a Task Type

read-only idempotent
activecampaign-update-task-type

ActiveCampaign Update a Task Type

idempotent
activecampaign-delete-task-type

ActiveCampaign Delete a Task Type

idempotent
activecampaign-move-tasks-another-task

ActiveCampaign Move Tasks to Another Task Type

idempotent
activecampaign-create-deal

ActiveCampaign Create a Deal

activecampaign-list-all-deals

ActiveCampaign List All Deals

read-only idempotent
activecampaign-bulk-update-deal-owners

ActiveCampaign Bulk Update Deal Owners

idempotent
activecampaign-retrieve-deal

ActiveCampaign Retrieve a Deal

read-only idempotent
activecampaign-update-deal

ActiveCampaign Update a Deal

idempotent
activecampaign-delete-deal

ActiveCampaign Delete a Deal

idempotent
activecampaign-create-deal-note

ActiveCampaign Create a Deal Note

activecampaign-update-deal-note

ActiveCampaign Update a Deal Note

idempotent

Capability Spec

v3-deals.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: ActiveCampaign API v3 — Deals
  description: 'ActiveCampaign API v3 — Deals. 47 operations. Lead operation: ActiveCampaign List All Deal Activities. Self-contained
    Naftiko capability covering one Activecampaign business surface.'
  tags:
  - Activecampaign
  - Deals
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ACTIVECAMPAIGN_API_KEY: ACTIVECAMPAIGN_API_KEY
capability:
  consumes:
  - type: http
    namespace: v3-deals
    baseUri: https://{yourAccountName}.api-us1.com/api/3
    description: ActiveCampaign API v3 — Deals business capability. Self-contained, no shared references.
    resources:
    - name: dealActivities
      path: /dealActivities
      operations:
      - name: listalldealactivities
        method: GET
        description: ActiveCampaign List All Deal Activities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: exclude
          in: query
          type: string
          description: Include this param to exclude "email", "connection_email", and "LinkData" activity types
        - name: deal
          in: query
          type: string
          description: Filter by deal ID
        - name: filters[data_type]
          in: query
          type: string
          description: 'Enter any dataType (see Response Details) to filter by that type. Examples: "userid" or task" or "note"'
        - name: filters[data_id]
          in: query
          type: string
          description: Enter any dataId (see Response details) to filter by related object. Example "291" for a note with
            ID 291
    - name: dealCustomFieldData
      path: /dealCustomFieldData
      operations:
      - name: createcustomdealfieldvalue
        method: POST
        description: ActiveCampaign Create a Custom Field Value
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listallcustomfielddatafieldvalues
        method: GET
        description: ActiveCampaign List All Custom Field Values
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters[dealId]
          in: query
          type: string
          description: Filter results by a specific deal (note that Id uses a capital I)
    - name: dealCustomFieldData-bulkCreate
      path: /dealCustomFieldData/bulkCreate
      operations:
      - name: bulkcreateacustomdealfieldvalue
        method: POST
        description: ActiveCampaign Bulk Create a Custom Deal Field Value
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: dealCustomFieldData-bulkUpdate
      path: /dealCustomFieldData/bulkUpdate
      operations:
      - name: bulkupdateacustomfieldvalue
        method: PATCH
        description: ActiveCampaign Bulk Update a Custom Field Value
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: dealCustomFieldData-id
      path: /dealCustomFieldData/{id}
      operations:
      - name: retrieveacustomdealfieldvalue
        method: GET
        description: ActiveCampaign Retrieve a Custom Field Value
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the dealCustomFieldData to retrieve
          required: true
      - name: updateacustomdealfieldvalue
        method: PUT
        description: ActiveCampaign Update a Custom Field Value
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the custom fields value to update
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteacustomdealfielddata
        method: DELETE
        description: ActiveCampaign Delete a Custom Field Value
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the dealCustomFieldData to retrieve
          required: true
    - name: dealCustomFieldMeta
      path: /dealCustomFieldMeta
      operations:
      - name: createcustomdealfieldmeta
        method: POST
        description: ActiveCampaign Create a Custom Field Meta
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: retrieveallcustomdealfieldmeta
        method: GET
        description: ActiveCampaign List All Custom Fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: The number of fields returned per request.
    - name: dealCustomFieldMeta-id
      path: /dealCustomFieldMeta/{id}
      operations:
      - name: retrieveacustomdealfieldmeta
        method: GET
        description: ActiveCampaign Retrieve a Custom Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the field to retrieve
          required: true
      - name: updateacustomdealfieldmeta
        method: PUT
        description: ActiveCampaign Update a Custom Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the custom field to update
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteacustomdealfieldmeta
        method: DELETE
        description: ActiveCampaign Delete a Custom Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: ID of the field to delete
          required: true
    - name: dealGroup-get_inaccessible_deal_groups
      path: /dealGroup/get_inaccessible_deal_groups
      operations:
      - name: retrieveinaccessiblepipelinesbyuser
        method: GET
        description: ActiveCampaign Retrieve Inaccessible Pipelines by User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dealIds[]
          in: query
          type: array
          description: Deal Ids
          required: true
        - name: userId
          in: query
          type: integer
          description: User's Id
          required: true
    - name: dealGroups
      path: /dealGroups
      operations:
      - name: createapipeline
        method: POST
        description: ActiveCampaign Create a Pipeline
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listallpipelines
        method: GET
        description: ActiveCampaign List All Pipelines
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters[title]
          in: query
          type: string
          description: Filter by pipeline's title. The filter matches any pipeline titles that contain the provided title
            (i.e. "Contact" matches all of "In Contact", "To Contact", an
        - name: filters[have_stages]
          in: query
          type: integer
          description: Filter by whether pipelines have deal stages. Can be either `1` or `0`. If `1`, only pipelines with
            at least one stage will be returned.
        - name: orders[title]
          in: query
          type: string
          description: Order by Pipeline's title
        - name: orders[popular]
          in: query
          type: string
          description: Order by number of deals each pipeline has. If pipelines have same number of deals, pipelines' created
            dates are used to determine the order.
    - name: dealGroups-id
      path: /dealGroups/{id}
      operations:
      - name: retrieveapipeline
        method: GET
        description: ActiveCampaign Retrieve a Pipeline
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Pipeline's id
          required: true
      - name: updateapipeline
        method: PUT
        description: ActiveCampaign Update a Pipeline
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Pipeline's id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteapipeline
        method: DELETE
        description: ActiveCampaign Delete a Pipeline
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Pipeline's id
          required: true
    - name: dealRoles
      path: /dealRoles
      operations:
      - name: listalldealroles
        method: GET
        description: ActiveCampaign List All Deal Roles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: search
          in: query
          type: string
          description: (optional string used to search for matching titles)
      - name: createadealrole
        method: POST
        description: ActiveCampaign Create a Deal Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: dealRoles-id
      path: /dealRoles/{id}
      operations:
      - name: deleteadealrole
        method: DELETE
        description: ActiveCampaign Delete a Deal Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Deal role's id
          required: true
    - name: dealStages
      path: /dealStages
      operations:
      - name: createadealstage
        method: POST
        description: ActiveCampaign Create a Stage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: reorder
          in: query
          type: integer
          description: Whether to reorder stages within the pipeline after creating a new deal stage. Can be one of `0` and
            `1`. If set to `1`, new order values will be assigned to al
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listalldealstages
        method: GET
        description: ActiveCampaign List All Stages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters[title]
          in: query
          type: string
          description: Filter by deal stages' titles. Any stages whose titles partial-match the filter value are returned
        - name: filters[d_groupid]
          in: query
          type: string
          description: Filter by pipeline's id
        - name: orders[title]
          in: query
          type: string
          description: Order by deal stage's title
    - name: dealStages-id
      path: /dealStages/{id}
      operations:
      - name: retrieveadealstage
        method: GET
        description: ActiveCampaign Retrieve a Stage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal stage's id
          required: true
      - name: updateadealstage
        method: PUT
        description: ActiveCampaign Update a Stage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal stage's id
          required: true
        - name: reorder
          in: query
          type: integer
          description: Whether to reorder stages within the pipeline after creating a new deal stage. Can be one of `0` and
            `1`. If set to `1`, new order values will be assigned to al
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteadealstage
        method: DELETE
        description: ActiveCampaign Delete a Stage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal stage's id
          required: true
    - name: dealStages-id-deals
      path: /dealStages/{id}/deals
      operations:
      - name: movedealstoanotherdealstage
        method: PUT
        description: ActiveCampaign Move Deals to Another Stage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal stage's id whose deals are to be moved to another deal stage
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: dealTasks
      path: /dealTasks
      operations:
      - name: createtask
        method: POST
        description: ActiveCampaign Create a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listalltasks
        method: GET
        description: ActiveCampaign List All Tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters[title]
          in: query
          type: string
          description: The title to be assigned to the task
        - name: filters[reltype]
          in: query
          type: string
          description: The name of the relating object (see relationships table)
        - name: filters[relid]
          in: query
          type: integer
          description: The id of the relational object for this task
        - name: filters[status]
          in: query
          type: integer
          description: Task status means complete or incomplete. 1 is complete and 0 is incomplete.
        - name: filters[note]
          in: query
          type: string
          description: The content describing the task
        - name: filters[duedate]
          in: query
          type: string
          description: Due date of the task
        - name: filters[d_tasktypeid]
          in: query
          type: integer
          description: The type of the task based on the available Task Types in the account
        - name: filters[userid]
          in: query
          type: integer
          description: User ID this task belongs to
        - name: filters[due_after]
          in: query
          type: string
          description: Filter deal tasks that are due after a specific date
        - name: Fitlers[due_before]
          in: query
          type: string
          description: Filter deal tasks that are due before a specific date
        - name: filters[duedate_range]
          in: query
          type: string
          description: Filter deal tasks that are due between specific date range (YYYY-MM-DD+YYYY-MM-DD format) or get categorized
            tasks (upcoming, scheduled, overdue values)
        - name: filters[assignee_userid]
          in: query
          type: integer
          description: The id of the user a task is assigned to
        - name: filters[outcome_id]
          in: query
          type: integer
          description: The id of a task outcome that the task belongs to.
    - name: dealTasks-id
      path: /dealTasks/{id}
      operations:
      - name: gettask
        method: GET
        description: ActiveCampaign Retrieve a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The ID of the task
          required: true
      - name: updatetask
        method: PUT
        description: ActiveCampaign Update a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The ID of the task
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletetask
        method: DELETE
        description: ActiveCampaign Delete a Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The task id
          required: true
    - name: dealTasktypes
      path: /dealTasktypes
      operations:
      - name: createadealtasktype
        method: POST
        description: ActiveCampaign Create a Task Type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listalldealtasktypes
        method: GET
        description: ActiveCampaign List All Task Types
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: dealTasktypes-id
      path: /dealTasktypes/{id}
      operations:
      - name: retrieveadealtasktype
        method: GET
        description: ActiveCampaign Retrieve a Task Type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal task type's id
          required: true
      - name: updateadealtasktype
        method: PUT
        description: ActiveCampaign Update a Task Type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal task type's id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteadealtasktype
        method: DELETE
        description: ActiveCampaign Delete a Task Type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal task type's id
          required: true
    - name: dealTasktypes-id-dealTasks
      path: /dealTasktypes/{id}/dealTasks
      operations:
      - name: movedealtaskstoanotherdealtasktype
        method: PUT
        description: ActiveCampaign Move Tasks to Another Task Type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: Deal task type's id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: deals
      path: /deals
      operations:
      - name: createadealnew
        method: POST
        description: ActiveCampaign Create a Deal
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listalldeals
        method: GET
        description: ActiveCampaign List All Deals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filters[search]
          in: query
          type: string
          description: Search text to use with `search_field` parameter.
        - name: filters[search_field]
          in: query
          type: string
          description: Field to search for. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values).
        - name: filters[title]
          in: query
          type: string
          description: Filter by deal's title
        - name: filters[stage]
          in: query
          type: integer
          description: Filter by deal's stage
        - name: filters[group]
          in: query
          type: integer
          description: Filter by deal's pipeline
        - name: filters[status]
          in: query
          type: integer
          description: Filter by deal's status.  See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values)
        - name: filters[owner]
          in: query
          type: integer
          description: Filter by deal's owner
        - name: filters[nextdate_range]
          in: query
          type: string
          description: Filter by deal's tasks due dates. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-available-values)
        - name: filters[tag]
          in: query
          type: string
          description: Filter by tag names associated with deal's primary contact. See [available values](https://developers.activecampaign.com/reference/deal#deals-parameters-availab
        - name: filters[tasktype]
          in: query
          type: string
          description: Filter by deals that have tasks with given type
        - name: filters[created_before]
          in: query
          type: string
          description: Returns deals that are created less than given date
        - name: filters[created_after]
          in: query
          type: string
          description: Returns deals that are created greater than or equal to given date
        - name: filters[updated_before]
          in: query
          type: string
          description: Returns deals that are updated less than given date
        - name: filters[updated_after]
          in: query
          type: string
          description: Returns deals that are updated greater than or equal to given date
        - name: filters[organization]
          in: query
          type: integer
          description: Filter by deal's primary contact's organization's id
        - name: filters[minimum_value]
          in: query
          type: integer
          description: In USD with dollar portion. Returns deals whose values are greater than or equal to given value
        - name: filters[maximum_value]
          in: query
          type: integer
          description: In USD with dollar portion. Returns deals whose values are less than or equal to given value
        - name: filters[score_greater_than]
          in: query
          type: string
          description: In a format of `<score_id>:<score_value>`. Returns deals whose score value is greater than given value
        - name: filters[score_less_than]
          in: query
          type: string
          description: In a format of `<score_id>:<score_value>`. Returns deals whose score value is less than given value
        - name: filters[score]
          in: query
          type: string
          description: In a format of `<score_id>:<score_value>`. Returns deals whose score value is equal to given value
        - name: orders[title]
          in: query
          type: string
          description: Order by deal's title.
        - name: orders[value]
          in: query
          type: string
          description: Order by deal's value.
        - name: orders[cdate]
          in: query
          type: string
          description: Order by deal's created date.
        - name: orders[contact_name]
          in: query
          type: string
          description: Order by deal's primary contact's first name.
        - name: orders[contact_orgname]
          in: query
          type: string
          description: Order by deal's primary contact's organization name.
        - name: orders[next-action]
          in: query
          type: string
          description: 'Order by deal''s next task''s due date first. Then append deals with no next task. Lastly append deals
            with overdue tasks. If dates are the same, order by deal''s '
    - name: deals-bulkUpdate
      path: /deals/bulkUpdate
      operations:
      - name: bulkupdatedealowners
        method: PATCH
        description: ActiveCampaign Bulk Update Deal Owners
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: deals-id
      path: /deals/{id}
      operations:
      - name: retrieveadeal
        method: GET
        description: ActiveCampaign Retrieve a Deal
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The Deal's id
          required: true
      - name: updateadealnew
        method: PUT
        description: ActiveCampaign Update a Deal
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The Deal's id
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteadeal
        method: DELETE
        description: ActiveCampaign Delete a Deal
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The Deal's id
          required: true
    - name: deals-id-notes
      path: /deals/{id}/notes
      operations:
      - name: createadealnote
        method: POST
        description: ActiveCampaign Create a Deal Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Deal's id to assign new note to
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: deals-id-notes-noteId
      path: /deals/{id}/notes/{noteId}
      operations:
      - name: updateadealnote
        method: PUT
        description: ActiveCampaign Update a Deal Note
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Deal's id to assign new note to
          required: true
        - name: noteId
          in: path
          type: string
          description: Deal note's id to update
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: Api-Token
      value: '{{env.ACTIVECAMPAIGN_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: v3-deals-rest
    port: 8080
    description: REST adapter for ActiveCampaign API v3 — Deals. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/dealactivities
      name: dealactivities
      description: REST surface for dealActivities.
      operations:
      - method: GET
        name: listalldealactivities
        description: ActiveCampaign List All Deal Activities
        call: v3-deals.listalldealactivities
        with:
          exclude: rest.exclude
          deal: rest.deal
          filters[data_type]: rest.filters[data_type]
          filters[data_id]: rest.filters[data_id]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dealcustomfielddata
      name: dealcustomfielddata
      description: REST surface for dealCustomFieldData.
      operations:
      - method: POST
        name: createcustomdealfieldvalue
        description: ActiveCampaign Create a Custom Field Value
        call: v3-deals.createcustomdealfieldvalue
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listallcustomfielddatafieldvalues
        description: ActiveCampaign List All Custom Field Values
        call: v3-deals.listallcustomfielddatafieldvalue

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/activecampaign/refs/heads/main/capabilities/v3-deals.yaml