curl --request PATCH \
--url https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"display": {
"properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
]
},
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": [
"email",
"firstname"
]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
'import requests
url = "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId}"
payload = {
"actions": { "baseUrls": ["https://www.example.com/hubspot"] },
"display": { "properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
] },
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": ["email", "firstname"]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
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({
actions: {baseUrls: ['https://www.example.com/hubspot']},
display: {properties: [{dataType: 'STRING', label: 'Pets Name', name: 'pet_name'}]},
fetch: {
objectTypes: [{name: 'contacts', propertiesToSend: ['email', 'firstname']}],
targetUrl: 'https://www.example.com/hubspot/target'
},
title: 'PetSpot'
})
};
fetch('https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId}', 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/v3/extensions/cards-dev/{appId}/{cardId}",
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([
'actions' => [
'baseUrls' => [
'https://www.example.com/hubspot'
]
],
'display' => [
'properties' => [
[
'dataType' => 'STRING',
'label' => 'Pets Name',
'name' => 'pet_name'
]
]
],
'fetch' => [
'objectTypes' => [
[
'name' => 'contacts',
'propertiesToSend' => [
'email',
'firstname'
]
]
],
'targetUrl' => 'https://www.example.com/hubspot/target'
],
'title' => 'PetSpot'
]),
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/v3/extensions/cards-dev/{appId}/{cardId}"
payload := strings.NewReader("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\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/v3/extensions/cards-dev/{appId}/{cardId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId}")
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 \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}"
response = http.request(request)
puts response.read_body{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"auditHistory": [
{
"applicationId": 123,
"changedAt": 123,
"initiatingUserId": 123,
"objectTypeId": 123
}
],
"display": {
"properties": [
{
"label": "<string>",
"name": "<string>",
"options": [
{
"label": "<string>",
"name": "<string>"
}
]
}
]
},
"fetch": {
"objectTypes": [
{
"propertiesToSend": [
"<string>"
]
}
],
"targetUrl": "<string>"
},
"id": "<string>",
"title": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"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 a CRM card
Update a card definition with new details.
curl --request PATCH \
--url https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"display": {
"properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
]
},
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": [
"email",
"firstname"
]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
'import requests
url = "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId}"
payload = {
"actions": { "baseUrls": ["https://www.example.com/hubspot"] },
"display": { "properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
] },
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": ["email", "firstname"]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
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({
actions: {baseUrls: ['https://www.example.com/hubspot']},
display: {properties: [{dataType: 'STRING', label: 'Pets Name', name: 'pet_name'}]},
fetch: {
objectTypes: [{name: 'contacts', propertiesToSend: ['email', 'firstname']}],
targetUrl: 'https://www.example.com/hubspot/target'
},
title: 'PetSpot'
})
};
fetch('https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId}', 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/v3/extensions/cards-dev/{appId}/{cardId}",
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([
'actions' => [
'baseUrls' => [
'https://www.example.com/hubspot'
]
],
'display' => [
'properties' => [
[
'dataType' => 'STRING',
'label' => 'Pets Name',
'name' => 'pet_name'
]
]
],
'fetch' => [
'objectTypes' => [
[
'name' => 'contacts',
'propertiesToSend' => [
'email',
'firstname'
]
]
],
'targetUrl' => 'https://www.example.com/hubspot/target'
],
'title' => 'PetSpot'
]),
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/v3/extensions/cards-dev/{appId}/{cardId}"
payload := strings.NewReader("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\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/v3/extensions/cards-dev/{appId}/{cardId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}/{cardId}")
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 \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}"
response = http.request(request)
puts response.read_body{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"auditHistory": [
{
"applicationId": 123,
"changedAt": 123,
"initiatingUserId": 123,
"objectTypeId": 123
}
],
"display": {
"properties": [
{
"label": "<string>",
"name": "<string>",
"options": [
{
"label": "<string>",
"name": "<string>"
}
]
}
]
},
"fetch": {
"objectTypes": [
{
"propertiesToSend": [
"<string>"
]
}
],
"targetUrl": "<string>"
},
"id": "<string>",
"title": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"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
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The id of the app containing the Legacy CRM Card.
The id of the app containing the Legacy CRM Card
Body
Body for a patch with optional fields
Configuration for custom user actions on cards.
Show child attributes
Show child attributes
{
"baseUrls": ["https://www.example.com/hubspot"]
}
Configuration for displayed info on a card
Show child attributes
Show child attributes
Variant of CardFetchBody with fields as optional for patches
Show child attributes
Show child attributes
The top-level title for this card. Displayed to users in the CRM UI.
Response
successful operation
Configuration for custom user actions on cards.
Show child attributes
Show child attributes
{
"baseUrls": ["https://www.example.com/hubspot"]
}
A list of actions performed on the card, including creation, deletion, and updates.
Show child attributes
Show child attributes
Configuration for displayed info on a card
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The unique id of the card.
The top-level title for this card. Displayed to users in the CRM UI.
The date and time when the card was created.
The date and time when the card was last updated.
Was this page helpful?