Справочник API
Профили
Создание профиля

Базовый URL

POST
https://v1.empr.cloud/api/v1/folders/{folderId}/profiles

Запрос

Заголовки запроса

Headers
Название
Тип / Значение
Описание
X-Token
String
Токен авторизации
Content-Type
application/json

Параметры URL

Query parameters
Название
Тип / Значение
Описание
folderId
String
ID папки, в которой создаётся профиль

Тело запроса

Для создания профиля необходим отпечаток, посмотрите Получение отпечатка

Body
Название
Тип / Значение
Описание
profile_name
String
Название профиля
profile_notes
String
Заметки профиля
profile_tags
Array
Массив с тегами профиля
proxy_id
String
ID прокси, которая будет назначена на профиль
profile_status
Array
Массив статуса профиля в формате ['name', 'color']
platform
String
ОС профиля. Доступные значения: Windows, MacOS, Linux
browser
String
Ядро браузера для профиля. Доступные значения: Chrome
fingerprint
Object
Объект с отпечатком профиля

Обязательные параметры объекта fingerprint

fingerprint
Название
Тип / Значение
Описание
webrtc_pref
String/Object
Режим работы WebRTC. Доступные значения: auto, off или manual. При выборе manual требуется передавать объект вида: {manual: '127.0.0.1'}
webgl_pref
String/Object
Режим работы WebGL. Доступные значения: real, off или noise. При выборе noise требуется передавать объект вида: {noise: 1.36065635}. Значение ключа noise должно быть типа float с 8-ю знаками после точки
canvas_pref
String/Object
Режим работы Canvas. Доступные значения: real, off или noise. При выборе noise требуется передавать объект вида: {noise: 1.36065612}. Значение ключа noise должно быть типа float с 8-ю знаками после точки
ports_protection
Array
Массив со значениями портов типа Number

Дополнительные параметры объекта fingerprint

fingerprint
Название
Тип / Значение
Описание
audio_input
Number
Количество устройств аудио-ввода
audio_output
Number
Количество устройств аудио-вывода
video_input
Number
Количество устройств видео-ввода

Режим работы Audio

fingerprint
Название
Тип / Значение
Описание
audio_pref
Null | Number
Режим работы Audio. Для использования audio в режиме Шум необходимо передать число с 8 знаками после точки, например 1.23456789. Для использования audio в режиме Реальный необходимо передать null или не указывать параметр audio_pref в объекте fingerprint

Режим работы Client Rects

fingerprint
Название
Тип / Значение
Описание
client_rects
Null | Number
Режим работы Client Rects. Доступные значения: real или noise. При выборе Real требуется передать client_rects: null. При выборе noise требуется передавать client_rects: 1.007612. Значение ключа client_rects должно быть типа float с 6-ю знаками после точки

Аргументы запуска

В Vision есть возможность указать аргументы (флаги) запуска для каждого конкретного профиля, без необходимости указывать их непосредственно в запросе на запуск. Их можно указать в массиве args вложенного объекта options в объекте fingerprint для каждого конкретного профиля.

Отключение уведомлений
{"fingerprint": {..., "options": {"args": ["--disable-notifications"] } } }

Аргумент --disable-notifications отключает все всплывающие уведомления в Chrome, включая:

  • Запросы веб-сайтов на показ уведомлений (например, «Разрешить уведомления от этого сайта?»)
  • Push-уведомления из сайтов (новости, мессенджеры, соцсети)
  • Системные уведомления Chrome (например, о завершении загрузки файла или синхронизации)
Отключение изображений
{"fingerprint": {..., "options": {"args": ["--blink-settings=imagesEnabled=false"] } } }

Аргумент --blink-settings=imagesEnabled=false отключает загрузку изображений в Chrome, включая:

  • Фотографии и графику на веб-страницах
  • Иконки и фоны сайтов
  • Анимации и декоративные изображения, встроенные в страницы
Блокировка доступа к сайту
{"fingerprint": {..., "options": {"args": ["--host-rules=MAP www.blockedsite1.com 127.0.0.1,MAP www.blockedsite2.com 127.0.0.1"] } } }

Аргумент --host-rules позволяет перенаправлять или блокировать указанные сайты, включая:

  • Перенаправление сайтов на локальный IP (например, 127.0.0.1)
  • Блокировку доступа к определённым доменам
  • Возможность перечислять несколько правил через запятую для одновременной блокировки нескольких сайтов
Отключение прокси для конкретных сайтов
{"fingerprint": {..., "options": {"args": ["--proxy-bypass-list=*.example.com;*.another.com"] } } }

