Skip to main content
POST
/
url-mappings
/
2026-03
/
url-mappings
Create URL mapping
curl --request POST \
  --url https://api.hubapi.com/url-mappings/2026-03/url-mappings \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: */*' \
  --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>",
  "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"
  }
}

Documentation Index

Fetch the complete documentation index at: https://developers.hubspot.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Supported products

Authorizations

Authorization
string
header
required

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

Body

*/*
cdnPurgeEmbargoTime
integer<int64>
required

A Unix timestamp in milliseconds indicating the embargo time for CDN purge related to the URL mapping.

contentGroupId
integer<int64>
required

A 64-bit integer representing the content group associated with the URL mapping.

cosObjectType
enum<string>
required

A string representing the type of content object associated with the URL mapping. Valid values include various content types such as 'CONTENT', 'LAYOUT', 'FILE', etc.

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

A Unix timestamp in milliseconds indicating when the URL mapping was created.

createdById
integer<int32>
required

The identifier of the user who created the URL mapping.

deletedAt
integer<int64>
required

A Unix timestamp in milliseconds indicating when the URL mapping was deleted.

destination
string
required

The destination URL to which the routePrefix is redirected.

id
integer<int64>
required

The unique identifier for the URL mapping, represented as a 64-bit integer.

internallyCreated
boolean
required

A boolean indicating if the URL mapping was created internally by the system.

isActive
boolean
required

A boolean indicating if the URL mapping is currently active.

isMatchFullUrl
boolean
required

A boolean indicating if the full URL should be matched.

isMatchQueryString
boolean
required

A boolean indicating if the query string should be matched.

isOnlyAfterNotFound
boolean
required

A boolean indicating if the mapping should only be applied after a 404 Not Found response.

isPattern
boolean
required

A boolean indicating if the routePrefix is a pattern.

isProtocolAgnostic
boolean
required

A boolean indicating if the mapping should ignore the URL protocol (http/https).

isRegex
boolean
required

A boolean indicating if the routePrefix should be treated as a regular expression.

isTrailingSlashOptional
boolean
required

A boolean indicating if the trailing slash in the URL is optional.

label
string
required

A label for the URL mapping.

lastUsedAt
integer<int64>
required
name
string
required

The name of the URL mapping.

note
string
required

A string containing notes about the URL mapping.

portalId
integer<int32>
required

The identifier for the HubSpot portal associated with this URL mapping.

precedence
integer<int32>
required

An integer representing the precedence of the URL mapping, used to determine order of evaluation.

redirectStyle
integer<int32>
required

An integer representing the style of redirection used.

routePrefix
string
required

The prefix of the URL path that is being mapped.

updated
integer<int64>
required

A Unix timestamp in milliseconds indicating when the URL mapping was last updated.

updatedById
integer<int32>
required

The identifier of the user who last updated the URL mapping.

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 April 13, 2026