Skip to main content
GET
/
crm
/
extensions
/
cards-dev
/
2026-03
/
{appId}
/
{cardId}
Get a card.
curl --request GET \
  --url https://api.hubapi.com/crm/extensions/cards-dev/2026-03/{appId}/{cardId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.hubapi.com/crm/extensions/cards-dev/2026-03/{appId}/{cardId}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.hubapi.com/crm/extensions/cards-dev/2026-03/{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/extensions/cards-dev/2026-03/{appId}/{cardId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.hubapi.com/crm/extensions/cards-dev/2026-03/{appId}/{cardId}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.hubapi.com/crm/extensions/cards-dev/2026-03/{appId}/{cardId}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/crm/extensions/cards-dev/2026-03/{appId}/{cardId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "actions": {
    "baseUrls": [
      "<string>"
    ]
  },
  "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

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

appId
integer<int32>
required

The appId of the app containing the Legacy CRM Card(s)

cardId
string
required

The id of the Legacy CRM Card

Response

successful operation

actions
object
required
auditHistory
object[]
required

A list of actions performed on the card, including creation, deletion, and updates.

display
object
required
fetch
object
required
id
string
required

The unique id of the card.

title
string
required

The top-level title for this card. Displayed to users in the CRM UI.

createdAt
string<date-time>

The date and time when the card was created.

updatedAt
string<date-time>

The date and time when the card was last updated.

Last modified on March 31, 2026