Skip to main content
POST
/
url-mappings
/
v3
/
url-mappings
cURL
curl --request POST \
  --url https://api.hubapi.com/url-mappings/v3/url-mappings \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "cdnPurgeEmbargoTime": 123,
  "contentGroupId": 123,
  "cosObjectType": "ACCESS_GROUP_MEMBERSHIP",
  "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>",
  "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.

Body

application/json
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,
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
id
integer<int64>
required
internallyCreated
boolean
required
isActive
boolean
required
isMatchFullUrl
boolean
required
isMatchQueryString
boolean
required
isOnlyAfterNotFound
boolean
required
isPattern
boolean
required
isProtocolAgnostic
boolean
required
isRegex
boolean
required
isTrailingSlashOptional
boolean
required
label
string
required
name
string
required
note
string
required
portalId
integer<int32>
required
precedence
integer<int32>
required
redirectStyle
integer<int32>
required
routePrefix
string
required
updated
integer<int64>
required
updatedById
integer<int32>
required

Response

default - */*
category
string
required

The error category

correlationId
string<uuid>
required

A unique identifier for the request. Include this value with any error reports or support tickets

Example:

"aeb5f871-7f07-4993-9211-075dc63e7cbf"

message
string
required

A human readable message describing the error along with remediation steps where appropriate

Example:

"An error occurred"

context
object

Context about the error condition

Example:

"{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}"

errors
object[]

further information about the error

A map of link names to associated URIs containing documentation about the error or recommended remediation steps

subCategory
string

A specific category that contains more specific detail about the error

Last modified on March 30, 2026