Live Direct Marketing Pipelines API

The Pipelines API from Live Direct Marketing — 11 operation(s) for pipelines.

Business capability
Opportunity & Pipeline Management BC-410.30

Operations 17

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/pipelines List sales pipelines · List all pipelines #
Ask an LLM
“Which sales pipelines are set up in my workspace?”
“Can I include hidden pipelines when listing them?”
Tell an agent
List my pipelines, includeHidden {includeHidden}.
Show all pipelines including hidden ones ({includeHidden}).
POST /api/pipelines Create a sales pipeline · Create a new pipeline #
Ask an LLM
“How do I set up a new sales pipeline?”
“Can a new pipeline use its own currency and be the default?”
Tell an agent
Create a pipeline named {name}.
Create pipeline {name} in {currency} and make it the default ({isDefault}).
GET /api/pipelines/automation-logs View automation logs across all pipelines · Get global automation logs across pipelines #
Ask an LLM
“What have stage automations done across all my pipelines recently?”
“Can I see every automation run that touched a particular lead?”
Tell an agent
Show the last {limit} automation runs across pipelines for lead {leadId}.
List global pipeline automation logs for lead {leadId}, limit {limit}.
GET /api/pipelines/{id} Get a pipeline · Get a single pipeline by ID #
Ask an LLM
“How is a particular pipeline configured?”
“Can I fetch one pipeline's settings by its id?”
Tell an agent
Show pipeline {id}.
Get the configuration of pipeline {id}.
PATCH /api/pipelines/{id} Update a pipeline's settings · Update an existing pipeline #
Ask an LLM
“How do I rename a pipeline or change its currency?”
“Can I hide or deactivate an existing pipeline?”
Tell an agent
Rename pipeline {id} to {name}.
Set pipeline {id} hidden to {isHidden}.
DELETE /api/pipelines/{id} Delete a pipeline · Delete a pipeline #
Ask an LLM
“How do I remove a pipeline I no longer use?”
“Can I delete a whole sales pipeline?”
Tell an agent destructive · confirm first
Delete pipeline {id}.
Remove the sales pipeline {id}.
POST /api/pipelines/{id}/stages Add a stage to a pipeline · Create a new stage in a pipeline #
Ask an LLM
“How do I add a new stage to a sales pipeline?”
“Can I set a win probability and rotting days on a new stage?”
Tell an agent
Add a stage named {name} to pipeline {id}.
Add stage {name} to pipeline {id} with probability {probability} and rotting after {rottingDays} days.
PATCH /api/pipelines/{pipelineId}/stages/reorder Reorder a pipeline's stages · Reorder pipeline stages #
Ask an LLM
“How do I change the order of stages in a pipeline?”
“Can I rearrange pipeline columns by passing stage ids in order?”
Tell an agent
Reorder the stages of pipeline {pipelineId} as {stageIds}.
Put pipeline {pipelineId}'s stages in this order: {stageIds}.
PATCH /api/pipelines/{pipelineId}/stages/{stageId} Update a pipeline stage · Update a pipeline stage #
Ask an LLM
“How do I rename a stage or change its color?”
“Can I change an existing stage's win probability or hide it?”
Tell an agent
Rename stage {stageId} in pipeline {pipelineId} to {name}.
Set stage {stageId} of pipeline {pipelineId} to probability {probability}.
DELETE /api/pipelines/{pipelineId}/stages/{stageId} Delete a pipeline stage · Delete a pipeline stage #
Ask an LLM
“How do I remove a stage from a pipeline?”
“Can I delete a stage I no longer need?”
Tell an agent destructive · confirm first
Delete stage {stageId} from pipeline {pipelineId}.
Remove stage {stageId} in pipeline {pipelineId}.
GET /api/pipelines/stages/{stageId}/automations List automations on a stage · List automations attached to a stage #
Ask an LLM
“What automations fire when a lead enters a stage?”
“Which automations are attached to a given pipeline stage?”
Tell an agent
List automations on stage {stageId}.
Show what automations run for stage {stageId}.
POST /api/pipelines/stages/{stageId}/automations Add an automation to a stage · Create an automation on a stage #
Ask an LLM
“How do I make something happen automatically when a lead reaches a stage?”
“Can I create a stage automation that starts out disabled?”
Tell an agent
On stage {stageId}, when {trigger} run {action} with config {config}.
Create automation {name} on stage {stageId}: trigger {trigger}, action {action}, config {config}.
PATCH /api/pipelines/automations/{automationId} Update a stage automation · Update a stage automation #
Ask an LLM
“How do I turn off a stage automation without deleting it?”
“Can I change the trigger or action of an existing automation?”
Tell an agent
Set automation {automationId} active to {isActive}.
Change automation {automationId} to trigger on {trigger}.
DELETE /api/pipelines/automations/{automationId} Delete a stage automation · Delete a stage automation #
Ask an LLM
“How do I remove an automation from a pipeline stage?”
“Can I delete a stage automation entirely rather than just disable it?”
Tell an agent destructive · confirm first
Delete automation {automationId}.
Remove stage automation {automationId}.
GET /api/pipelines/automations/{automationId}/logs View execution logs for one automation · Get execution logs for an automation #
Ask an LLM
“Did a specific stage automation run, and did it succeed?”
“Where can I see the run history of a single automation?”
Tell an agent
Show the last {limit} runs of automation {automationId}.
Get execution logs for automation {automationId}, limit {limit}.
GET /api/pipelines/{id}/stats Get a pipeline's conversion stats · Get stats and conversion metrics for a pipeline #
Ask an LLM
“How well do leads convert from stage to stage in a pipeline?”
“What are the conversion metrics for one pipeline?”
Tell an agent
Show conversion stats for pipeline {id}.
Get stage-by-stage metrics for pipeline {id}.
POST /api/pipelines/{id}/migrate-legacy-stages Migrate a pipeline's legacy stages · Migrate legacy denormalized stage JSON into PipelineStage rows #
Ask an LLM
“How do I convert an old pipeline's embedded stage list into real stage records?”
“Can I upgrade legacy stage data on a pipeline?”
Tell an agent
Migrate legacy stages on pipeline {id}.
Convert pipeline {id}'s legacy stage JSON into stage rows.

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/live-direct-marketing-online:live-direct-marketing-online-pipelines-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

