Using the Deal Pipelines API

The Deal Pipelines API allows you to programmatically access options for the 'deal stage' and 'pipeline' properties within your instance of the HubSpot CRM. 

HubSpot CRM supports multiple deal pipelines - for example, a portal might have one pipeline for “New Sales”, and another pipeline for “Contract Renewals". Each deal stage is a member of exactly one pipeline. Each pipeline always has at least one deal stage, and each portal has at least one pipeline.
 
Every portal initially contains a default pipeline with the pipelineId “default”. On portals that have only one pipeline, the pipeline property for any deal will be set to “default” automatically. On portals that have multiple pipelines, if you're setting a dealstage that is not in the default pipeline, you'll also need to set the pipeline property that lines up with the dealstage being used.

Individual pipelines will have the following format.

{
  "pipelineId": "default",
  // String; The internal ID of the pipeline
  "stages": [
  // A list of stages for this specific pipeline.
    {
      "stageId": "appointmentscheduled",
      // String; the internal ID of the stage. The stageId should be used when setting the dealstage property of a deal record.
      "label": "Appointment Scheduled",
      // String; The human-readable label for the stage. The label is used when showing the stage in HubSpot.
      "probability": 0.2,
      // Float; The probability that the deal will close. Used for the deal forecast.
      "active": true,
      // Boolean; true for any stage that's currently in use.
      "displayOrder": 0,
      // Integer; Used to determine the order in which the stages appear when viewed in HubSpot.
      // Stages are displayed in ascending order, starting with 0.
      "closedWon": false
      // Bloolean; true if this stage marks a deal as closed won.
    },
    {
      "stageId": "qualifiedtobuy",
      "label": "Qualified To Buy",
      "probability": 0.4,
      "active": true,
      "displayOrder": 1,
      "closedWon": false
    },
    {
      "stageId": "presentationscheduled",
      "label": "Presentation Scheduled",
      "probability": 0.6,
      "active": true,
      "displayOrder": 2,
      "closedWon": false
    },
    {
      "stageId": "decisionmakerboughtin",
      "label": "Decision Maker Bought-In",
      "probability": 0.8,
      "active": true,
      "displayOrder": 3,
      "closedWon": false
    },
    {
      "stageId": "contractsent",
      "label": "Contract Sent",
      "probability": 0.9,
      "active": true,
      "displayOrder": 4,
      "closedWon": false
    },
    {
      "stageId": "closedwon",
      "label": "Closed Won",
      "probability": 1,
      "active": true,
      "displayOrder": 5,
      "closedWon": true
    },
    {
      "stageId": "closedlost",
      "label": "Closed Lost",
      "probability": 0,
      "active": true,
      "displayOrder": 6,
      "closedWon": false
    },
    {
      "stageId": "new_test_stage_30%",
      "label": "New test stage 30%",
      "probability": 0.3,
      "active": true,
      "displayOrder": 7,
      "closedWon": false
    }
  ],
  "label": "Sales Pipeline",
  // String; The human-readable label for the pipeline. The label is used when displaying the pipeline in HubSpot.
  "active": true,
  // Boolean; true for any pipeline currently in use.
  "displayOrder": 0
  // Integer; Used to determine the order in which the pipelines appear when viewed in HubSpot.
  // Pipelines are displayed in ascending order, starting with 0.
}

Docs for this section or API