API Documentation

API Endpoint

Pipelines

Pipelines

For more details about pipelines and how to use them with deal statuses, please refer to the help article.

Pipelines serve as a tool for grouping deal statuses (i.e. folders for better organisation of sales phases).

Following depicts the Pipeline entity relationship diagram:

Pipelines diagram

Supported filter params

  • pipeline_type_id (1: sales, 2: production)
GET /api/v2/pipelines
Requestsreturns pipelines

GET  /api/v2/pipelines

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1308",
      "type": "pipelines",
      "attributes": {
        "name": "Pipeline 366",
        "created_at": "2025-08-02T02:08:49.111+02:00",
        "updated_at": "2025-08-02T02:08:49.111+02:00",
        "position": 1,
        "icon_id": null,
        "pipeline_type_id": 1
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "942"
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "1307",
      "type": "pipelines",
      "attributes": {
        "name": "Sales",
        "created_at": "2025-08-02T02:08:49.065+02:00",
        "updated_at": "2025-08-02T02:08:49.065+02:00",
        "position": 1,
        "icon_id": "funnel",
        "pipeline_type_id": 1
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "942"
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/pipelines?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/pipelines?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 2,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get pipelines
GET/api/v2/pipelines


GET /api/v2/pipelines/1
Requestsreturns pipeline

GET  /api/v2/pipelines/1310

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "1310",
    "type": "pipelines",
    "attributes": {
      "name": "Pipeline 367",
      "created_at": "2025-08-02T02:08:49.182+02:00",
      "updated_at": "2025-08-02T02:08:49.182+02:00",
      "position": 1,
      "icon_id": null,
      "pipeline_type_id": 1
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "943"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a pipeline
GET/api/v2/pipelines/{id}

URI Parameters
HideShow
id
number (required) Example: 1

pipeline id


POST /api/v2/pipelines
Requestscreates pipelinecreates pipelinereturns errorreturns error

POST  /api/v2/pipelines

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "pipelines",
    "attributes": {
      "name": "test name",
      "position": 1
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "1312",
    "type": "pipelines",
    "attributes": {
      "name": "test name",
      "created_at": "2025-08-02T02:08:49.256+02:00",
      "updated_at": "2025-08-02T02:08:49.256+02:00",
      "position": 1,
      "icon_id": null,
      "pipeline_type_id": 1
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "944"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/pipelines

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "pipelines",
    "attributes": {
      "name": "test name",
      "position": 1,
      "pipeline_type_id": 1
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "1314",
    "type": "pipelines",
    "attributes": {
      "name": "test name",
      "created_at": "2025-08-02T02:08:49.317+02:00",
      "updated_at": "2025-08-02T02:08:49.317+02:00",
      "position": 1,
      "icon_id": null,
      "pipeline_type_id": 1
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "945"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/pipelines

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "pipelines",
    "attributes": {
      "name": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/name"
      }
    }
  ]
}

POST  /api/v2/pipelines

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "pipelines",
    "attributes": {
      "name": "too many pipelines",
      "position": 1,
      "pipeline_type_id": 1
    }
  }
}
Responses403
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "403",
      "code": "pipelines_limit_exceeded",
      "title": "Access Denied",
      "detail": "You've exceeded your Pipelines limit. Please delete at least one pipeline in order to create new one.",
      "source": {}
    }
  ]
}

Create a pipeline
POST/api/v2/pipelines

URI Parameters
HideShow
name
string (required) Example: Name

name

position
number (required) Example: 1

position


PATCH /api/v2/pipelines/1
Requestsupdates pipeline

PATCH  /api/v2/pipelines/1320

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "pipelines",
    "attributes": {
      "name": "new name"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "1320",
    "type": "pipelines",
    "attributes": {
      "name": "new name",
      "created_at": "2025-08-02T02:08:49.482+02:00",
      "updated_at": "2025-08-02T02:08:49.491+02:00",
      "position": 1,
      "icon_id": null,
      "pipeline_type_id": 1
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "948"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a pipeline
PATCH/api/v2/pipelines/{id}

URI Parameters
HideShow
id
number (required) Example: 1

pipeline id


DELETE /api/v2/pipelines/1
Requestsdoes not deletedeletes pipeline

DELETE  /api/v2/pipelines/1322

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses409
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "409",
      "code": "record_is_last_pipeline",
      "title": "Conflict error",
      "source": {}
    }
  ]
}

DELETE  /api/v2/pipelines/1324

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a pipeline
DELETE/api/v2/pipelines/{id}

URI Parameters
HideShow
id
number (required) Example: 1

pipeline id


Generated by aglio on 02 Aug 2025