Delete Custom Field for Quotes crm.quote.userfield.delete

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.

Scope: crm

Who can execute the method: administrator CRM

The method crm.quote.userfield.delete removes a custom field from quotes.

Method Parameters

Required parameters are marked with *

Name
type

Description

id*
integer

Identifier of the custom field associated with the quote.

The identifier can be obtained using the methods crm.quote.userfield.add or crm.quote.userfield.list

Code Examples

How to Use Examples in Documentation

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":432}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.quote.userfield.delete
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":432,"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.quote.userfield.delete
        
// 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
        
        try {
          const response = await $b24.actions.v2.call.make<boolean>({
            method: 'crm.quote.userfield.delete',
            params: {
              id: 432,
            },
            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('Userfield deleted:', result)
          }
        } catch (error) {
          // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
          console.error(error)
        }
        
<!-- 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 deleteQuoteUserField() {
            try {
              // Initialize the SDK inside a Bitrix24 frame
              const $b24 = await B24Js.initializeB24Frame()
        
              const response = await $b24.actions.v2.call.make({
                method: 'crm.quote.userfield.delete',
                params: {
                  id: 432,
                },
                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('Userfield deleted:', result)
            } catch (error) {
              // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
              console.error(error)
            }
          }
        
          document.addEventListener('DOMContentLoaded', deleteQuoteUserField)
        </script>
        

        from b24pysdk.errors import BitrixAPIError, BitrixSDKException
        
        try:
            bitrix_response = client.crm.quote.userfield.delete(bitrix_id=432).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}")
        
try {
            $userfieldId = 123; // Replace with the actual userfield ID you want to delete
            $result = $serviceBuilder
                ->getCRMScope()
                ->quoteUserfield()
                ->delete($userfieldId);
        
            if ($result->isSuccess()) {
                print("Userfield deleted successfully.");
            } else {
                print("Failed to delete userfield.");
            }
        } catch (Throwable $e) {
            print("An error occurred: " . $e->getMessage());
        }
        
BX24.callMethod(
            'crm.quote.userfield.delete',
            {
                id: 432,
            },
            (result) => {
                result.error()
                    ? console.error(result.error())
                    : console.info(result.data())
                ;
            },
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'crm.quote.userfield.delete',
            [
                'id' => 432
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        
// client and ctx are already created — see the Go SDK section
        res, err := client.Core().Call(ctx, "crm.quote.userfield.delete", b24.Params{
        	"id": 432,
        })
        if err != nil {
        	return fmt.Errorf("crm.quote.userfield.delete: %w", err)
        }
        
        var ok bool
        if err := json.Unmarshal(res.Result, &ok); err != nil {
        	return fmt.Errorf("parse response: %w", err)
        }
        fmt.Println("done:", ok)
        

Response Handling

HTTP status: 200

{
            "result": true,
            "time": {
                "start": 1724419843.518672,
                "finish": 1724419844.120328,
                "duration": 0.6016559600830078,
                "processing": 0.1907808780670166,
                "date_start": "2024-08-23T15:30:43+02:00",
                "date_finish": "2024-08-23T15:30:44+02:00",
                "operating": 0
            }
        }
        

Returned Data

Name
type

Description

result
boolean

Root element of the response, contains true in case of success

time
time

Information about the request execution time

Error Handling

HTTP status: 400

{
            "error": "",
            "error_description": "Access denied."
        }
        

Name
type

Description

error
string

String error code. It consists of digits, Latin letters, and underscores. It may arrive empty — in that case only error_description shows the reason

error_description
string

Error message for the developer. Do not show it to the end user without processing

Possible Error Codes

Code

Description

Value

400

ID is not defined or invalid

The provided id is either less than or equal to zero, or not provided at all

403

Access denied

Occurs when:

  • the user lacks administrative rights
  • the user attempts to delete a custom field not associated with quotes

ERROR_NOT_FOUND

The entity with ID 'id' is not found

The custom field with the provided id does not exist

400

Error deleting FIELD_NAME for object ENTITY_ID

Unknown error during deletion

Continue Learning