curl --request PATCH \
--url 'https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey=' \
--header 'Content-Type: application/json' \
--data '
{
"actionUrl": "<string>",
"executionRules": [
{
"conditions": {},
"labelName": "<string>"
}
],
"inputFieldDependencies": [
{
"controllingFieldName": "<string>",
"dependencyType": "SINGLE_FIELD",
"dependentFieldNames": [
"<string>"
]
}
],
"inputFields": [
{
"isRequired": true,
"typeDefinition": {
"name": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"description": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "OWNER"
},
"supportedValueTypes": []
}
],
"labels": {},
"objectTypes": [
"<string>"
],
"outputFields": [
{
"typeDefinition": {
"externalOptions": true,
"name": "<string>",
"options": [
{
"description": "<string>",
"displayOrder": 123,
"doubleData": 123,
"hidden": true,
"label": "<string>",
"readOnly": true,
"value": "<string>"
}
],
"schema": {
"type": "INTEGER",
"maximum": 123,
"minimum": 123
},
"useChirp": true,
"description": "<string>",
"externalOptionsReferenceType": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>"
}
}
],
"published": true
}
'import requests
url = "https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey="
payload = {
"actionUrl": "<string>",
"executionRules": [
{
"conditions": {},
"labelName": "<string>"
}
],
"inputFieldDependencies": [
{
"controllingFieldName": "<string>",
"dependencyType": "SINGLE_FIELD",
"dependentFieldNames": ["<string>"]
}
],
"inputFields": [
{
"isRequired": True,
"typeDefinition": {
"name": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"description": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "OWNER"
},
"supportedValueTypes": []
}
],
"labels": {},
"objectTypes": ["<string>"],
"outputFields": [{ "typeDefinition": {
"externalOptions": True,
"name": "<string>",
"options": [
{
"description": "<string>",
"displayOrder": 123,
"doubleData": 123,
"hidden": True,
"label": "<string>",
"readOnly": True,
"value": "<string>"
}
],
"schema": {
"type": "INTEGER",
"maximum": 123,
"minimum": 123
},
"useChirp": True,
"description": "<string>",
"externalOptionsReferenceType": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>"
} }],
"published": True
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
actionUrl: '<string>',
executionRules: [{conditions: {}, labelName: '<string>'}],
inputFieldDependencies: [
{
controllingFieldName: '<string>',
dependencyType: 'SINGLE_FIELD',
dependentFieldNames: ['<string>']
}
],
inputFields: [
{
isRequired: true,
typeDefinition: {
name: '<string>',
options: [
{
label: '<string>',
value: '<string>',
description: '<string>',
displayOrder: 123
}
],
description: '<string>',
helpText: '<string>',
label: '<string>',
optionsUrl: '<string>',
referencedObjectType: 'OWNER'
},
supportedValueTypes: []
}
],
labels: {},
objectTypes: ['<string>'],
outputFields: [
{
typeDefinition: {
externalOptions: true,
name: '<string>',
options: [
{
description: '<string>',
displayOrder: 123,
doubleData: 123,
hidden: true,
label: '<string>',
readOnly: true,
value: '<string>'
}
],
schema: {type: 'INTEGER', maximum: 123, minimum: 123},
useChirp: true,
description: '<string>',
externalOptionsReferenceType: '<string>',
helpText: '<string>',
label: '<string>',
optionsUrl: '<string>'
}
}
],
published: true
})
};
fetch('https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey=', 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/automation/actions/2026-09/{appId}/{definitionId}?hapikey=",
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([
'actionUrl' => '<string>',
'executionRules' => [
[
'conditions' => [
],
'labelName' => '<string>'
]
],
'inputFieldDependencies' => [
[
'controllingFieldName' => '<string>',
'dependencyType' => 'SINGLE_FIELD',
'dependentFieldNames' => [
'<string>'
]
]
],
'inputFields' => [
[
'isRequired' => true,
'typeDefinition' => [
'name' => '<string>',
'options' => [
[
'label' => '<string>',
'value' => '<string>',
'description' => '<string>',
'displayOrder' => 123
]
],
'description' => '<string>',
'helpText' => '<string>',
'label' => '<string>',
'optionsUrl' => '<string>',
'referencedObjectType' => 'OWNER'
],
'supportedValueTypes' => [
]
]
],
'labels' => [
],
'objectTypes' => [
'<string>'
],
'outputFields' => [
[
'typeDefinition' => [
'externalOptions' => true,
'name' => '<string>',
'options' => [
[
'description' => '<string>',
'displayOrder' => 123,
'doubleData' => 123,
'hidden' => true,
'label' => '<string>',
'readOnly' => true,
'value' => '<string>'
]
],
'schema' => [
'type' => 'INTEGER',
'maximum' => 123,
'minimum' => 123
],
'useChirp' => true,
'description' => '<string>',
'externalOptionsReferenceType' => '<string>',
'helpText' => '<string>',
'label' => '<string>',
'optionsUrl' => '<string>'
]
]
],
'published' => true
]),
CURLOPT_HTTPHEADER => [
"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/automation/actions/2026-09/{appId}/{definitionId}?hapikey="
payload := strings.NewReader("{\n \"actionUrl\": \"<string>\",\n \"executionRules\": [\n {\n \"conditions\": {},\n \"labelName\": \"<string>\"\n }\n ],\n \"inputFieldDependencies\": [\n {\n \"controllingFieldName\": \"<string>\",\n \"dependencyType\": \"SINGLE_FIELD\",\n \"dependentFieldNames\": [\n \"<string>\"\n ]\n }\n ],\n \"inputFields\": [\n {\n \"isRequired\": true,\n \"typeDefinition\": {\n \"name\": \"<string>\",\n \"options\": [\n {\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\",\n \"displayOrder\": 123\n }\n ],\n \"description\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\",\n \"referencedObjectType\": \"OWNER\"\n },\n \"supportedValueTypes\": []\n }\n ],\n \"labels\": {},\n \"objectTypes\": [\n \"<string>\"\n ],\n \"outputFields\": [\n {\n \"typeDefinition\": {\n \"externalOptions\": true,\n \"name\": \"<string>\",\n \"options\": [\n {\n \"description\": \"<string>\",\n \"displayOrder\": 123,\n \"doubleData\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"readOnly\": true,\n \"value\": \"<string>\"\n }\n ],\n \"schema\": {\n \"type\": \"INTEGER\",\n \"maximum\": 123,\n \"minimum\": 123\n },\n \"useChirp\": true,\n \"description\": \"<string>\",\n \"externalOptionsReferenceType\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\"\n }\n }\n ],\n \"published\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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/automation/actions/2026-09/{appId}/{definitionId}?hapikey=")
.header("Content-Type", "application/json")
.body("{\n \"actionUrl\": \"<string>\",\n \"executionRules\": [\n {\n \"conditions\": {},\n \"labelName\": \"<string>\"\n }\n ],\n \"inputFieldDependencies\": [\n {\n \"controllingFieldName\": \"<string>\",\n \"dependencyType\": \"SINGLE_FIELD\",\n \"dependentFieldNames\": [\n \"<string>\"\n ]\n }\n ],\n \"inputFields\": [\n {\n \"isRequired\": true,\n \"typeDefinition\": {\n \"name\": \"<string>\",\n \"options\": [\n {\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\",\n \"displayOrder\": 123\n }\n ],\n \"description\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\",\n \"referencedObjectType\": \"OWNER\"\n },\n \"supportedValueTypes\": []\n }\n ],\n \"labels\": {},\n \"objectTypes\": [\n \"<string>\"\n ],\n \"outputFields\": [\n {\n \"typeDefinition\": {\n \"externalOptions\": true,\n \"name\": \"<string>\",\n \"options\": [\n {\n \"description\": \"<string>\",\n \"displayOrder\": 123,\n \"doubleData\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"readOnly\": true,\n \"value\": \"<string>\"\n }\n ],\n \"schema\": {\n \"type\": \"INTEGER\",\n \"maximum\": 123,\n \"minimum\": 123\n },\n \"useChirp\": true,\n \"description\": \"<string>\",\n \"externalOptionsReferenceType\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\"\n }\n }\n ],\n \"published\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"actionUrl\": \"<string>\",\n \"executionRules\": [\n {\n \"conditions\": {},\n \"labelName\": \"<string>\"\n }\n ],\n \"inputFieldDependencies\": [\n {\n \"controllingFieldName\": \"<string>\",\n \"dependencyType\": \"SINGLE_FIELD\",\n \"dependentFieldNames\": [\n \"<string>\"\n ]\n }\n ],\n \"inputFields\": [\n {\n \"isRequired\": true,\n \"typeDefinition\": {\n \"name\": \"<string>\",\n \"options\": [\n {\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\",\n \"displayOrder\": 123\n }\n ],\n \"description\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\",\n \"referencedObjectType\": \"OWNER\"\n },\n \"supportedValueTypes\": []\n }\n ],\n \"labels\": {},\n \"objectTypes\": [\n \"<string>\"\n ],\n \"outputFields\": [\n {\n \"typeDefinition\": {\n \"externalOptions\": true,\n \"name\": \"<string>\",\n \"options\": [\n {\n \"description\": \"<string>\",\n \"displayOrder\": 123,\n \"doubleData\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"readOnly\": true,\n \"value\": \"<string>\"\n }\n ],\n \"schema\": {\n \"type\": \"INTEGER\",\n \"maximum\": 123,\n \"minimum\": 123\n },\n \"useChirp\": true,\n \"description\": \"<string>\",\n \"externalOptionsReferenceType\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\"\n }\n }\n ],\n \"published\": true\n}"
response = http.request(request)
puts response.read_body{
"actionUrl": "<string>",
"functions": [
{
"functionType": "POST_ACTION_EXECUTION",
"id": "<string>"
}
],
"id": "<string>",
"inputFields": [
{
"isRequired": true,
"typeDefinition": {
"name": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"type": "bool",
"description": "<string>",
"fieldType": "booleancheckbox",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "OWNER"
},
"supportedValueTypes": [
"STATIC_VALUE"
]
}
],
"labels": {},
"objectTypes": [
"<string>"
],
"published": true,
"revisionId": "<string>",
"archivedAt": 123,
"executionRules": [
{
"conditions": {},
"labelName": "<string>"
}
],
"inputFieldDependencies": [
{
"controllingFieldName": "<string>",
"dependencyType": "SINGLE_FIELD",
"dependentFieldNames": [
"<string>"
]
}
],
"objectRequestOptions": {
"properties": [
"<string>"
]
},
"outputFields": [
{
"typeDefinition": {
"externalOptions": true,
"name": "<string>",
"options": [
{
"description": "<string>",
"displayOrder": 123,
"doubleData": 123,
"hidden": true,
"label": "<string>",
"readOnly": true,
"value": "<string>"
}
],
"schema": {
"type": "INTEGER",
"maximum": 123,
"minimum": 123
},
"type": "bool",
"useChirp": true,
"description": "<string>",
"externalOptionsReferenceType": "<string>",
"fieldType": "booleancheckbox",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "ABANDONED_CART"
}
}
]
}{
"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 an existing action definition
Mettre à jour une définition d’action existante par ID.
curl --request PATCH \
--url 'https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey=' \
--header 'Content-Type: application/json' \
--data '
{
"actionUrl": "<string>",
"executionRules": [
{
"conditions": {},
"labelName": "<string>"
}
],
"inputFieldDependencies": [
{
"controllingFieldName": "<string>",
"dependencyType": "SINGLE_FIELD",
"dependentFieldNames": [
"<string>"
]
}
],
"inputFields": [
{
"isRequired": true,
"typeDefinition": {
"name": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"description": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "OWNER"
},
"supportedValueTypes": []
}
],
"labels": {},
"objectTypes": [
"<string>"
],
"outputFields": [
{
"typeDefinition": {
"externalOptions": true,
"name": "<string>",
"options": [
{
"description": "<string>",
"displayOrder": 123,
"doubleData": 123,
"hidden": true,
"label": "<string>",
"readOnly": true,
"value": "<string>"
}
],
"schema": {
"type": "INTEGER",
"maximum": 123,
"minimum": 123
},
"useChirp": true,
"description": "<string>",
"externalOptionsReferenceType": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>"
}
}
],
"published": true
}
'import requests
url = "https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey="
payload = {
"actionUrl": "<string>",
"executionRules": [
{
"conditions": {},
"labelName": "<string>"
}
],
"inputFieldDependencies": [
{
"controllingFieldName": "<string>",
"dependencyType": "SINGLE_FIELD",
"dependentFieldNames": ["<string>"]
}
],
"inputFields": [
{
"isRequired": True,
"typeDefinition": {
"name": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"description": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "OWNER"
},
"supportedValueTypes": []
}
],
"labels": {},
"objectTypes": ["<string>"],
"outputFields": [{ "typeDefinition": {
"externalOptions": True,
"name": "<string>",
"options": [
{
"description": "<string>",
"displayOrder": 123,
"doubleData": 123,
"hidden": True,
"label": "<string>",
"readOnly": True,
"value": "<string>"
}
],
"schema": {
"type": "INTEGER",
"maximum": 123,
"minimum": 123
},
"useChirp": True,
"description": "<string>",
"externalOptionsReferenceType": "<string>",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>"
} }],
"published": True
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
actionUrl: '<string>',
executionRules: [{conditions: {}, labelName: '<string>'}],
inputFieldDependencies: [
{
controllingFieldName: '<string>',
dependencyType: 'SINGLE_FIELD',
dependentFieldNames: ['<string>']
}
],
inputFields: [
{
isRequired: true,
typeDefinition: {
name: '<string>',
options: [
{
label: '<string>',
value: '<string>',
description: '<string>',
displayOrder: 123
}
],
description: '<string>',
helpText: '<string>',
label: '<string>',
optionsUrl: '<string>',
referencedObjectType: 'OWNER'
},
supportedValueTypes: []
}
],
labels: {},
objectTypes: ['<string>'],
outputFields: [
{
typeDefinition: {
externalOptions: true,
name: '<string>',
options: [
{
description: '<string>',
displayOrder: 123,
doubleData: 123,
hidden: true,
label: '<string>',
readOnly: true,
value: '<string>'
}
],
schema: {type: 'INTEGER', maximum: 123, minimum: 123},
useChirp: true,
description: '<string>',
externalOptionsReferenceType: '<string>',
helpText: '<string>',
label: '<string>',
optionsUrl: '<string>'
}
}
],
published: true
})
};
fetch('https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey=', 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/automation/actions/2026-09/{appId}/{definitionId}?hapikey=",
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([
'actionUrl' => '<string>',
'executionRules' => [
[
'conditions' => [
],
'labelName' => '<string>'
]
],
'inputFieldDependencies' => [
[
'controllingFieldName' => '<string>',
'dependencyType' => 'SINGLE_FIELD',
'dependentFieldNames' => [
'<string>'
]
]
],
'inputFields' => [
[
'isRequired' => true,
'typeDefinition' => [
'name' => '<string>',
'options' => [
[
'label' => '<string>',
'value' => '<string>',
'description' => '<string>',
'displayOrder' => 123
]
],
'description' => '<string>',
'helpText' => '<string>',
'label' => '<string>',
'optionsUrl' => '<string>',
'referencedObjectType' => 'OWNER'
],
'supportedValueTypes' => [
]
]
],
'labels' => [
],
'objectTypes' => [
'<string>'
],
'outputFields' => [
[
'typeDefinition' => [
'externalOptions' => true,
'name' => '<string>',
'options' => [
[
'description' => '<string>',
'displayOrder' => 123,
'doubleData' => 123,
'hidden' => true,
'label' => '<string>',
'readOnly' => true,
'value' => '<string>'
]
],
'schema' => [
'type' => 'INTEGER',
'maximum' => 123,
'minimum' => 123
],
'useChirp' => true,
'description' => '<string>',
'externalOptionsReferenceType' => '<string>',
'helpText' => '<string>',
'label' => '<string>',
'optionsUrl' => '<string>'
]
]
],
'published' => true
]),
CURLOPT_HTTPHEADER => [
"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/automation/actions/2026-09/{appId}/{definitionId}?hapikey="
payload := strings.NewReader("{\n \"actionUrl\": \"<string>\",\n \"executionRules\": [\n {\n \"conditions\": {},\n \"labelName\": \"<string>\"\n }\n ],\n \"inputFieldDependencies\": [\n {\n \"controllingFieldName\": \"<string>\",\n \"dependencyType\": \"SINGLE_FIELD\",\n \"dependentFieldNames\": [\n \"<string>\"\n ]\n }\n ],\n \"inputFields\": [\n {\n \"isRequired\": true,\n \"typeDefinition\": {\n \"name\": \"<string>\",\n \"options\": [\n {\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\",\n \"displayOrder\": 123\n }\n ],\n \"description\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\",\n \"referencedObjectType\": \"OWNER\"\n },\n \"supportedValueTypes\": []\n }\n ],\n \"labels\": {},\n \"objectTypes\": [\n \"<string>\"\n ],\n \"outputFields\": [\n {\n \"typeDefinition\": {\n \"externalOptions\": true,\n \"name\": \"<string>\",\n \"options\": [\n {\n \"description\": \"<string>\",\n \"displayOrder\": 123,\n \"doubleData\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"readOnly\": true,\n \"value\": \"<string>\"\n }\n ],\n \"schema\": {\n \"type\": \"INTEGER\",\n \"maximum\": 123,\n \"minimum\": 123\n },\n \"useChirp\": true,\n \"description\": \"<string>\",\n \"externalOptionsReferenceType\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\"\n }\n }\n ],\n \"published\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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/automation/actions/2026-09/{appId}/{definitionId}?hapikey=")
.header("Content-Type", "application/json")
.body("{\n \"actionUrl\": \"<string>\",\n \"executionRules\": [\n {\n \"conditions\": {},\n \"labelName\": \"<string>\"\n }\n ],\n \"inputFieldDependencies\": [\n {\n \"controllingFieldName\": \"<string>\",\n \"dependencyType\": \"SINGLE_FIELD\",\n \"dependentFieldNames\": [\n \"<string>\"\n ]\n }\n ],\n \"inputFields\": [\n {\n \"isRequired\": true,\n \"typeDefinition\": {\n \"name\": \"<string>\",\n \"options\": [\n {\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\",\n \"displayOrder\": 123\n }\n ],\n \"description\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\",\n \"referencedObjectType\": \"OWNER\"\n },\n \"supportedValueTypes\": []\n }\n ],\n \"labels\": {},\n \"objectTypes\": [\n \"<string>\"\n ],\n \"outputFields\": [\n {\n \"typeDefinition\": {\n \"externalOptions\": true,\n \"name\": \"<string>\",\n \"options\": [\n {\n \"description\": \"<string>\",\n \"displayOrder\": 123,\n \"doubleData\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"readOnly\": true,\n \"value\": \"<string>\"\n }\n ],\n \"schema\": {\n \"type\": \"INTEGER\",\n \"maximum\": 123,\n \"minimum\": 123\n },\n \"useChirp\": true,\n \"description\": \"<string>\",\n \"externalOptionsReferenceType\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\"\n }\n }\n ],\n \"published\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/automation/actions/2026-09/{appId}/{definitionId}?hapikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"actionUrl\": \"<string>\",\n \"executionRules\": [\n {\n \"conditions\": {},\n \"labelName\": \"<string>\"\n }\n ],\n \"inputFieldDependencies\": [\n {\n \"controllingFieldName\": \"<string>\",\n \"dependencyType\": \"SINGLE_FIELD\",\n \"dependentFieldNames\": [\n \"<string>\"\n ]\n }\n ],\n \"inputFields\": [\n {\n \"isRequired\": true,\n \"typeDefinition\": {\n \"name\": \"<string>\",\n \"options\": [\n {\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\",\n \"displayOrder\": 123\n }\n ],\n \"description\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\",\n \"referencedObjectType\": \"OWNER\"\n },\n \"supportedValueTypes\": []\n }\n ],\n \"labels\": {},\n \"objectTypes\": [\n \"<string>\"\n ],\n \"outputFields\": [\n {\n \"typeDefinition\": {\n \"externalOptions\": true,\n \"name\": \"<string>\",\n \"options\": [\n {\n \"description\": \"<string>\",\n \"displayOrder\": 123,\n \"doubleData\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"readOnly\": true,\n \"value\": \"<string>\"\n }\n ],\n \"schema\": {\n \"type\": \"INTEGER\",\n \"maximum\": 123,\n \"minimum\": 123\n },\n \"useChirp\": true,\n \"description\": \"<string>\",\n \"externalOptionsReferenceType\": \"<string>\",\n \"helpText\": \"<string>\",\n \"label\": \"<string>\",\n \"optionsUrl\": \"<string>\"\n }\n }\n ],\n \"published\": true\n}"
response = http.request(request)
puts response.read_body{
"actionUrl": "<string>",
"functions": [
{
"functionType": "POST_ACTION_EXECUTION",
"id": "<string>"
}
],
"id": "<string>",
"inputFields": [
{
"isRequired": true,
"typeDefinition": {
"name": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"type": "bool",
"description": "<string>",
"fieldType": "booleancheckbox",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "OWNER"
},
"supportedValueTypes": [
"STATIC_VALUE"
]
}
],
"labels": {},
"objectTypes": [
"<string>"
],
"published": true,
"revisionId": "<string>",
"archivedAt": 123,
"executionRules": [
{
"conditions": {},
"labelName": "<string>"
}
],
"inputFieldDependencies": [
{
"controllingFieldName": "<string>",
"dependencyType": "SINGLE_FIELD",
"dependentFieldNames": [
"<string>"
]
}
],
"objectRequestOptions": {
"properties": [
"<string>"
]
},
"outputFields": [
{
"typeDefinition": {
"externalOptions": true,
"name": "<string>",
"options": [
{
"description": "<string>",
"displayOrder": 123,
"doubleData": 123,
"hidden": true,
"label": "<string>",
"readOnly": true,
"value": "<string>"
}
],
"schema": {
"type": "INTEGER",
"maximum": 123,
"minimum": 123
},
"type": "bool",
"useChirp": true,
"description": "<string>",
"externalOptionsReferenceType": "<string>",
"fieldType": "booleancheckbox",
"helpText": "<string>",
"label": "<string>",
"optionsUrl": "<string>",
"referencedObjectType": "ABANDONED_CART"
}
}
]
}{
"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
Paramètres de chemin
L'identifiant unique de l'application associée à la définition de l'extension.
L'identifiant unique de la définition d'extension à mettre à jour.
Corps
Le point de terminaison URL où l'action est exécutée.
Un tableau de règles d'exécution qui définissent les conditions dans lesquelles l'action s'exécute. Chaque élément est un objet PublicExecutionTranslationRule.
Show child attributes
Show child attributes
Un tableau de dépendances entre champs de saisie. Chaque élément peut être une PublicSingleFieldDependency ou une PublicConditionalSingleFieldDependency.
- SINGLE_FIELD
- CONDITIONAL_SINGLE_FIELD
Show child attributes
Show child attributes
Un tableau de définitions de champs de saisie requis pour l'action. Chaque élément est un objet PublicInputFieldDefinition.
Show child attributes
Show child attributes
Contient les libellés de l'action, y compris les noms et les descriptions.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Un tableau de chaînes de caractères représentant les types d'objets associés à l'action.
Un tableau de définitions de champs de sortie que l'action produira. Chaque élément est un objet OutputFieldDefinition.
Show child attributes
Show child attributes
Indique si l'action est publiée et disponible à l'utilisation.
Réponse
successful operation
Le point de terminaison URL où l'action est exécutée. Il s'agit d'une chaîne de caractères.
Un tableau d'identifiants de fonction associés à l'action, où chaque élément est un PublicActionFunctionIdentifier.
Show child attributes
Show child attributes
L'identifiant unique de la définition de l'action. Il s'agit d'une chaîne de caractères.
Un tableau de définitions de champs de saisie requis pour l'action. Chaque élément est un objet PublicInputFieldDefinition.
Show child attributes
Show child attributes
Un objet contenant les libellés de l'action, chaque propriété étant un objet PublicActionLabels.
Show child attributes
Show child attributes
Un tableau de chaînes représentant les types d'objets associés à l'action.
Un booléen indiquant si l'action est publiée et disponible à l'utilisation.
L'identifiant unique de la révision actuelle de la définition de l'action. Il s'agit d'une chaîne de caractères.
Un horodatage Unix en millisecondes représentant le moment où l'action a été archivée. Il s'agit d'un entier.
Un tableau de règles de traduction d'exécution pour l'action, où chaque élément est une PublicExecutionTranslationRule.
Show child attributes
Show child attributes
Un tableau de dépendances entre les champs de saisie, où chaque élément peut être une publicSingleFieldDependency ou une publicConditionalSingleFieldDependency.
- SINGLE_FIELD
- CONDITIONAL_SINGLE_FIELD
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Un tableau de définitions de champs de sortie produits par l'action. Chaque élément est un objet OutputFieldDefinition.
Show child attributes
Show child attributes