---
title: "CallV2.make"
description: "A method for making Bitrix24 REST API version 2 calls."
canonical_url: "https://bitrix24.github.io/b24jssdk/docs/working-with-the-rest-api/call-rest-api-ver2"
last_updated: "2026-05-08"
---
# CallV2.make

> A method for making Bitrix24 REST API version 2 calls.

> [!WARNING]
> We are still updating this page. Some data may be missing here — we will complete it shortly.

> [!CAUTION]
> **Bitrix24 is gradually transitioning to REST API version 3**.
> - When calling methods [available in REST API v3](https://apidocs.bitrix24.com/api-reference/rest-v3/index.html), the method automatically logs a warning.

## Overview

Use `CallV2.make()` to call REST API version 2 methods.

The method returns a `Promise` with an `AjaxResult` object containing response data, status, and error handling methods.

```ts
// Basic usage
import { EnumCrmEntityTypeId } from '@bitrix24/b24jssdk'

const response = await $b24.actions.v2.call.make({
  method: 'crm.contact.get',
  params: {
    entityTypeId: EnumCrmEntityTypeId.contact,
    id: 123
  },
  requestId: 'unique-request-id'
})
```

## Method Signature

```ts-type
make<T = unknown>(
  options: ActionCallV2
): Promise<AjaxResult<T>>
```

### Parameters

The `options` object contains the following properties:

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| **`method`** | `string` | Yes | REST API method name (e.g., `crm.contact.get` , `tasks.task.get` ). |
| **`params`** | `TypeCallParams` | No | Object with parameters to pass to the REST API method. |
| **`requestId`** | `string` | No | Unique request identifier for tracking. Used for request deduplication and debugging. |

### Return Value

`Promise<AjaxResult<T>>` — a promise that resolves to an [`AjaxResult`](https://github.com/bitrix24/b24jssdk/blob/main/packages/jssdk/src/core/http/ajax-result.ts) object.

This object provides:

- `.getData(): SuccessPayload<T> | undefined` — returns the success envelope `{ result: T, time: PayloadTime }`, or `undefined` when the request failed. Check `.isSuccess` first.
- `.isSuccess: boolean` — flag indicating successful request execution.
- `.getErrorMessages(): string[]` — array of error messages.

## Key Concepts

### Automatic Warning

When calling methods that **are available in REST API version 3**, the system automatically logs a warning:

```json
"The method {method_name} is available in restApi:v3. It's worth migrating to the new API."
```

This indicates that you should consider migrating to the newer REST API version.

## Error Handling

Always check the result using `isSuccess` and handle errors:

```ts
const response = await $b24.actions.v2.call.make({
  method: 'some.method',
  params: { /* some_params */ },
  requestId: 'unique-request-id'
})

if (!response.isSuccess) {
  // Handling error
  console.error(new Error(`Error: ${response.getErrorMessages().join('; ')}`))
  return
}

// Working with a successful result
const data = response.getData()
```

## Examples

### Getting a CRM Company

```ts [call-rest-api-ver2.ts]
? visitAndReplace ?
```

## Alternatives and Recommendations

- **For working with lists:** Instead of manually managing pagination use:

 - [`CallList`](https://bitrix24.github.io/b24jssdk/raw/docs/working-with-the-rest-api/call-list-rest-api-ver2.md) — automatically retrieves all pages and returns a single result.
 - [`FetchList`](https://bitrix24.github.io/b24jssdk/raw/docs/working-with-the-rest-api/fetch-list-rest-api-ver2.md) — returns an async generator for step-by-step processing of large lists.
- **For batch operations:** Use [`Batch`](https://bitrix24.github.io/b24jssdk/raw/docs/working-with-the-rest-api/batch-rest-api-ver2.md) to execute up to 50 commands in a single request.
- **On the client-side (browser):** Use the built-in [`B24Frame`](https://bitrix24.github.io/b24jssdk/raw/docs/getting-started/installation/vue.md#init) object.

## Sitemap

See the full [sitemap](/b24jssdk/sitemap.md) for all pages.
