curl --request PATCH \
--url https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"approvalStage": {},
"noBackwardsMovementRule": {},
"noSkippingStagesRule": {},
"objectCreationRule": {}
}
'import requests
url = "https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}"
payload = {
"approvalStage": {},
"noBackwardsMovementRule": {},
"noSkippingStagesRule": {},
"objectCreationRule": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
approvalStage: {},
noBackwardsMovementRule: {},
noSkippingStagesRule: {},
objectCreationRule: {}
})
};
fetch('https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'approvalStage' => [
],
'noBackwardsMovementRule' => [
],
'noSkippingStagesRule' => [
],
'objectCreationRule' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}"
payload := strings.NewReader("{\n \"approvalStage\": {},\n \"noBackwardsMovementRule\": {},\n \"noSkippingStagesRule\": {},\n \"objectCreationRule\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"approvalStage\": {},\n \"noBackwardsMovementRule\": {},\n \"noSkippingStagesRule\": {},\n \"objectCreationRule\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"approvalStage\": {},\n \"noBackwardsMovementRule\": {},\n \"noSkippingStagesRule\": {},\n \"objectCreationRule\": {}\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"governanceValidationRules": {
"noBackwardsMovementRule": {
"enabledForAllStages": true,
"pipelineStageIds": [
"<string>"
]
},
"noSkippingStagesRule": {
"enabledForAllStages": true,
"pipelineStageIds": [
"<string>"
]
},
"objectCreationRule": {
"pipelineStageIds": [
"<string>"
]
}
},
"id": "<string>",
"objectTypeId": "<string>",
"pipelineId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"approvalStage": {
"approvalMode": "ALL",
"approverUserIds": [
"<string>"
],
"pipelineStageId": "<string>",
"approvalComment": "<string>",
"conditionalApprovalFilterBranch": {
"filterBranchOperator": "<string>",
"filterBranchType": "OR",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "AND",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "NOT_ALL",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "NOT_ANY",
"filterBranches": [
"<unknown>"
],
"filters": [
"<unknown>"
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": "<unknown>",
"property": "<string>"
}
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": {
"includeObjectsWithNoValueSet": true,
"operationType": "BOOL",
"operator": "<string>",
"value": true
},
"property": "<string>"
}
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": {
"includeObjectsWithNoValueSet": true,
"operationType": "BOOL",
"operator": "<string>",
"value": true
},
"property": "<string>"
}
]
}
}
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Update rules (Partial)
Mettre à jour les règles d’un pipeline spécifique au sein d’un type d’objet donné dans HubSpot. Cette opération vous permet de modifier les règles de validation de gouvernance et les étapes d’approbation pour le pipeline spécifié. Elle est utile pour maintenir ou modifier les règles de workflow associées à vos pipelines.
curl --request PATCH \
--url https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"approvalStage": {},
"noBackwardsMovementRule": {},
"noSkippingStagesRule": {},
"objectCreationRule": {}
}
'import requests
url = "https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}"
payload = {
"approvalStage": {},
"noBackwardsMovementRule": {},
"noSkippingStagesRule": {},
"objectCreationRule": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
approvalStage: {},
noBackwardsMovementRule: {},
noSkippingStagesRule: {},
objectCreationRule: {}
})
};
fetch('https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'approvalStage' => [
],
'noBackwardsMovementRule' => [
],
'noSkippingStagesRule' => [
],
'objectCreationRule' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}"
payload := strings.NewReader("{\n \"approvalStage\": {},\n \"noBackwardsMovementRule\": {},\n \"noSkippingStagesRule\": {},\n \"objectCreationRule\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"approvalStage\": {},\n \"noBackwardsMovementRule\": {},\n \"noSkippingStagesRule\": {},\n \"objectCreationRule\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/pipelines-rules/2026-09/{objectTypeId}/{pipelineId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"approvalStage\": {},\n \"noBackwardsMovementRule\": {},\n \"noSkippingStagesRule\": {},\n \"objectCreationRule\": {}\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"governanceValidationRules": {
"noBackwardsMovementRule": {
"enabledForAllStages": true,
"pipelineStageIds": [
"<string>"
]
},
"noSkippingStagesRule": {
"enabledForAllStages": true,
"pipelineStageIds": [
"<string>"
]
},
"objectCreationRule": {
"pipelineStageIds": [
"<string>"
]
}
},
"id": "<string>",
"objectTypeId": "<string>",
"pipelineId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"approvalStage": {
"approvalMode": "ALL",
"approverUserIds": [
"<string>"
],
"pipelineStageId": "<string>",
"approvalComment": "<string>",
"conditionalApprovalFilterBranch": {
"filterBranchOperator": "<string>",
"filterBranchType": "OR",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "AND",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "NOT_ALL",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "NOT_ANY",
"filterBranches": [
"<unknown>"
],
"filters": [
"<unknown>"
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": "<unknown>",
"property": "<string>"
}
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": {
"includeObjectsWithNoValueSet": true,
"operationType": "BOOL",
"operator": "<string>",
"value": true
},
"property": "<string>"
}
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": {
"includeObjectsWithNoValueSet": true,
"operationType": "BOOL",
"operator": "<string>",
"value": true
},
"property": "<string>"
}
]
}
}
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Paramètres de chemin
L'identifiant unique du type d'objet pour lequel les règles du pipeline sont mises à jour.
L'identifiant unique du pipeline dont les règles sont mises à jour.
Corps
Une règle qui définit le processus d'approbation pour une étape spécifique du pipeline. Elle est définie à l'aide du schéma PublicApprovalStageRuleRequest.
Une règle qui empêche de revenir en arrière dans les étapes du pipeline. Elle est définie à l'aide du schéma PublicSequenceValidationRule.
Une règle qui empêche de sauter des étapes dans le pipeline. Elle est définie à l'aide du schéma PublicSequenceValidationRule.
Une règle qui spécifie les conditions de création d'objets au sein du pipeline. Elle est définie à l'aide du schéma PublicObjectCreationRule.
Réponse
successful operation
La date et l'heure de création de la règle de pipeline.
Show child attributes
Show child attributes
L'identifiant unique de la règle de pipeline.
L'identifiant du type d'objet auquel la règle de pipeline est associée.
L'identifiant unique du pipeline auquel la règle s'applique.
La date et l'heure de la dernière mise à jour de la règle de pipeline.
Show child attributes
Show child attributes