Аргумент --proxy-bypass-list позволяет указывать список сайтов, доступ к которым будет осуществляться в обход привязанных к профилю прокси.

Пример кода для создания профиля с отпечатком актуальной версии

Обратите внимание, что в данном примере использован запрос на получение отпечатка.

Подробнее о нём прочитать можно в соответствующем пункте документации.

1const token = "YOUR_TOKEN_HERE";
2const folderId = "FOLDER_ID_HERE";
3
4(async () => {
5
6  // Получение отпечатка актуальной версии
7  const { data: { fingerprint } } = await fetch(
8    "https://v1.empr.cloud/api/v1/fingerprints/windows/latest"
9  ).then(r => r.json());
10
11  // Начало выполнения запроса на создание профиля
12  const result = await fetch(
13    `https://v1.empr.cloud/api/v1/folders/${folderId}/profiles`,
14    {
15      method: "POST",
16      headers: {
17        "X-Token": token,
18        "Content-Type": "application/json"
19      },
20      body: JSON.stringify({
21        profile_name: "Название профиля",
22        profile_notes: "",
23        profile_tags: [],
24        proxy_id: null,
25        new_profile_tags: [],
26        profile_status: null,
27        browser: "Chrome",
28        platform: "Windows",
29        // Добавление обязательных параметров объекта fingerprint
30        fingerprint: {
31          ...fingerprint,
32          webrtc_pref: "auto",
33          canvas_pref: "real",
34          webgl_pref: "real",
35          audio_pref: null,
36          ports_protection: [3389, 5900, 5901, 5800, 7070, 6568, 5938, 1080, 8080, 3128, 3030],
37          options: {
38            args: []
39          },
40          // Изменение параметров language на auto
41          navigator: {
42            ...fingerprint.navigator,
43            language: "auto",
44            languages: []
45          },
46        }
47      })
48    }
49  ).then(r => r.json());
50
51  console.log(result);
52
53})();

Ответ

Данные ответа

Response
Название
Тип / Значение
Описание
data
Object
Объект со всеми данными созданного профиля
usage
Object
Объект с данными по использованию тарифа

Пример ответа

