Skip to main content
GET
/
url-mappings
/
v3
/
url-mappings
cURL
curl --request GET \
  --url https://api.hubapi.com/url-mappings/v3/url-mappings \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.hubapi.com/url-mappings/v3/url-mappings"

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/url-mappings/v3/url-mappings', 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/url-mappings/v3/url-mappings",
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/url-mappings/v3/url-mappings"

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/url-mappings/v3/url-mappings")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/url-mappings/v3/url-mappings")

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
[
  {
    "cdnPurgeEmbargoTime": 123,
    "contentGroupId": 123,
    "created": 123,
    "createdById": 123,
    "deletedAt": 123,
    "destination": "<string>",
    "id": 123,
    "internallyCreated": true,
    "isActive": true,
    "isMatchFullUrl": true,
    "isMatchQueryString": true,
    "isOnlyAfterNotFound": true,
    "isPattern": true,
    "isProtocolAgnostic": true,
    "isRegex": true,
    "isTrailingSlashOptional": true,
    "label": "<string>",
    "lastUsedAt": 123,
    "name": "<string>",
    "note": "<string>",
    "portalId": 123,
    "precedence": 123,
    "redirectStyle": 123,
    "routePrefix": "<string>",
    "updated": 123,
    "updatedById": 123
  }
]
{
"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.

Response

successful operation

cdnPurgeEmbargoTime
integer<int64>
required
contentGroupId
integer<int64>
required
cosObjectType
enum<string>
required
Available options:
ACCESS_GROUP_MEMBERSHIP,
APP_PAGE,
BLOCK,
BLOG,
BLOG_AUTHOR,
BRAND_BUSINESS_UNIT,
BRAND_SETTINGS,
CONTACT_MEMBERSHIP,
CONTENT,
CONTENT_EMBED,
CONTENT_FOLDER,
CONTENT_GROUP,
CRM_OBJECT,
CRM_OBJECT_TYPE,
CUSTOM_WIDGET,
CUSTOMER_PORTAL,
DATA_QUERY,
DESIGN_FOLDER,
DOMAIN,
DOMAIN_SETTINGS,
EMAIL_ADDRESS,
EXTENSION_RESOURCE,
FILE,
FOLDER,
FOLLOW_ME,
FORM,
GLOBAL_CONTENT,
GLOBAL_STYLES_THEME,
HUBDB_TABLE,
HUBDB_TABLE_ROW,
IMAGE,
JS_PROJECT_COMPONENT,
KNOWLEDGE_BASE,
KNOWLEDGE_CATEGORY,
KNOWLEDGE_CATEGORY_TRANSLATION,
KNOWLEDGE_HOMEPAGE_CATEGORY,
LAYOUT,
LAYOUT_SECTION,
LIST_MEMBERSHIP,
MARKETPLACE_LISTING,
PASSWORD_PROTECTED,
PAYMENT,
PERSONALIZATION_TOKEN,
PLACEMENT,
PROJECT,
QUOTE_TEMPLATE,
RAW_ASSET,
REDIRECT_URL,
SECTION,
SERVERLESS_FUNCTION,
SITE_MAP,
SITE_MENU,
SITE_SETTINGS,
SUBSCRIPTIONS_SETTINGS,
TAG,
THEME,
THEME_SETTINGS,
UNRESTRICTED_ACCESS,
URL_MAPPING,
VIDEO_PLAYER,
WIDGET,
WORKFLOW
created
integer<int64>
required
createdById
integer<int32>
required
deletedAt
integer<int64>
required
destination
string
required

The destination URL, where the target URL should be redirected if it matches the routePrefix.

id
integer<int64>
required

The unique ID of this URL redirect.

internallyCreated
boolean
required
isActive
boolean
required
isMatchFullUrl
boolean
required

Whether the routePrefix should match on the entire URL, including the domain.

isMatchQueryString
boolean
required

Whether the routePrefix should match on the entire URL path, including the query string.

isOnlyAfterNotFound
boolean
required

Whether the URL redirect mapping should apply only if a live page on the URL isn't found. If False, the URL redirect mapping will take precedence over any existing page.

isPattern
boolean
required

Whether the routePrefix should match based on pattern.

isProtocolAgnostic
boolean
required

Whether the routePrefix should match both HTTP and HTTPS protocols.

isRegex
boolean
required
isTrailingSlashOptional
boolean
required

Whether a trailing slash will be ignored.

label
string
required
lastUsedAt
integer<int64>
required
name
string
required
note
string
required
portalId
integer<int32>
required
precedence
integer<int32>
required

Used to prioritize URL redirection. If a given URL matches more than one redirect, the one with the lower precedence will be used.

redirectStyle
integer<int32>
required

The type of redirect to create. Options include: 301 (permanent), 302 (temporary), or 305 (proxy). Find more details here.

routePrefix
string
required

The target incoming URL, path, or pattern to match for redirection.

updated
integer<int64>
required
updatedById
integer<int32>
required
Last modified on March 25, 2026