Move Folder
curl --request PUT \
--url https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}', 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/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}"
req, _ := http.NewRequest("PUT", 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.put("https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"folder": {
"childLists": [
123
],
"childNodes": "<array>",
"id": "<string>",
"parentFolderId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedContentsAt": "2023-11-07T05:31:56Z",
"userId": 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"
}
}Folders
Move Folder
Move a folder to a new parent folder within the CRM lists. This operation is useful for reorganizing your folder structure by changing the parent folder of a specified folder.
PUT
/
crm
/
lists
/
2026-09-beta
/
folders
/
{folderId}
/
move
/
{newParentFolderId}
Move Folder
curl --request PUT \
--url https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}', 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/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}"
req, _ := http.NewRequest("PUT", 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.put("https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/lists/2026-09-beta/folders/{folderId}/move/{newParentFolderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"folder": {
"childLists": [
123
],
"childNodes": "<array>",
"id": "<string>",
"parentFolderId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedContentsAt": "2023-11-07T05:31:56Z",
"userId": 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
Supported products
Required Scopes
Required Scopes
Authorizations
oauth2oauth2
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The unique identifier of the folder to be moved.
The unique identifier of the new parent folder where the folder will be moved.
Response
successful operation
Show child attributes
Show child attributes
Last modified on August 7, 2026
Was this page helpful?
⌘I