---
title: "CallV3.make"
description: "Method for making Bitrix24 REST API version 3 calls."
canonical_url: "https://bitrix24.github.io/b24jssdk/docs/working-with-the-rest-api/call-rest-api-ver3"
last_updated: "2026-05-08"
---
# CallV3.make

> Method for making Bitrix24 REST API version 3 calls.

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

## Overview

Use `CallV3.make()` to call REST API version 3 methods.

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

```ts
// Basic usage
const response = await $b24.actions.v3.call.make({
  method: 'tasks.task.get',
  params: {
    id: 123
  },
  requestId: 'unique-request-id'
})
```

## Method Signature

```ts-type
make<T = unknown>(
  options: ActionCallV3
): 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.

## Error Handling

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

```ts
const response = await $b24.actions.v3.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 Task

```ts [call-rest-api-ver3.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-ver3.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-ver3.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-ver3.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.
