Zoho CRM Pipeline

API for Managing Pipelines. Published by Zoho in its first-party OpenAPI 3.1.0 repository github.com/zoho/crm-oas; 8 operation(s).

OpenAPI Specification

zoho-crm-pipeline-openapi.json Raw ↑
{
  "openapi": "3.1.0",
  "info": {
    "title": "Pipeline",
    "description": "API for Managing Pipelines",
    "version": "8.0"
  },
  "servers": [
    {
      "url": "https://zohoapis.{dc}/crm/{version}",
      "description": "API Server URL",
      "variables": {
        "dc": {
          "enum": [
            "com",
            "eu",
            "in",
            "cn",
            "au"
          ],
          "default": "com",
          "description": "API Server URL TLD"
        },
        "version": {
          "default": "v8",
          "description": "API Version"
        }
      }
    }
  ],
  "security": [
    {
      "iam-oauth2-schema": [
        "ZohoCRM.settings.pipeline.CREATE",
        "ZohoCRM.settings.pipeline.READ",
        "ZohoCRM.settings.pipeline.UPDATE",
        "ZohoCRM.settings.pipeline.ALL"
      ]
    }
  ],
  "paths": {
    "/settings/pipeline": {
      "get": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.READ"
            ]
          }
        ],
        "summary": "Get Pipelines",
        "description": "Get pipelines for a given layout",
        "operationId": "getPipelines",
        "parameters": [
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "responses": {
          "200": {
            "description": "Get pipelines for a given layout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineGetResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Invalid Layout ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineGetErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.CREATE"
            ]
          }
        ],
        "operationId": "createPipeline",
        "summary": "Create Pipeline",
        "description": "Create a new pipeline for a given layout",
        "parameters": [
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PipelineCreateErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineGetErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoPermissionErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.UPDATE"
            ]
          }
        ],
        "operationId": "updateOrDeletePipelinePatch",
        "summary": "UpdateOrDelete Pipeline",
        "description": "Update/Delete an pipeline",
        "parameters": [
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PipelineUpdateOrDeleteErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineGetErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MaximumLengthErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoPermissionErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.UPDATE"
            ]
          }
        ],
        "operationId": "updateOrDeletePipelinePut",
        "summary": "UpdateOrDelete Pipeline",
        "description": "Update/Delete an pipeline",
        "parameters": [
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PipelineUpdateOrDeleteErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineGetErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/MaximumLengthErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoPermissionErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/settings/pipeline/{id}": {
      "get": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.READ"
            ]
          }
        ],
        "description": "Get particular pipeline by ID",
        "summary": "Get Pipeline",
        "operationId": "getPipeline",
        "parameters": [
          {
            "$ref": "#/components/parameters/LayoutID"
          },
          {
            "$ref": "#/components/parameters/Id"
          }
        ],
        "responses": {
          "200": {
            "description": "Get particular pipeline by ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePipelineGetResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineGetErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.UPDATE"
            ]
          }
        ],
        "operationId": "updateOrDeletePipelinePatchURL",
        "summary": "UpdateOrDelete Pipeline",
        "description": "Update/Delete an pipeline",
        "parameters": [
          {
            "$ref": "#/components/parameters/Id"
          },
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineUpdateRequestUrl"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PipelineUpdateOrDeleteUrlErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineUpdateOrDeleteErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineGetErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoPermissionErrorResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.UPDATE"
            ]
          }
        ],
        "operationId": "updateOrDeletePipelinePutURL",
        "summary": "UpdateOrDelete Pipeline",
        "description": "Update/Delete an pipeline",
        "parameters": [
          {
            "$ref": "#/components/parameters/Id"
          },
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineUpdateRequestUrl"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PipelineUpdateOrDeleteUrlErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineUpdateOrDeleteErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineGetErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoPermissionErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/settings/pipeline/actions/transfer": {
      "post": {
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.pipeline.CREATE"
            ]
          }
        ],
        "description": "Transfer and delete pipelines",
        "summary": "Transfer and Delete Pipelines",
        "operationId": "transferAndDeletePipelines",
        "parameters": [
          {
            "$ref": "#/components/parameters/LayoutID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineTransferResponse"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineTransferSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PipelineTransferErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PipelineGetErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoPermissionErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "Id": {
        "description": "Pipeline Id",
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "format": "int64",
          "type": "string"
        }
      },
      "LayoutID": {
        "description": "Layout Id",
        "name": "layout_id",
        "in": "query",
        "required": true,
        "schema": {
          "format": "int64",
          "type": "string"
        }
      }
    },
    "schemas": {
      "PipelineGetResponse": {
        "additionalProperties": false,
        "type": "object",
        "description": "Root response object containing an array of pipeline configurations from Zoho CRM.",
        "properties": {
          "pipeline": {
            "minItems": 1,
            "maxItems": 90,
            "type": "array",
            "description": "Array of pipeline configuration items.",
            "items": {
              "additionalProperties": false,
              "type": "object",
              "description": "Picklist option representing a pipeline configuration with associated stage mappings.",
              "properties": {
                "display_value": {
                  "format": "string",
                  "type": "string",
                  "description": "Display name of the picklist value as shown to users."
                },
                "default": {
                  "type": "boolean",
                  "description": "Indicates if this is the default picklist value."
                },
                "maps": {
                  "minItems": 1,
                  "maxItems": 200,
                  "type": "array",
                  "description": "Array of stage mappings for this picklist value.",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Mapping between a picklist value and a specific pipeline stage, including its position and forecasting details.",
                    "properties": {
                      "display_value": {
                        "format": "string",
                        "type": "string",
                        "description": "User-facing display name of the pipeline stage."
                      },
                      "sequence_number": {
                        "format": "int32",
                        "type": "integer",
                        "description": "Position of this stage in the pipeline sequence (1-based indexing)."
                      },
                      "colour_code": {
                        "format": "string",
                        "type": "string",
                        "description": "Hexadecimal color code associated with the stage for UI representation."
                      },
                      "forecast_category": {
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Represents a forecast category used in sales pipeline stages for revenue forecasting and reporting.",
                        "properties": {
                          "name": {
                            "format": "string",
                            "type": "string",
                            "description": "Human-readable name of the forecast category (e.g., 'Pipeline', 'Closed', 'Omitted')."
                          },
                          "id": {
                            "format": "int64",
                            "type": "string",
                            "description": "Unique system identifier for the forecast category."
                          }
                        },
                        "required": [
                          "name",
                          "id"
                        ]
                      },
                      "actual_value": {
                        "format": "string",
                        "type": "string",
                        "description": "Internal system value/API name for the stage."
                      },
                      "id": {
                        "format": "int64",
                        "type": "string",
                        "description": "Unique identifier for this stage mapping."
                      },
                      "forecast_type": {
                        "format": "string",
                        "type": "string",
                        "description": "Forecast type indicating stage status (e.g., 'Open', 'Closed Won', 'Closed Lost')."
                      }
                    },
                    "required": [
                      "display_value",
                      "sequence_number",
                      "forecast_category",
                      "actual_value",
                      "id",
                      "forecast_type"
                    ]
                  }
                },
                "actual_value": {
                  "format": "string",
                  "type": "string",
                  "description": "Internal API value for the picklist option."
                },
                "id": {
                  "format": "int64",
                  "type": "string",
                  "description": "Unique identifier for this picklist value."
                }
              },
              "required": [
                "display_value",
                "maps",
                "actual_value",
                "id"
              ]
            }
          }
        },
        "required": [
          "pipeline"
        ]
      },
      "PipelineCreateRequest": {
        "type": "object",
        "description": "Request body for updating or creating pipeline configurations with custom picklist values and stage mappings.",
        "properties": {
          "pipeline": {
            "type": "array",
            "description": "Array of pipeline picklist configurations to create or update.",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "type": "object",
              "description": "Picklist value configuration for pipeline customization, including stage mappings.",
              "properties": {
                "display_value": {
                  "format": "string",
                  "type": "string",
                  "description": "User-facing display name for the picklist value."
                },
                "default": {
                  "type": "boolean",
                  "description": "Indicates if this picklist value should be set as the default option."
                },
                "maps": {
                  "type": "array",
                  "description": "Array of stage mappings defining which stages this picklist value connects to and their sequence.",
                  "minItems": 1,
                  "maxItems": 200,
                  "items": {
                    "type": "object",
                    "description": "Mapping configuration for associating a picklist value with a specific pipeline stage.",
                    "properties": {
                      "id": {
                        "format": "int64",
                        "type": "string",
                        "description": "Unique identifier of the target pipeline stage to map."
                      },
                      "display_value": {
                        "format": "string",
                        "type": "string",
                        "description": "User-facing display name for the pipeline stage."
                      },
                      "sequence_number": {
                        "format": "int32",
                        "type": "integer",
                        "description": "Optional position of this stage mapping in the pipeline sequence (overrides default positioning)."
                      }
                    },
                    "required": [
                      "id"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "display_value",
                "maps"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "pipeline"
        ],
        "additionalProperties": false
      },
      "PipelineUpdateOrDeleteUrlErrorResponse": {
        "additionalProperties": false,
        "type": "object",
        "description": "Invalid pipeline error response",
        "properties": {
          "code": {
            "enum": [
              "INVALID_DATA"
            ],
            "type": "string",
            "description": "Machine-readable error code indicating the type of error (e.g., 'INVALID_DATA', 'RESOURCE_NOT_FOUND')."
          },
          "details": {
            "type": "object",
            "description": "Additional context about the specific error, typically identifying the problematic parameter.",
            "properties": {
              "resource_path_index": {
                "format": "int32",
                "type": "integer",
                "description": "Unique identifier of the pipeline that caused the validation error."
              }
            },
            "required": [
              "resource_path_index"
            ],
            "additionalProperties": false
          },
          "message": {
            "format": "string",
            "type": "string",
            "description": "Human-readable explanation of the error suitable for display to end users."
          },
          "status": {
            "format": "string",
            "type": "string",
            "description": "Overall status indicator ('error' or 'success').",
            "enum": [
              "error"
            ]
          }
        }
      },
      "MaximumLengthErrorResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "Error response when maximum length constraint is violated.",
        "properties": {
          "code": {
            "enum": [
              "INVALID_DATA"
            ],
            "type": "string",
            "description": "Machine-readable error code indicating the type of error."
          },
          "details": {
            "type": "object",
            "description": "Additional context about the specific error.",
            "properties": {
              "maximum_length": {
                "type": "integer",
                "format": "int32",
                "description": "The maximum allowed length for the field."
              },
              "api_name": {
                "type": "string",
                "format": "string",
                "description": "API field name that caused the error."
              },
              "json_path": {
                "type": "string",
                "format": "string",
                "description": "JSON path pointing to the exact location of the error in the request."
              }
            },
            "required": [
              "maximum_length",
              "api_name",
              "json_path"
            ],
            "additionalProperties": false
          },
          "message": {
            "type": "string",
            "format": "string",
            "description": "Human-readable explanation of the error suitable for display to end users."
          },
          "status": {
            "type": "string",
            "description": "Overall status indicator.",
            "enum": [
              "error"
            ]
          }
        },
        "required": [
          "code",
          "details",
          "message",
          "status"
        ]
      },
      "NoPermissionErrorResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "No permission for create/update/delete pipeline error response",
        "properties": {
          "code": {
            "enum": [
              "NO_PERMISSION"
            ],
            "type": "string",
            "description": "Machine-readable error code indicating the type of error (e.g., 'NO_PERMISSION')."
          },
          "details": {
            "additionalProperties": false,
            "type": "object",
            "description": "Additional context about the specific error.",
            "properties": {
              "permissions": {
                "format": "string",
                "type": "string",
                "description": "The required permission that is missing."
              }
            }
          },
          "message": {
            "format": "string",
            "type": "string",
            "description": "Human-readable explanation of the error suitable for display to end users."
          },
          "status": {
            "description": "Overall status indicator ('error' or 'success').",
            "format": "string",
            "type": "string"
          }
        }
      },
      "PipelineGetErrorResponse": {
        "type": "object",
        "description": "Standard error response format used across API endpoints for validation and business logic errors.",
        "properties": {
          "code": {
            "enum": [
              "INVALID_DATA"
            ],
            "type": "string",
            "description": "Machine-readable error code indicating the type of error (e.g., 'INVALID_DATA', 'RESOURCE_NOT_FOUND')."
          },
          "details": {
            "type": "object",
            "description": "Additional context about the specific error, typically identifying the problematic parameter.",
            "properties": {
              "param_name": {
                "format": "string",
                "type": "string",
                "description": "Name of the parameter that caused the validation error."
              }
            },
            "required": [
              "param_name"
            ],
            "additionalProperties": false
          },
          "message": {
            "format": "string",
            "type": "string",
            "description": "Human-readable explanation of the error suitable for display to end users."
          },
          "status": {
            "type": "string",
            "description": "Overall status indicator ('error' or 'success').",
            "enum": [
              "error"
            ]
          }
        },
        "required": [
          "code",
          "details",
          "message",
          "status"
        ],
        "additionalProperties": false
      },
      "PipelineCreateErrorResponse": {
        "type": "object",
        "description": "Batch error response for pipeline operations maintaining 1:1 correspondence with request items when validation fails.",
        "properties": {
          "pipeline": {
            "maxItems": 1,
            "type": "array",
            "description": "Array of individual error responses matching the request pipeline items.",
            "minItems": 1,
            "items": {
              "type": "object",
              "description": "Individual pipeline item error response.",
              "properties": {
                "code": {
                  "enum": [
                    "DUPLICATE_DATA",
                    "INVALID_DATA",
                    "MANDATORY_NOT_FOUND"
                  ],
                  "type": "string",
                  "description": "Machine-readable error code indicating the specific validation failure."
                },
                "details": {
                  "type": "object",
                  "description": "Error-specific context including field name and JSON path location.",
                  "properties": {
                    "api_name": {
                      "format": "string",
                      "type": "string",
                      "description": "API field name that caused the error."
                    },
                    "json_path": {
                      "format": "string",
                      "type": "string",
                      "description": "JSON path pointing to the exact location of the error in the request."
                    }
                  },
                  "required": [
                    "api_name",
                    "json_path"
                  ],
                  "additionalProperties": false
                },
                "message": {
                  "format": "string",
                  "type": "string",
                  "description": "Human-readable explanation of the specific error."
                },
                "status": {
                  "type": "string",
                  "description": "Overall status indicator for this item.",
                  "enum": [
                    "error"
                  ]
                }
              },
              "required": [
                "code",
                "details",
                "message",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "pipeline"
        ],
        "additionalProperties": false
      },
      "PipelineSuccessResponse": {
        "type": "object",
        "description": "Batch success response for pipeline creation/update operations, maintaining 1:1 correspondence with request items.",
        "properties": {
          "pipeline": {
            "maxItems": 1,
            "type": "array",
            "description": "Array of individual success responses matching the request pipeline items.",
            "minItems": 1,
            "items": {
              "type": "object",
              "description": "Individual success response for a pipeline operation, mirroring the request structure.",


# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-crm/refs/heads/main/openapi/zoho-crm-pipeline-openapi.json