{% note tip "" %}
If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.
{% endnote %}
Scope:
crmWho can execute the method: a user with "edit" access permission for document generator documents
The method crm.documentgenerator.document.enablepublicurl enables or disables the public link for a document.
{% include Note on required parameters %}
#|
|| Name
type | Description ||
|| id^*^
integer | Document identifier ||
|| status
integer | Public link mode:
1— enable0— disable
Default: 1 ||
|#
{% include Note on examples %}
The example enables the public link for document 61.
{% list tabs %}
-
cURL (Webhook)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"id":61,"status":1}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.documentgenerator.document.enablepublicurl
-
cURL (OAuth)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"id":61,"status":1,"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.documentgenerator.document.enablepublicurl
-
JS (TS)
// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of the payload returned in result (match the "response handling" section of the page) type EnablePublicUrlResult = { publicUrl: string | null } try { const response = await $b24.actions.v2.call.make<EnablePublicUrlResult>({ method: 'crm.documentgenerator.document.enablepublicurl', params: { id: 61, status: 1, }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const result = response.getData()!.result console.info(result.publicUrl) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }
-
JS (UMD)
<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function enablePublicUrl() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() const response = await $b24.actions.v2.call.make({ method: 'crm.documentgenerator.document.enablepublicurl', params: { id: 61, status: 1, }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const result = response.getData().result console.info(result.publicUrl) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', enablePublicUrl) </script>
-
PHP
try { $response = $b24Service ->core ->call( 'crm.documentgenerator.document.enablepublicurl', [ 'id' => 61, 'status' => 1, ] ); $result = $response ->getResponseData() ->getResult(); echo '<pre>'; print_r($result); echo '</pre>'; } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error enabling public URL: ' . $e->getMessage(); }
-
Python
from b24pysdk.client import BaseClient from b24pysdk.errors import BitrixAPIError, BitrixSDKException client: BaseClient try: bitrix_response = client.crm.documentgenerator.document.enablepublicurl( bitrix_id=61, status=1, ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API Error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK Error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")
-
BX24.js
BX24.callMethod( 'crm.documentgenerator.document.enablepublicurl', { id: 61, status: 1, }, (result) => { result.error() ? console.error(result.error()) : console.info(result.data()) ; }, );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'crm.documentgenerator.document.enablepublicurl', [ 'id' => 61, 'status' => 1, ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "crm.documentgenerator.document.enablepublicurl", b24.Params{ "id": 61, "status": 1, }) if err != nil { return fmt.Errorf("crm.documentgenerator.document.enablepublicurl: %w", err) } var item struct { PublicUrl string `json:"publicUrl"` } if err := json.Unmarshal(res.Result, &item); err != nil { return fmt.Errorf("parse response: %w", err) } fmt.Println(item.PublicUrl)
{% endlist %}
HTTP status: 200
{
"result": {
"publicUrl": "https://bitrix.bitrix24.com/~71q5j"
},
"time": {
"start": 1774011939,
"finish": 1774011939.899233,
"duration": 0.8992331027984619,
"processing": 0,
"date_start": "2026-03-20T16:05:39+03:00",
"date_finish": "2026-03-20T16:05:39+03:00",
"operating_reset_at": 1774012539,
"operating": 0.3236720561981201
}
}#|
|| Name
type | Description ||
|| result
object | Root object of the response. Contains the structure result ||
|| time
time | Information about the request execution time ||
|#
#|
|| Name
type | Description ||
|| publicUrl
string | null | Public link to the document. Returns status = 0 when null ||
|#
HTTP status: 400
{
"error": "0",
"error_description": "Document not found"
}{% include notitle Error handling %}
#|
|| Code | Description | Value ||
|| 100 | Bitrix\DocumentGenerator\Document constructor must be is public | Required parameter id not provided ||
|| DOCGEN_ACCESS_ERROR | Access denied | No access to the document ||
|| 0 | Document not found | Document with the specified id not found ||
|| Empty value | Document not found | Document does not belong to the crm module ||
|| Empty value | You do not have permissions to modify this document | Insufficient permissions to modify the document ||
|| Empty value | You do not have permissions to view documents | Insufficient permissions to view document generator documents ||
|| Empty value | Module documentgenerator is not installed | The documentgenerator module is not available ||
|#
{% include System errors %}