curl --request PATCH \
--url 'https://api.hubapi.com/automation/actions/2026-03/{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-03/{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-03/{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-03/{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-03/{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-03/{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-03/{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
Update an existing action definition by ID.
curl --request PATCH \
--url 'https://api.hubapi.com/automation/actions/2026-03/{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-03/{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-03/{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-03/{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-03/{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-03/{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-03/{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
Authorizations
Path Parameters
The unique identifier of the app associated with the extension definition.
The unique identifier of the extension definition to update.
Body
The URL endpoint where the action is executed.
An array of execution rules that define the conditions under which the action executes. Each item is a PublicExecutionTranslationRule object.
Show child attributes
Show child attributes
An array of dependencies between input fields. Each item can be a PublicSingleFieldDependency or a PublicConditionalSingleFieldDependency.
- SINGLE_FIELD
- CONDITIONAL_SINGLE_FIELD
Show child attributes
Show child attributes
An array of input field definitions required for the action. Each item is a PublicInputFieldDefinition object.
Show child attributes
Show child attributes
Contains labels for the action, including names and descriptions.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
An array of strings representing the types of objects associated with the action.
An array of output field definitions that the action will produce. Each item is an OutputFieldDefinition object.
Show child attributes
Show child attributes
Indicates whether the action is published and available for use.
Response
successful operation
The URL endpoint where the action is executed. It is a string.
An array of function identifiers associated with the action, where each item is a PublicActionFunctionIdentifier.
Show child attributes
Show child attributes
The unique identifier for the action definition. It is a string.
An array of input field definitions required for the action. Each item is a PublicInputFieldDefinition object.
Show child attributes
Show child attributes
An object containing labels for the action, with each property being a PublicActionLabels object.
Show child attributes
Show child attributes
An array of strings representing the types of objects associated with the action.
A boolean indicating whether the action is published and available for use.
The unique identifier for the current revision of the action definition. It is a string.
A Unix timestamp in milliseconds representing when the action was archived. It is an integer.
An array of execution translation rules for the action, where each item is a PublicExecutionTranslationRule.
Show child attributes
Show child attributes
An array of dependencies between input fields, where each item can be a PublicSingleFieldDependency or PublicConditionalSingleFieldDependency.
- SINGLE_FIELD
- CONDITIONAL_SINGLE_FIELD
Show child attributes
Show child attributes
Show child attributes
Show child attributes
An array of output field definitions produced by the action. Each item is an OutputFieldDefinition object.
Show child attributes
Show child attributes
Was this page helpful?