1{
2  "data": {
3    "owner": "***privacy***",
4    "id": "***privacy***",
5    "folder_id": "***privacy***",
6    "proxy_id": null,
7    "profile_name": "Profile name",
8    "profile_notes": "",
9    "profile_status": null,
10    "profile_tags": [],
11    "browser": "chrome",
12    "platform": "windows",
13    "fingerprint": {
14      "major": 145,
15      "os": "windows",
16      "screen": {
17        "width": 3072,
18        "height": 1728,
19        "pixel_ratio": 1.25,
20        "avail_width": 3072,
21        "avail_height": 1680,
22        "avail_top": 0,
23        "avail_left": 0,
24        "color_depth": 24,
25        "pixel_depth": 24
26      },
27      "fonts": [],
28      "webrtc_pref": "auto",
29      "canvas_pref": "real",
30      "webgl_pref": "real",
31      "audio_pref": null,
32      "media_devices": null,
33      "ports_protection": [
34        3389, 5900, 5901,
35        5800, 7070, 6568,
36        5938, 1080, 8080,
37        3128, 3030
38      ],
39      "geolocation": null,
40      "client_rects": null,
41      "hints": {
42        "architecture": "x86",
43        "bitness": 64,
44        "model": "",
45        "platform": "Windows",
46        "platform_version": "19.0.0",
47        "mobile": false,
48        "ua_full_version": "145.0.7632.76"
49      },
50      "navigator": {
51        "hardware_concurrency": 24,
52        "device_memory": 8,
53        "max_touch_points": 10,
54        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36",
55        "platform": "Win32",
56        "timezone": null,
57        "language": "auto",
58        "languages": [],
59        "quota": 1199994590822,
60        "dnt": null,
61        "oscpu": null
62      },
63      "webgl": {
64        "unmasked_renderer": "ANGLE (AMD, AMD Radeon(TM) 890M Graphics (0x0000150E) Direct3D11 vs_5_0 ps_5_0, D3D11)",
65        "unmasked_vendor": "Google Inc. (AMD)",
66        "extensions": [
67          "ANGLE_instanced_arrays",
68          "EXT_blend_minmax",
69          "EXT_clip_control",
70          "EXT_color_buffer_half_float",
71          "EXT_depth_clamp",
72          "EXT_disjoint_timer_query",
73          "EXT_float_blend",
74          "EXT_frag_depth",
75          "EXT_polygon_offset_clamp",
76          "EXT_shader_texture_lod",
77          "EXT_texture_compression_bptc",
78          "EXT_texture_compression_rgtc",
79          "EXT_texture_filter_anisotropic",
80          "EXT_texture_mirror_clamp_to_edge",
81          "EXT_sRGB",
82          "KHR_parallel_shader_compile",
83          "OES_element_index_uint",
84          "OES_fbo_render_mipmap",
85          "OES_standard_derivatives",
86          "OES_texture_float",
87          "OES_texture_float_linear",
88          "OES_texture_half_float",
89          "OES_texture_half_float_linear",
90          "OES_vertex_array_object",
91          "WEBGL_blend_func_extended",
92          "WEBGL_color_buffer_float",
93          "WEBGL_compressed_texture_s3tc",
94          "WEBGL_compressed_texture_s3tc_srgb",
95          "WEBGL_debug_renderer_info",
96          "WEBGL_debug_shaders",
97          "WEBGL_depth_texture",
98          "WEBGL_draw_buffers",
99          "WEBGL_lose_context",
100          "WEBGL_multi_draw",
101          "WEBGL_polygon_mode"
102        ],
103        "extensions_v2": [
104          "EXT_clip_control",
105          "EXT_color_buffer_float",
106          "EXT_color_buffer_half_float",
107          "EXT_conservative_depth",
108          "EXT_depth_clamp",
109          "EXT_disjoint_timer_query_webgl2",
110          "EXT_float_blend",
111          "EXT_polygon_offset_clamp",
112          "EXT_render_snorm",
113          "EXT_texture_compression_bptc",
114          "EXT_texture_compression_rgtc",
115          "EXT_texture_filter_anisotropic",
116          "EXT_texture_mirror_clamp_to_edge",
117          "EXT_texture_norm16",
118          "KHR_parallel_shader_compile",
119          "NV_shader_noperspective_interpolation",
120          "OES_draw_buffers_indexed",
121          "OES_sample_variables",
122          "OES_shader_multisample_interpolation",
123          "OES_texture_float_linear",
124          "OVR_multiview2",
125          "WEBGL_blend_func_extended",
126          "WEBGL_clip_cull_distance",
127          "WEBGL_compressed_texture_s3tc",
128          "WEBGL_compressed_texture_s3tc_srgb",
129          "WEBGL_debug_renderer_info",
130          "WEBGL_debug_shaders",
131          "WEBGL_lose_context",
132          "WEBGL_multi_draw",
133          "WEBGL_polygon_mode",
134          "WEBGL_provoking_vertex",
135          "WEBGL_stencil_texturing"
136        ],
137        "extra": {
138          "uniform_buffer_offset_alignment": 256,
139          "max_elements_vertices": 2147483647,
140          "max_elements_indices": 2147483647,
141          "max_draw_buffers": 8,
142          "min_program_texel_offset": -8,
143          "max_program_texel_offset": 7,
144          "max_color_attachments": 8,
145          "max_vertex_texture_image_units": 16,
146          "max_texture_image_units": 16,
147          "max_3d_texture_size": 2048,
148          "max_texture_lod_bias": 2,
149          "max_fragment_uniform_components": 4096,
150          "max_vertex_uniform_components": 16384,
151          "max_array_texture_layers": 2048,
152          "max_varying_components": 120,
153          "max_transform_feedback_separate_components": 4,
154          "max_transform_feedback_interleaved_components": 120,
155          "max_samples": 8,
156          "max_vertex_uniform_blocks": 12,
157          "max_fragment_uniform_blocks": 12,
158          "max_combined_uniform_blocks": 24,
159          "max_uniform_buffer_bindings": 24,
160          "max_uniform_block_size": 65536,
161          "max_combined_vertex_uniform_components": 212992,
162          "max_combined_fragment_uniform_components": 200704,
163          "max_vertex_output_components": 120,
164          "max_fragment_input_components": 120,
165          "max_element_index": 4294967294,
166          "max_texture_size": 16384,
167          "max_vertex_attribs": 16,
168          "max_vertex_uniform_vectors": 4096,
169          "max_varying_vectors": 30,
170          "max_combined_texture_image_units": 32,
171          "max_fragment_uniform_vectors": 1024,
172          "max_cube_map_texture_size": 16384,
173          "max_renderbuffer_size": 16384,
174          "max_viewport_width": 32767,
175          "max_viewport_height": 32767,
176          "aliased_line_width_range_min": 1,
177          "aliased_line_width_range_max": 1,
178          "aliased_point_size_range_min": 1,
179          "aliased_point_size_range_max": 1024,
180          "max_server_wait_timeout": 0
181        }
182      },
183      "webgpu": {
184        "vendor": "amd",
185        "architecture": "rdna-2",
186        "limits": {
187          "maxBindGroups": 4,
188          "maxBufferSize": 268435456,
189          "maxVertexBuffers": 8,
190          "maxColorAttachments": 8,
191          "maxVertexAttributes": 16,
192          "maxTextureArrayLayers": 256,
193          "maxTextureDimension1D": 8192,
194          "maxTextureDimension2D": 8192,
195          "maxTextureDimension3D": 2048,
196          "maxBindingsPerBindGroup": 1000,
197          "maxComputeWorkgroupSizeX": 256,
198          "maxComputeWorkgroupSizeY": 256,
199          "maxComputeWorkgroupSizeZ": 64,
200          "maxSamplersPerShaderStage": 16,
201          "maxVertexBufferArrayStride": 2048,
202          "maxUniformBufferBindingSize": 65536,
203          "maxInterStageShaderVariables": 16,
204          "maxInterStageShaderComponents": 0,
205          "maxComputeWorkgroupStorageSize": 16384,
206          "maxStorageBuffersPerShaderStage": 8,
207          "maxUniformBuffersPerShaderStage": 12,
208          "minStorageBufferOffsetAlignment": 256,
209          "minUniformBufferOffsetAlignment": 256,
210          "maxComputeWorkgroupsPerDimension": 65535,
211          "maxSampledTexturesPerShaderStage": 16,
212          "maxStorageTexturesPerShaderStage": 4,
213          "maxComputeInvocationsPerWorkgroup": 256,
214          "maxDynamicStorageBuffersPerPipelineLayout": 4,
215          "maxDynamicUniformBuffersPerPipelineLayout": 8
216        }
217      },
218      "webcam": null,
219      "crc": "6f3131f2"
220    },
221    "running": false,
222    "pinned": false,
223    "worktime": 0,
224    "last_run_at": null,
225    "created_at": "2026-03-10T22:03:58.530125Z",
226    "updated_at": "2026-03-10T22:03:58.530125Z",
227    "recovered": 0,
228    "is_received": false,
229    "app_version": "0.0.0",
230    "proxy": null
231  },
232  "usage": { "users": 4, "profiles": 665 }
233}