live-direct-marketing-online-pipelines-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LDM v3 Pipelines API
  description: 'Multi-tenant B2B outreach automation platform. Auth: JWT Bearer (15-min) or tenant API key (ldm_*) managed in CRM Settings → API Keys. All tenant-scoped endpoints require the X-Tenant-Id header.'
  version: 1.0.0
  contact: {}
servers:
- url: https://api.live-direct-marketing.online
  description: Production
- url: https://api.dev.live-direct-marketing.online
  description: Development
- url: http://127.0.0.1:3000
  description: Local
tags:
- name: Pipelines
paths:
  /api/pipelines:
    get:
      operationId: PipelinesController_findAll
      parameters:
      - name: includeHidden
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: List all pipelines
      tags:
      - Pipelines
    post:
      operationId: PipelinesController_create
      parameters:
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePipelineDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Create a new pipeline
      tags:
      - Pipelines
  /api/pipelines/automation-logs:
    get:
      operationId: PipelinesController_getAllAutomationLogs
      parameters:
      - name: limit
        required: true
        in: query
        schema:
          type: string
      - name: leadId
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get global automation logs across pipelines
      tags:
      - Pipelines
      x-required-scope:
      - pipelines:read
  /api/pipelines/{id}:
    get:
      operationId: PipelinesController_findById
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get a single pipeline by ID
      tags:
      - Pipelines
    patch:
      operationId: PipelinesController_update
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePipelineDto'
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Update an existing pipeline
      tags:
      - Pipelines
    delete:
      operationId: PipelinesController_remove
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Delete a pipeline
      tags:
      - Pipelines
  /api/pipelines/{id}/stages:
    post:
      operationId: PipelinesController_createStage
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStageDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Create a new stage in a pipeline
      tags:
      - Pipelines
  /api/pipelines/{pipelineId}/stages/reorder:
    patch:
      operationId: PipelinesController_reorderStages
      parameters:
      - name: pipelineId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderStagesDto'
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Reorder pipeline stages
      tags:
      - Pipelines
  /api/pipelines/{pipelineId}/stages/{stageId}:
    patch:
      operationId: PipelinesController_updateStage
      parameters:
      - name: pipelineId
        required: true
        in: path
        schema:
          type: string
      - name: stageId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStageDto'
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Update a pipeline stage
      tags:
      - Pipelines
    delete:
      operationId: PipelinesController_removeStage
      parameters:
      - name: pipelineId
        required: true
        in: path
        schema:
          type: string
      - name: stageId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Delete a pipeline stage
      tags:
      - Pipelines
  /api/pipelines/stages/{stageId}/automations:
    get:
      operationId: PipelinesController_findAutomations
      parameters:
      - name: stageId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: List automations attached to a stage
      tags:
      - Pipelines
    post:
      operationId: PipelinesController_createAutomation
      parameters:
      - name: stageId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAutomationDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Create an automation on a stage
      tags:
      - Pipelines
  /api/pipelines/automations/{automationId}:
    patch:
      operationId: PipelinesController_updateAutomation
      parameters:
      - name: automationId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAutomationDto'
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Update a stage automation
      tags:
      - Pipelines
    delete:
      operationId: PipelinesController_removeAutomation
      parameters:
      - name: automationId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Delete a stage automation
      tags:
      - Pipelines
  /api/pipelines/automations/{automationId}/logs:
    get:
      operationId: PipelinesController_getAutomationLogs
      parameters:
      - name: automationId
        required: true
        in: path
        schema:
          type: string
      - name: limit
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get execution logs for an automation
      tags:
      - Pipelines
  /api/pipelines/{id}/stats:
    get:
      operationId: PipelinesController_getStats
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get stats and conversion metrics for a pipeline
      tags:
      - Pipelines
  /api/pipelines/{id}/migrate-legacy-stages:
    post:
      operationId: PipelinesController_migrateLegacyStages
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Migrate legacy denormalized stage JSON into PipelineStage rows
      tags:
      - Pipelines
