Update Site landing.site.update
Scope:
landingWho can execute the method: a user with "modify settings" access permission for the site
The method landing.site.update updates the parameters of the site.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
id* |
Site identifier. The site identifier can be obtained using the landing.site.getList method or from the result of the landing.site.add method. |
|
fields* |
A set of fields to update the site (detailed description) |
Parameter fields
|
Name |
Description |
|
TITLE |
Site title, up to |
|
CODE |
Symbolic code of the site. When an empty string is passed, the code is generated from The code cannot contain If the code is already taken in the domain, a numeric suffix is automatically added to it. |
|
TYPE |
Type of the site. Supported types are This is the internal type of the landing page, which is associated with the internal |
|
Domain of the site. Usually, the domain name is passed. For sites of types For 1C-Bitrix: Site Management, pass the identifier of an existing domain. The domain name as a string is not supported, and the method will return an error. |
|
|
DESCRIPTION |
Description of the site, up to |
|
XML_ID |
External identifier of the site. |
|
LANDING_ID_INDEX |
Identifier of the site page that will be the main one. |
|
LANDING_ID_404 |
Identifier of the 404 error page. |
|
LANDING_ID_503 |
Identifier of the 503 error page. |
Page identifiers for LANDING_ID_INDEX, LANDING_ID_404, and LANDING_ID_503 can be obtained using the landing.landing.getList method.
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"id": 206,
"fields": {
"TITLE": "Support portal",
"CODE": "support-portal",
"DESCRIPTION": "Updated site description",
"LANDING_ID_INDEX": 987
}
}' \
"https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.site.update.json"
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"id": 206,
"fields": {
"TITLE": "Support portal",
"CODE": "support-portal",
"DESCRIPTION": "Updated site description",
"LANDING_ID_INDEX": 987
},
"auth": "**put_access_token_here**"
}' \
"https://**put.your-domain-here**/rest/landing.site.update.json"
try
{
const response = await $b24.callMethod(
'landing.site.update',
{
id: 206,
fields: {
TITLE: 'Support portal',
CODE: 'support-portal',
DESCRIPTION: 'Updated site description',
LANDING_ID_INDEX: 987
}
}
);
const result = response.getData().result;
console.info(result);
}
catch (error)
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'landing.site.update',
[
'id' => 206,
'fields' => [
'TITLE' => 'Support portal',
'CODE' => 'support-portal',
'DESCRIPTION' => 'Updated site description',
'LANDING_ID_INDEX' => 987,
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . var_export($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating site: ' . $e->getMessage();
}
BX24.callMethod(
'landing.site.update',
{
id: 206,
fields: {
TITLE: 'Support portal',
CODE: 'support-portal',
DESCRIPTION: 'Updated site description',
LANDING_ID_INDEX: 987
}
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'landing.site.update',
[
'id' => 206,
'fields' => [
'TITLE' => 'Support portal',
'CODE' => 'support-portal',
'DESCRIPTION' => 'Updated site description',
'LANDING_ID_INDEX' => 987,
],
]
);
if (isset($result['error']))
{
echo 'Error: ' . $result['error_description'];
}
else
{
echo '<pre>';
print_r($result['result']);
echo '</pre>';
}
Response Handling
HTTP Status: 200
{
"result": true,
"time": {
"start": 1773288229,
"finish": 1773288229.999823,
"duration": 0.9998230934143066,
"processing": 0,
"date_start": "2026-03-12T07:03:49+01:00",
"date_finish": "2026-03-12T07:03:49+01:00",
"operating_reset_at": 1773288829,
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
|
|
time |
Information about the execution time of the request. |
Error Handling
HTTP Status: 400
{
"error": "MISSING_PARAMS",
"error_description": "Not enough parameters provided, missing: id"
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
|
|
Required parameter |
|
|
Insufficient rights to modify the site or specific fields. |
|
|
A non-existent domain was specified. |
|
|
An incorrect format of the domain name was provided. |
|
|
The domain is already linked to a site in the trash. |
|
|
It is not allowed to use a prohibited domain name in Bitrix24. |
|
|
The domain is already occupied. |
|
|
The site code is not unique within the domain. |
|
|
The character |
|
|
Unrecognized response from the external domain registration service. |
|
|
License error in the external domain registration service. |
|
|
Error from the external domain registration service with code |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Add Site landing.site.add
- Get the List of Sites landing.site.getList
- Publish Site landing.site.publication
- Delete Site landing.site.delete