Типы

Profile
Название
Тип / Значение
Описание
owner
String
Владелец профиля
id
String
Идентификатор профиля
folder_id
String
Идентификатор папки
proxy_id
UUID | null
Идентификатор прокси (null, если отсутствует)
profile_name
String
Название профиля
profile_notes
String
Заметки для профиля
profile_status
UUID | null
Статус профиля (null, если не применимо)
profile_tags
UUID[]
Массив UUID, представляющий теги, связанные с профилем
browser
String
Браузер, используемый профилем
platform
String
Платформа, используемая профилем (macos/windows/linux)
fingerprint
Fingerprint
Отпечаток, используемый профилем
running
Boolean
Является ли профиль в настоящее время активным
pinned
Boolean
Является ли профиль в настоящее время закрепленным
worktime
Number
Время работы профиля в секундах
last_run_at
Timestamp?
Время последнего запуска профиля
created_at
Timestamp
Время создания профиля
updated_at
Timestamp
Время последнего обновления профиля
proxy
Proxy | null
Прокси, используемый профилем
Fingerprint
Название
Тип / Значение
Описание
major
Number
Основная версия отпечатка
os
String
Операционная система отпечатка
screen
Screen
Детали экрана отпечатка
fonts
String[]
Массив установленных шрифтов в системе
webrtc_pref
String
Настройки WebRTC
canvas_pref
String
Настройки Canvas
webgl_pref
String
Настройки WebGL
media_devices
null
Информация о мультимедийных устройствах
ports_protection
string[]
Массив защищенных портов
geolocation
null
Настройки геолокации
client_rects
null
Настройки клиентских прямоугольников
hints
...
Подсказки о устройстве
navigator
...
Информация о навигаторе
webgl
...
Информация о WebGL
webgpu
...
Информация о WebGPU
crc
String
Значение CRC
Screen
Название
Тип / Значение
Описание
width
Number
Ширина экрана
height
Number
Высота экрана
pixel_ratio
Number
Пиксельное соотношение экрана
avail_width
Number
Доступная ширина экрана
avail_height
Number
Доступная высота экрана
avail_top
Number
Доступная верхняя позиция экрана
avail_left
Number
Доступная левая позиция экрана
color_depth
Number
Глубина цвета экрана
pixel_depth
Number
Глубина пикселя экрана