components:
  schemas:
    UpdateAutomationDto:
      type: object
      properties:
        trigger:
          type: object
        action:
          type: object
        config:
          type: object
        name:
          type: string
          maxLength: 200
        isActive:
          type: boolean
        sortOrder:
          type: number
    CreatePipelineDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 100
        description:
          type: string
        currency:
          type: string
        isDefault:
          type: boolean
        isHidden:
          type: boolean
      required:
      - name
    ReorderStagesDto:
      type: object
      properties:
        stageIds:
          type: array
          items:
            type: string
      required:
      - stageIds
    UpdateStageDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 100
        type:
          type: object
        color:
          type: string
        probability:
          type: number
          minimum: 0
          maximum: 100
        rottingDays:
          type: number
        sortOrder:
          type: number
        isHidden:
          type: boolean
    CreateAutomationDto:
      type: object
      properties:
        trigger:
          type: object
        action:
          type: object
        config:
          type: object
        name:
          type: string
          maxLength: 200
        isActive:
          type: boolean
      required:
      - trigger
      - action
      - config
    CreateStageDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 100
        type:
          type: object
        color:
          type: string
        probability:
          type: number
          minimum: 0
          maximum: 100
        rottingDays:
          type: number
        sortOrder:
          type: number
      required:
      - name
    UpdatePipelineDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 100
        description:
          type: string
        currency:
          type: string
        isDefault:
          type: boolean
        isActive:
          type: boolean
        isHidden:
          type: boolean
  securitySchemes:
    jwt:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: JWT access token from /auth/login (Bearer <token>)
    tenant-api-key:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Tenant API key (Bearer ldm_*) for MCP/A2A clients. Issued via CRM Settings → API Keys.
    rpa-service:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Dedicated RPA service key. No tenant API-key or query-key authentication.