此 MCP 可以做什么
Manages no-code databases, forms, records, portals, dashboards, reports, maps, calendars, permissions, and workflow automations.
工具
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'name', 'module_type'], 'properties': {'icon': {'type': 'string', 'description': 'FontAwesome клас іконки (опційно, автовибір якщо не вказано)'}, 'name': {'type': 'string', 'description': 'Назва віджету'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'currency': {'type': 'string', 'description': 'Символ валюти: $, €, ₴ тощо'}, 'position': {'type': 'integer', 'description': 'Позиція в сітці (автоінкремент якщо не вказано)'}, 'module_id': {'type': 'string', 'description': 'ID форми або звіту (для типів 9,10,11,12,13,14,17) / ID графіка(5) / карти(6) / календаря(7)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'block_width': {'type': 'integer', 'description': 'Ширина картки в сітці (1-12, bootstrap grid)'}, 'module_type': {'type': 'integer', 'description': '9=таблиця/звіт, 10=сума, 11=середнє, 12=кількість, 13=нові сьогодні, 14=оновлені сьогодні, 15=URL, 17=growth_by_table, 18=growth_by_widgets, 5=графік, 6=карта, 7=календар, 16=HTML'}, 'property_id': {'type': 'string', 'description': 'ID або назва числового поля — для суми(10), середнього(11). Для growth(17): поле що рахується.'}, 'block_height': {'type': 'integer', 'description': 'Висота картки в px'}, 'change_period': {'type': 'integer', 'description': 'Для growth: 0=вчора vs позавчора, 1=ця тиждень vs минулий, 2=цей місяць vs минулий, 3=квартал, 4=рік'}, 'show_currency': {'type': 'boolean', 'description': 'Показати символ валюти біля числа'}, 'first_widget_id': {'type': 'string', 'description': 'ID першого дашборд-віджету для growth_by_widgets(18) — отримай з попереднього add_dashboard_item'}, 'date_property_id': {'type': 'string', 'description': 'ID або назва поля дати — для growth_by_table(17), щоб рахувати записи за period'}, 'second_widget_id': {'type': 'string', 'description': 'ID другого дашборд-віджету для growth_by_widgets(18)'}, 'currency_position': {'type': 'integer', 'description': '0=перед числом (default), 1=після числа'}, 'show_current_value': {'type': 'boolean', 'description': 'Показати поточне значення поряд з % росту (default: true)'}, 'show_compare_period': {'type': 'boolean', 'description': 'Показати значення за порівнювальний період (default: false)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'url': {'type': 'string', 'description': 'URL для module_type=12'}, 'icon': {'type': 'string', 'description': 'FontAwesome клас іконки'}, 'name': {'type': 'string', 'description': 'Назва пункту меню'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'position': {'type': 'integer', 'description': 'Позиція в меню'}, 'module_id': {'type': 'string', 'description': 'Реальний ID модуля (форми, звіту, карти тощо). Не потрібен для submenu-групи.'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'module_type': {'type': 'integer', 'description': 'Альтернатива module_ai_id: 10=підменю, 12=URL, 13=HTML-сторінка'}, 'module_ai_id': {'type': 'string', 'description': "form_ID, table_ID, report_ID, map_ID, cal_ID, chart_ID, або 'submenu' для групи підменю"}, 'parent_section_id': {'type': 'string', 'description': 'ID батьківської секції підменю (з list_portal_menu_items) — для підпунктів'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'record_id', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Текст коментаря'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'record_id': {'type': 'string', 'description': 'Record ID (from get_records or search_records)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'portal_group_id', 'email'], 'properties': {'email': {'type': 'string', 'description': 'User email address'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'send_email': {'type': 'boolean', 'description': 'Відправити activation email (default true)'}, 'portal_group_id': {'type': 'string', 'description': 'ID групи (з list_portal_groups або create_portal_group)'}, 'move_from_other_groups': {'type': 'boolean', 'description': 'Видалити з усіх інших груп цього порталу (default false)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'user_group_id', 'email'], 'properties': {'email': {'type': 'string', 'description': 'User email address'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'send_email': {'type': 'boolean', 'description': 'Відправити email запрошення (default true)'}, 'user_group_id': {'type': 'string', 'description': 'ID групи (з list_team_groups або create_team_group)'}, 'move_from_other_groups': {'type': 'boolean', 'description': 'Видалити юзера з усіх інших груп і скинути індивідуальні ролі (default false)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id', 'field_id', 'my_file_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'field_id': {'type': 'string', 'description': 'ID поля типу file або image'}, 'entity_id': {'type': 'string', 'description': 'ID форми'}, 'record_id': {'type': 'string', 'description': 'ID запису'}, 'my_file_id': {'type': 'string', 'description': 'media_id прикріпленого MyFile'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'fields_to_set'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'filter': {'type': 'object', 'properties': {'field': {'type': 'string', 'description': 'Назва або ID поля'}, 'value': {'type': 'string', 'description': 'Значення для пошуку'}}, 'description': 'Фільтр по одному полю: {field: "Назва поля", value: "значення"}. Наприклад: {field: "Статус", value: "Новий"}'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'report_id': {'type': 'string', 'description': 'ID звіту/фільтру — оновить тільки записи що входять в цей звіт'}, 'record_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Конкретні ID записів для оновлення. Якщо не вказано — використовується filter або report_id або всі записи.'}, 'fields_to_set': {'type': 'object', 'description': 'Поля для оновлення: {"Назва поля" або field_id: "нове значення"}. Наприклад: {"Статус": "Оброблено", "Пріоритет": "Низький"}'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'channels': {'type': 'object', 'description': "Канали зв'язку. Доступні ключі: whatsapp, telegram, messenger, viber, email, phone, instagram, snapchat, line, vk, sms, slack, skype, apple, linkedin, twitter, map, waze, tiktok, envelope, link. Значення — посилання або номер телефону.", 'additionalProperties': {'type': 'string'}}, 'portal_id': {'type': 'string', 'description': 'ID порталу (опційно — якщо не вказано, береться перший портал)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name'], 'properties': {'url': {'type': 'string', 'description': 'URL для redirect'}, 'name': {'type': 'string', 'description': 'Назва правила'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'emails': {'type': 'string', 'description': 'Email отримувачів (через кому)'}, 'message': {'type': 'string', 'description': 'Текст повідомлення (для show_message)'}, 'numbers': {'type': 'string', 'description': 'Номери телефонів для SMS (через кому)'}, 'subject': {'type': 'string', 'description': 'Тема листа'}, 'redirect': {'type': 'boolean'}, 'send_sms': {'type': 'boolean'}, 'sms_body': {'type': 'string', 'description': 'Текст SMS'}, 'entity_id': {'type': 'string', 'description': 'ID форми'}, 'on_create': {'type': 'boolean', 'description': 'Спрацьовує при створенні запису'}, 'on_update': {'type': 'boolean', 'description': 'Спрацьовує при оновленні запису'}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'properties': {'join': {'type': 'string', 'description': 'and або or'}, 'search': {'type': 'string'}, 'field_id': {'type': 'string', 'description': 'Назва або ID поля'}, 'condition': {'type': 'string', 'description': 'is, is_not, contains, is_empty, is_not_empty, less_than, greater_than тощо'}}}, 'description': 'Умови спрацювання правила'}, 'email_body': {'type': 'string', 'description': 'Тіло листа'}, 'send_email': {'type': 'boolean'}, 'email_column': {'type': 'string', 'description': 'Назва або ID поля з email отримувача'}, 'show_message': {'type': 'boolean'}, 'update_fields': {'type': 'array', 'items': {'type': 'object', 'properties': {'val': {'type': 'string', 'description': 'Нове значення'}, 'field_id': {'type': 'string', 'description': 'Назва або ID поля'}, 'set_current_time': {'type': 'boolean'}, 'set_current_user': {'type': 'boolean'}}}, 'description': 'Поля для оновлення (коли update_record=true)'}, 'update_record': {'type': 'boolean'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'data_sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'title': {'type': 'string', 'description': 'Fixed title (if date_title_type=0)'}, 'entity_id': {'type': 'string', 'description': 'Form ID'}, 'info_window': {'type': 'string', 'description': 'Fixed popup text (if info_window_type=0)'}, 'date_field_id': {'type': 'string', 'description': 'Start date field'}, 'date_title_type': {'type': 'integer', 'description': '0=fixed text, 1=from a field'}, 'repeat_field_id': {'type': 'string', 'description': 'A yes/no field of this form: only records where it is yes repeat every year'}, 'info_window_type': {'type': 'integer', 'description': '0=fixed text, 1=from a field'}, 'end_date_field_id': {'type': 'string', 'description': 'End date field (optional)'}, 'repeat_every_year': {'type': 'boolean', 'description': 'Show the events again every year (birthdays, yearly deadlines)'}, 'date_title_field_id': {'type': 'string', 'description': "Field for the event's title"}, 'info_window_field_id': {'type': 'string', 'description': "Field for the event's details"}}}}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name', 'type_code'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'order': {'type': 'string', 'description': 'asc або desc'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'axis_l': {'type': 'string', 'description': 'mth=по місяцях, field=по полю'}, 'entity_id': {'type': 'string', 'description': 'ID форми для X-осі'}, 'type_code': {'type': 'string', 'description': 'line, bar, pie, doughnut, area, scatter'}, 'property_id': {'type': 'string', 'description': 'Поле для групування (ID або назва)'}, 'data_sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Назва серії'}, 'color': {'type': 'string', 'description': 'Колір (#hex)'}, 'entity_id': {'type': 'string', 'description': 'ID форми'}, 'property_id': {'type': 'string', 'description': 'Числове поле для Y-осі'}}}, 'description': 'Серії даних (лінії/стовпці)'}, 'y_axis_title': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name', 'subject', 'body'], 'properties': {'body': {'type': 'string', 'description': 'HTML тіло листа'}, 'from': {'type': 'string', 'description': 'Адреса відправника'}, 'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'subject': {'type': 'string', 'description': 'Тема листа (використовуй html_name полів без дужок)'}, 'reply_to': {'type': 'string'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'email_column_id': {'type': 'string', 'description': 'Назва або ID поля з email отримувача (зверни увагу: НЕ html_name, а саме name або id)'}, 'recipient_source': {'type': 'integer', 'description': '0=вказані адреси, 1=з поля форми'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name', 'field_type'], 'properties': {'ampm': {'type': 'boolean', 'description': 'true — 12-годинний формат (AM/PM) для time/datetime'}, 'desc': {'type': 'string', 'description': 'Підказка-tooltip для заповнювача форми'}, 'func': {'type': 'integer', 'description': 'Функція для formula_type=function: 0=MIN, 1=MAX, 2=ROUND_UP, 3=ROUND_DOWN, 4=Ruby script'}, 'icon': {'type': 'string', 'description': 'action field: FontAwesome клас іконки'}, 'name': {'type': 'string', 'description': 'Назва поля'}, 'rich': {'type': 'boolean', 'description': 'true — текстовий редактор (для field_type=textarea)'}, 'step': {'type': 'integer', 'description': 'Крок autoincrement (default 1)'}, 'field': {'type': 'array', 'items': {'type': 'string'}, 'description': "Масив ID полів або константи ['Constant', 'текст'] для formula_type=formula"}, 'app_id': {'type': 'string', 'description': 'ID проєкту'}, 'choices': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ОБОВ\'ЯЗКОВО для select/checkbox/radio: масив варіантів. Виклик БЕЗ choices буде відхилено з помилкою — не роби його, одразу передай варіанти (візьми їх зі слів юзера або запропонуй розумні). Приклад: ["Новий", "В роботі", "Готово"].'}, 'default': {'type': 'string', 'description': 'Значення за замовчуванням (для select — один з варіантів choices)'}, 'visible': {'type': 'boolean', 'description': 'false — поле приховане у таблиці (але залишається у формі)'}, 'rel_type': {'type': 'integer', 'description': "Тип зв'язку (default 2): belongs_to=2/6/8 (dropdown/radio/multi), has_one=3/5/9 (dropdown/radio/multi), many-to-many=1/4 (autocomplete/checkboxes)"}, 'required': {'type': 'boolean', 'description': "true — поле обов'язкове для заповнення"}, 'delimiter': {'type': 'string', 'description': "Роздільник тисяч: '' або ',' або '.'"}, 'dependent': {'type': 'boolean', 'description': 'true — залежне rel поле (фільтрується батьківським), разом з depends_from_field_id'}, 'entity_id': {'type': 'string', 'description': 'ID форми'}, 'operation': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Оператори між полями: +, -, *, / (на 1 менше ніж кількість полів)'}, 'precision': {'type': 'integer', 'description': 'Знаків після коми для float (default 2)'}, 'separator': {'type': 'string', 'description': "Роздільник дробової частини: '.' або ','"}, 'field_type': {'type': 'string', 'description': 'Тип поля. Виклич get_field_types для повного переліку з описами.'}, 'operand_is': {'type': 'string', 'description': "Тип операндів для formula_type=formula: numbers, decimal, text, days, hours, year. ОБОВ'ЯЗКОВО якщо formula_type=formula."}, 'start_from': {'type': 'integer', 'description': 'Початкове значення autoincrement (default 1)'}, 'text_align': {'type': 'integer', 'description': 'Вирівнювання в комірці: 1=ліво, 2=право, 3=центр, 4=ширина'}, 'uniqueness': {'type': 'object', 'properties': {'uniq_type': {'type': 'integer', 'description': '0=немає, 1=строга унікальність, 2=multi (комбінація полів)'}, 'error_message': {'type': 'string', 'description': 'Кастомне повідомлення при порушенні унікальності'}, 'linked_fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Для uniq_type=2: масив назв або ID інших полів'}}, 'description': 'Перевірка унікальності значень у полі.'}, 'action_fill': {'type': 'integer', 'description': 'action field: 0=inline(default), 1=block'}, 'action_size': {'type': 'integer', 'description': 'action field: 0=small,1=medium(default),2=large'}, 'action_type': {'type': 'integer', 'description': 'action field: 0=link(default), 1=button'}, 'entries_num': {'type': 'integer', 'description': "Кількість пов'язаних записів для linked_records (default 5)"}, 'func_fields': {'type': 'array', 'items': {'type': 'string'}, 'description': "ID усіх полів що використовуються у func/script_body. ОБОВ'ЯЗКОВО для formula_type=function — без цього формула не перераховується."}, 'is_currency': {'type': 'boolean', 'description': 'Показувати як валюту'}, 'matrix_rows': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Рядки матриці (field_type=matrix)'}, 'script_body': {'type': 'string', 'description': "Ruby-код для func=4. Правила: результат у змінній 'a', остання строчка — 'a'; назви полів в одинарних лапках 'field_name'.to_f; заборонені def/while/puts/return/require; ЗАБОРОНЕНО агрегувати субформи через .to_f (для цього linked_column)."}, 'validations': {'type': 'object', 'properties': {'is': {'description': 'Точна довжина (для text) або точне значення (для number)'}, 'URL': {'type': 'string', 'description': '"on" — перевірка формату URL'}, 'Email': {'type': 'string', 'description': '"1" — перевірка формату email'}, 'format': {'type': 'string', 'description': 'Regexp у форматі /^regex$/ — перевірка за регулярним виразом'}, 'maximum': {'description': 'Максимум: для text — кількість символів; для integer/float — числове значення'}, 'minimum': {'description': 'Мінімум: для text — кількість символів; для integer/float — числове значення'}, 'LOCATION': {'type': 'string', 'description': '"1" — перевірка геолокації'}, 'Exclusion': {'type': 'string', 'description': 'Заборонені значення через кому: "spam, abuse"'}, 'Inclusion': {'type': 'string', 'description': 'Дозволені значення через кому: "Admin, Manager, User"'}, 'onlyOnSubmit': {'type': 'string', 'description': '"1" — валідувати тільки при сабміті, не на льоту'}, 'exclusion_allowNull': {'type': 'string', 'description': '"on" — дозволити пусте значення у Exclusion'}, 'inclusion_allowNull': {'type': 'string', 'description': '"on" — дозволити пусте значення у Inclusion'}, 'exclusion_partialMatch': {'type': 'string', 'description': '"on" — частковий збіг у Exclusion'}, 'inclusion_partialMatch': {'type': 'string', 'description': '"on" — частковий збіг у Inclusion'}, 'exclusion_caseSensitive': {'type': 'string', 'description': '"on" — враховувати регістр у Exclusion'}, 'inclusion_caseSensitive': {'type': 'string', 'description': '"on" — враховувати регістр у Inclusion'}}, 'description': "Правила валідації поля. required: true — простіший спосіб для обов'язкового поля."}, 'action_color': {'type': 'integer', 'description': 'action field: 0=primary,2=success,3=danger,6=light(default)'}, 'action_tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['task_type'], 'properties': {'id': {'type': 'string', 'description': 'Унікальний ID задачі (для посилань з action_display_rules)'}, 'emails': {'type': 'string'}, 'message': {'type': 'string'}, 'numbers': {'type': 'string'}, 'subject': {'type': 'string'}, 'webhook': {'type': 'object', 'description': 'Конфіг вебхуку: {request_method(0-4), auth_type(0-2), url, webhook_params[], webhook_headers[]}'}, 'sms_body': {'type': 'string'}, 'task_type': {'type': 'integer', 'description': 'Див. task_type у описі action_tasks вище'}, 'custom_url': {'type': 'string'}, 'email_body': {'type': 'string'}, 'sms_column': {'type': 'string'}, 'email_column': {'type': 'string'}, 'open_form_id': {'type': 'string'}, 'update_fields': {'type': 'array', 'items': {'type': 'object'}, 'description': "Поля для оновлення (task_type=2). Кожен об'єкт: {field_id, val, set_current_time, set_current_user}"}, 'open_custom_url': {'type': 'boolean'}, 'sms_template_id': {'type': 'string'}, 'open_form_widget': {'type': 'boolean'}, 'payment_workflow': {'type': 'object', 'description': 'Конфіг оплати: {merchant_type(0=paypal,1=braintree), amount_field_id, business_email, currency, ...}'}, 'email_template_id': {'type': 'string'}, 'sms_from_template': {'type': 'boolean'}, 'number_from_record': {'type': 'boolean'}, 'email_from_template': {'type': 'boolean'}, 'redirect_to_new_page': {'type': 'boolean'}, 'telegram_template_id': {'type': 'string'}, 'whatsapp_template_id': {'type': 'string'}, 'message_from_template': {'type': 'boolean'}, 'email_recipient_source': {'type': 'integer', 'description': '0=список emails, 1=з поля, 2=власники запису'}, 'message_recipient_source': {'type': 'integer'}}}, 'description': 'Задачі поля Дія (field_type=action). task_type: 0=email, 1=sms, 2=update_record, 3=payment, 4=webhook, 5=open_form_or_url, 6=telegram/whatsapp. Повна специфікація — get_field_types.'}, 'default_type': {'type': 'integer', 'description': '0=фіксований, 1=поточна дата/час (date/datetime), 2=поточний користувач (record_owners)'}, 'disable_past': {'type': 'boolean', 'description': 'Заборонити вибір минулих дат (для date/datetime/dob)'}, 'formula_type': {'type': 'string', 'description': "Тип формули: formula (арифметика/конкатенація), function (вбудовані функції + Ruby), link (clickable link), total (сума), average (середнє). ОБОВ'ЯЗКОВО для field_type=formula."}, 'currency_unit': {'type': 'string', 'description': "Символ валюти: '$', '€', '₴' тощо"}, 'rel_entity_id': {'type': 'string', 'description': "ID форми до якої лінкує rel поле (обов'язково для rel)"}, 'disable_future': {'type': 'boolean', 'description': 'Заборонити вибір майбутніх дат (для date/datetime/dob)'}, 'matrix_columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Колонки матриці (field_type=matrix)'}, 'vertical_align': {'type': 'integer', 'description': 'Вертикальне вирівнювання: 1=зверху, 2=посередині, 3=знизу'}, 'formula_link_to': {'type': 'string', 'description': 'formula_type=link: on_table або table_form'}, 'truncates_after': {'type': 'integer', 'description': 'Обрізати текст у таблиці після N символів (default 1000)'}, 'allow_new_values': {'type': 'boolean', 'description': 'Лише для select. true — юзери можуть додавати нові варіанти прямо з форми запису, без редагування поля. Default false.'}, 'display_as_image': {'type': 'boolean', 'description': 'true — показувати URL як картинку (лише field_type=url, для фото)'}, 'hide_column_name': {'type': 'boolean', 'description': 'action/formula: сховати назву колонки в таблиці'}, 'linked_entity_id': {'type': 'string', 'description': 'ID форми для linked_records / linked_column / linked_records_count'}, 'rel_show_field_id': {'type': 'string', 'description': 'ID поля яке відображати в rel dropdown (опційно)'}, 'action_done_message': {'type': 'string', 'description': 'action field: повідомлення після виконання задачі'}, 'formula_link_column': {'type': 'string', 'description': 'formula_type=link: ID поля з назвою таблиці/форми'}, 'formula_link_target': {'type': 'string', 'description': 'formula_type=link: _blank, _self, _parent, _top'}, 'action_display_rules': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'action_task_ids'], 'properties': {'id': {'type': 'string'}, 'icon': {'type': 'string', 'description': "FontAwesome клас, напр. 'fas fa-check'"}, 'name': {'type': 'string'}, 'conditions': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Умови відображення (пусто = для всіх записів). {property_id, condition, search, join: and|or}'}, 'action_size': {'type': 'integer', 'description': '0=small,1=medium,2=large'}, 'action_type': {'type': 'integer', 'description': '0=link, 1=button'}, 'action_color': {'type': 'integer', 'description': '0=primary,1=secondary,2=success,3=danger,4=info,5=warning,6=light,7=dark'}, 'criteria_name': {'type': 'string', 'description': "Опис критеріїв (обов'язково)"}, 'action_task_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ID задач з action_tasks'}}}, 'description': 'Правила показу кнопки Дія за умовами. Для всіх записів — не передавай цей масив.'}, 'add_percent_to_number': {'type': 'boolean', 'description': 'Додавати знак % після числа'}, 'depends_from_field_id': {'type': 'string', 'description': 'ID батьківського rel поля для каскаду (Країна→Місто тощо)'}, 'add_to_actions_control': {'type': 'boolean', 'description': 'action: додати до меню масових дій'}, 'linked_records_count_form_id': {'type': 'string', 'description': "ID форми для підрахунку (обов'язково для field_type=linked_records_count)"}, 'not_add_space_between_operands': {'type': 'integer', 'description': '1 = не додавати пробіл між операндами (для конкатенації без пробілів)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': "Прив'язка до форми (опційно)"}, 'module_type': {'type': 'integer', 'description': '0=forms, 1=charts, 2=reports'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Назва форми'}, 'app_id': {'type': 'string', 'description': 'ID проєкту'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name'], 'properties': {'all': {'type': 'boolean', 'description': 'true = every row, false = only rows that match the conditions'}, 'name': {'type': 'string', 'description': "The rule's name"}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'settings': {'type': 'object', 'properties': {'bold': {'type': 'boolean'}, 'italic': {'type': 'boolean'}, 'strike': {'type': 'boolean'}, 'font_size': {'type': 'integer'}, 'underline': {'type': 'boolean'}, 'text_color': {'type': 'string'}, 'all_columns': {'type': 'boolean'}, 'font_family': {'type': 'string'}, 'background_color': {'type': 'string'}}, 'description': 'The style: background_color (#hex), text_color (#hex), bold, italic, underline, strike (boolean), font_family, font_size (a number of px), all_columns (boolean)'}, 'entity_id': {'type': 'string', 'description': 'ID of the form or report'}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'properties': {'join': {'type': 'string', 'description': 'and or or'}, 'search': {'type': 'string'}, 'condition': {'type': 'string'}, 'property_id': {'type': 'string', 'description': 'Field name or ID'}}}, 'description': 'Conditions (when all=false). condition: is, is_not, contains, is_empty, is_not_empty, less_than, greater_than and so on'}, 'property_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Names or IDs of the fields the style applies to (empty = all columns)'}, 'criteria_name': {'type': 'string', 'description': "The conditions in words (e.g. 'Amount over 1000'). Required when all=false."}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'center_type': {'type': 'integer', 'description': '1=адреса, 2=координати, 3=перший запис'}, 'data_sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'entity_id': {'type': 'string', 'description': 'ID форми'}, 'address_field_id': {'type': 'string', 'description': 'Поле з адресою'}, 'info_window_type': {'type': 'integer', 'description': '1=поле, 2=фіксований текст'}, 'latitude_field_id': {'type': 'string', 'description': 'Поле з широтою'}, 'marker_field_type': {'type': 'integer', 'description': '1=адреса, 2=координати'}, 'marker_title_type': {'type': 'integer', 'description': '1=поле, 2=фіксований текст'}, 'longitude_field_id': {'type': 'string', 'description': 'Поле з довготою'}, 'info_window_field_id': {'type': 'string', 'description': 'Поле для вмісту popup'}, 'marker_title_field_id': {'type': 'string', 'description': 'Поле для заголовку маркера'}}}}, 'center_address': {'type': 'string', 'description': 'Адреса центру (для center_type=1)'}, 'center_latitude': {'type': 'number'}, 'center_longitude': {'type': 'number'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Назва порталу'}, 'color': {'type': 'integer', 'description': 'Колір: 0=White, 1=Black, 2=Grey (дизайн/юрист), 3=Blue (корпоратив/банки), 4=Green (агро/медицина), 5=Orange (логістика/ресторани), 6=Red (авто/розваги). Суворо 0-6.'}, 'theme': {'type': 'integer', 'description': 'Тема: 0=Standard/Minimalist, 1=Professional, 3=Professional Opened (CRM/ERP), 4=Professional Wide, 9=Fullscreen, 11=Carbon (dark), 13=Right List, 15=Jalousie. НЕ використовувати theme:2.'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'default_permissions': {'type': 'integer', 'description': '0=публічний, 1=тільки зареєстровані, 3=група'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Назва групи'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'ID порталу (з create_portal)'}, 'is_default': {'type': 'boolean', 'description': 'true = ця група за замовчуванням для нових реєстрацій на порталі'}, 'tables_permissions': {'type': 'array', 'items': {'type': 'object', 'properties': {'role': {'type': 'integer', 'description': '1=owner, 2=read, 3=write, 4=create, 5=write no delete, 6=read+edit+delete, 7=read+edit'}, 'table': {'type': 'string', 'description': 'ID форми або звіту'}, 'only_own_records': {'type': 'boolean', 'description': 'Бачить тільки свої записи'}}}, 'description': 'Права доступу на таблиці/звіти. Можна не передавати тут, а потім додавати через set_table_permission з portal_group_id'}}}
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Коротка назва проєкту (2-4 слова, не ідея, не опис). Приклад: 'Сімейний бюджет', 'CRM для клієнтів', 'Облік товарів'."}, 'form_name': {'type': 'string', 'description': "Назва першої форми (за замовчуванням 'Main')"}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'data': {'type': 'object', 'description': 'Поля запису: { "field_id": "значення" }. КЛЮЧІ — це ID полів (наприклад "a5tfWHm8jcW47cVcSbW6Sy"), НЕ назви. Отримай їх через describe_project або get_form_fields.'}, 'rels': {'type': 'object', 'description': 'Rel-поля (зв\'язки): { "field_id rel-поля": "ID запису до якого лінкувати" }. Ключ — ID rel-поля, значення — ID пов\'язаного запису.'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'values': {'type': 'object', 'description': 'Аліас для data — можна використовувати замість data (як в update_record)'}, 'subforms': {'type': 'object', 'description': 'Subform-поля: { "field_id subform-поля": { "form_id": "ID субформи", "records": [{"field_id": "значення"}] } }. УВАГА: records має бути масивом ОБ\'ЄКТІВ (hashes), а не масивом чисел чи ID!'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name', 'body'], 'properties': {'body': {'type': 'string', 'description': 'HTML тіло шаблону (використовуй html_name полів як звичайний текст, без дужок)'}, 'name': {'type': 'string', 'description': 'Назва шаблону'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'date_field'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'run_time': {'type': 'string', 'description': 'Час HH:MM (default: 08:00)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'time_zone': {'type': 'string'}, 'date_field': {'type': 'string', 'description': 'Назва або ID поля дати'}, 'recipients': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Email-адреси'}, 'days_before': {'type': 'integer', 'description': "За скільки днів до дати (0 = в день події, від'ємне = після)"}, 'email_template_id': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name'], 'properties': {'asc': {'type': 'boolean', 'description': 'true=за зростанням (default), false=за спаданням. Застосовується до sort_by.'}, 'name': {'type': 'string', 'description': 'Назва звіту'}, 'order': {'type': 'string', 'description': 'asc або desc — напрям сортування ГРУП (лише коли задано group_field_ids). Це НЕ поле для сортування — для цього використовуй sort_by.'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'sort_by': {'type': 'string', 'description': 'ID або назва поля для сортування записів (використовується разом з asc).'}, 'per_page': {'type': 'integer', 'description': 'Записів на сторінку (default 10)'}, 'criterias': {'type': 'array', 'items': {'type': 'object', 'properties': {'to': {'type': 'string', 'description': 'До (для between)'}, 'from': {'type': 'string', 'description': 'Від (для between)'}, 'join': {'type': 'string', 'description': 'and або or (default: and)'}, 'field': {'type': 'string', 'description': 'Назва або ID поля'}, 'search': {'type': 'string', 'description': 'Значення для порівняння'}, 'search_n': {'type': 'integer', 'description': 'N для last_n_days, next_n_days тощо'}, 'condition': {'type': 'string'}}}, 'description': 'Умови фільтрації. Для дат: yesterday, today, last_7_days, last_30_days, this_week, this_month, next_7_days, between (+ from/to), before, after. Для текстів: is, is_not, contains, not_contains, starts_with, ends_with, is_empty, is_not_empty. Для чисел: is, is_not, less_than, greater_than, between.'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'no_data_text': {'type': 'string', 'description': 'Текст, який побачить власник, коли під фільтри звіту не підпадає ЖОДЕН запис. ⚠️ Пиши його ЗАВЖДИ для звітів із фільтром — у новому проєкті записів ще нема, тож першим цей звіт покажуть саме порожнім. Мовою користувача і про ЙОГО бізнес: «Сьогодні візитів ще немає — вони зʼявляться тут, щойно клієнт запишеться», а не «немає даних».'}, 'property_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ID або назви полів що відображаються (пусто = всі)'}, 'total_by_group': {'type': 'integer', 'description': "1 = показати суму числового поля по кожній групі. Обов'язково вказати total_by_group_column_id."}, 'group_field_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ID полів для групування (GROUP BY). Наприклад, групувати по статусу.'}, 'average_by_group': {'type': 'integer', 'description': "1 = показати середнє числового поля по кожній групі. Обов'язково вказати average_by_group_column_id."}, 'only_groupname_and_count': {'type': 'integer', 'description': '1 = показати лише назву групи та кількість записів (без деталей)'}, 'total_by_group_column_id': {'type': 'string', 'description': 'ID або назва числового поля для підрахунку суми по групі.'}, 'average_by_group_column_id': {'type': 'string', 'description': 'ID або назва числового поля для підрахунку середнього по групі.'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'filters': {'type': 'array', 'items': {'type': 'object', 'properties': {'join': {'type': 'string', 'description': 'and (default) | or'}, 'field': {'type': 'string', 'description': 'field_name або field_id'}, 'value': {'type': 'string'}, 'condition': {'type': 'string', 'description': 'equal, not_equal, contains, not_contains, greater_than, less_than, is_empty, is_not_empty, this_day_and_after, this_day_and_before'}}}, 'description': 'Масив умов фільтрації'}, 'sort_by': {'type': 'string', 'description': 'field_name або field_id для сортування'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'order_asc': {'type': 'boolean', 'description': 'true=ASC (default), false=DESC'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'period': {'type': 'string', 'description': 'daily, weekly, monthly'}, 'run_time': {'type': 'string', 'description': 'Час запуску HH:MM (default: 08:00)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'report_id': {'type': 'string', 'description': 'ID звіту для відправки з фільтром'}, 'time_zone': {'type': 'string'}, 'recipients': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Масив email-адрес'}, 'export_type': {'type': 'string', 'description': 'email (default), ftp, sftp'}, 'email_template_id': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Текст SMS (використовуй html_name полів без дужок)'}, 'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'Назва групи'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'files_enabled': {'type': 'boolean', 'description': 'Доступ до файлів'}, 'can_create_maps': {'type': 'boolean'}, 'can_delete_files': {'type': 'boolean'}, 'can_upload_files': {'type': 'boolean'}, 'can_create_charts': {'type': 'boolean'}, 'can_create_portals': {'type': 'boolean'}, 'has_access_to_team': {'type': 'boolean'}, 'tables_permissions': {'type': 'array', 'items': {'type': 'object', 'properties': {'role': {'type': 'integer', 'description': '1=owner («Адмін» в інтерфейсі — повний доступ, як у власника: дані, структура, права), 2=read (тільки читання), 3=write (читання і запис), 4=creator (читання, запис, створення форм), 5=write no delete (без видалення), 6=read+edit+delete, 7=read+edit'}, 'table': {'type': 'string', 'description': 'ID або назва форми/звіту'}, 'hidden_fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Назви або ID прихованих полів'}, 'only_own_records': {'type': 'boolean'}}}, 'description': 'Права на форми/звіти'}, 'can_create_calendars': {'type': 'boolean'}, 'can_create_newsletters': {'type': 'boolean'}, 'access_to_only_own_files': {'type': 'boolean'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Текст повідомлення (використовуй html_name полів без дужок)'}, 'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'url'], 'properties': {'url': {'type': 'string', 'description': 'URL ендпоінту'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'method': {'type': 'string', 'description': 'GET, POST (default), PUT, PATCH, DELETE'}, 'params': {'type': 'array', 'items': {'type': 'object'}, 'description': '[{name, property_id|custom_value}]'}, 'headers': {'type': 'array', 'items': {'type': 'object'}, 'description': '[{name, value}]'}, 'auth_type': {'type': 'string', 'description': 'basic або bearer'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'basic_login': {'type': 'string'}, 'bearer_token': {'type': 'string'}, 'content_type': {'type': 'string', 'description': 'json (default), form_data, form_urlencoded'}, 'basic_password': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'name', 'body'], 'properties': {'body': {'type': 'string', 'description': 'Текст повідомлення (використовуй html_name полів без дужок)'}, 'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'channel_id': {'type': 'string', 'description': 'ID WhatsApp-каналу (q_channel). Якщо не вказано — береться перший підключений канал проєкту.'}, 'message_type': {'type': 'string', 'description': 'Тип шаблону WhatsApp'}, 'language_code': {'type': 'string', 'description': 'Код мови, напр. en_US, uk'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_ids'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'record_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Масив ID записів для видалення'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'ID проєкту'}, 'field_id': {'type': 'string', 'description': 'ID поля'}, 'entity_id': {'type': 'string', 'description': 'ID форми'}, 'field_name': {'type': 'string', 'description': 'Назва поля (пріоритет над field_id)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'portal_group_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'portal_group_id': {'type': 'string', 'description': 'Portal group ID (from list_portal_groups or create_portal_group)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'item_id': {'type': 'string'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'section_id': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'user_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'user_id': {'type': 'string', 'description': 'ID юзера з list_portal_users'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'record_id': {'type': 'string', 'description': 'Record ID (from get_records or search_records)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'all': {'type': 'boolean', 'description': 'true — видалити всі записи форми (небезпечно!)'}, 'limit': {'type': 'integer', 'description': 'Максимальна кількість записів для видалення (захист від помилок)'}, 'app_id': {'type': 'string', 'description': 'ID проєкту'}, 'filter': {'type': 'object', 'properties': {'field': {'type': 'string'}, 'value': {'type': 'string'}}, 'description': "Фільтр по значенню поля: {field: 'Статус', value: 'Архів'}"}, 'entity_id': {'type': 'string', 'description': 'ID форми'}, 'record_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Конкретні ID записів для видалення'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'reminder_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'reminder_id': {'type': 'string', 'description': 'Reminder ID (from list_reminders)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'view_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'view_id': {'type': 'integer', 'description': 'Saved view ID (from list_saved_views)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'schedule_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'schedule_id': {'type': 'string', 'description': 'Schedule ID (from list_schedules)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'user_group_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'user_group_id': {'type': 'string', 'description': 'Team group ID (from list_team_groups or create_team_group)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'template_id', 'kind'], 'properties': {'kind': {'type': 'string', 'description': 'record | email | sms | telegram | whatsapp'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'template_id': {'type': 'integer', 'description': 'Template ID (from list_templates)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'webhook_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'webhook_id': {'type': 'string', 'description': 'Webhook ID (from list_webhooks)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'ID проєкту з list_projects'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'record_id': {'type': 'string', 'description': 'Record ID (from get_records or search_records)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'block_index', 'html', 'page_checksum'], 'properties': {'html': {'type': 'string', 'description': 'ПОВНА нова <section>...</section>'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'page_id': {'type': 'string', 'description': 'Portal page ID (from list_portal_pages)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'block_index': {'type': 'integer', 'description': 'Індекс блока з list_site_blocks'}, 'page_checksum': {'type': 'string', 'description': 'page_checksum із list_site_blocks'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'email': {'type': 'string', 'description': 'Email отримувача (за замовчуванням — поточний юзер)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'format': {'type': 'string', 'description': 'xlsx (default) або pdf'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'report_id': {'type': 'string', 'description': 'ID звіту/фільтру для вибіркового експорту'}}}
输入模式
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Повний URL сторінки (http/https)'}}}
输入模式
{'type': 'object', 'required': ['description'], 'properties': {'locale': {'type': 'string', 'default': 'en', 'description': 'uk, en, ru'}, 'description': {'type': 'string', 'description': "Опис проєкту. Наприклад: 'CRM для клієнтів з угодами та аналітикою продажів'"}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'prompt'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'prompt': {'type': 'string', 'description': "Опис сайту або інструкція по редизайну. Наприклад: 'Сучасний сайт клініки з формою запису'"}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'existing_html': {'type': 'string', 'description': 'Поточний HTML для редизайну (з get_portal_page). Якщо порожній — генерується з нуля.'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'field_name'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'report_id': {'type': 'string', 'description': "Необов'язково: обмежити до конкретного звіту"}, 'field_name': {'type': 'string', 'description': 'Назва числового поля'}}}
输入模式
{'type': 'object', 'properties': {}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'ID форми з list_forms'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'metric_type'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'ID форми або ID звіту (report) — якщо звіт, метрика рахується тільки по відфільтрованих записах'}, 'date_field': {'type': 'string', 'description': "Назва або ID поля дати (обов'язково для growth). Можна передати 'created_at' або 'updated_at' для системних полів."}, 'metric_type': {'type': 'string', 'description': 'count | sum | average | new_today | updated_today | growth'}, 'value_field': {'type': 'string', 'description': "Назва або ID числового поля (обов'язково для sum і average)"}, 'compare_period': {'type': 'string', 'description': 'Для metric_type=growth: today_vs_yesterday | this_week_vs_last | this_month_vs_last | this_quarter_vs_last | this_year_vs_last'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'page_id': {'type': 'string', 'description': 'ID сторінки з list_portal_pages'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': [], 'properties': {}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'record_id': {'type': 'string', 'description': 'Record ID (from get_records or search_records)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'page': {'type': 'number', 'default': 1, 'description': 'Page number for pagination (starts at 1)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'search': {'type': 'string', 'description': 'Пошуковий текст'}, 'per_page': {'type': 'number', 'default': 20, 'description': 'Макс 100'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'report_id': {'type': 'string', 'description': 'ID звіту (view) для фільтрації записів'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'field_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'field_id': {'type': 'string', 'description': 'ID поля типу «звʼязок»'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['entity_id', 'property_id'], 'properties': {'entity_id': {'type': 'string', 'description': 'ID форми де знаходиться rel-поле'}, 'property_id': {'type': 'string', 'description': 'ID поля типу rel (з get_form_fields)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'report_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'report_id': {'type': 'string', 'description': 'ID звіту з get_reports'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': [], 'properties': {}}
输入模式
{'type': 'object', 'required': [], 'properties': {}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'records': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Масив об\'єктів де ключі — ID полів форми (не назви!). Альтернатива до csv_text. Приклад: [{"dcTrJdP1bppyk3vCkKvCoN": "Іван"}]'}, 'csv_text': {'type': 'string', 'description': 'CSV-текст з заголовками в першому рядку. Підтримує коми і крапку з комою як роздільник. Приклад: "Ім\'я,Email,Статус\\nІван,ivan@ex.com,Новий"'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'email'], 'properties': {'email': {'type': 'string', 'description': 'Email юзера'}, 'login': {'type': 'string', 'description': 'Логін (якщо не вказано — використовується email)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'send_email': {'type': 'boolean', 'default': True, 'description': 'Надіслати activation email'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'app_id': {'type': 'string', 'description': 'ID проєкту'}, 'entity_id': {'type': 'string', 'description': 'ID форми'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Якщо не вказано — перший портал проєкту'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Опційно — фільтр по формі'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'ID проєкту з list_projects'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'page': {'type': 'number', 'default': 1, 'description': 'Page number for pagination (starts at 1)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'per_page': {'type': 'number', 'default': 50, 'description': 'Макс 200'}, 'portal_id': {'type': 'string', 'description': 'ID порталу з describe_project або list_projects'}}}
输入模式
{'type': 'object', 'properties': {'page': {'type': 'number', 'default': 1, 'description': 'Сторінка (по 20 проєктів)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'record_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'record_id': {'type': 'string', 'description': 'ID запису (dtype)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Опційно — фільтр по формі'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'page_id': {'type': 'string', 'description': 'Необовʼязково — візьметься головна сторінка сайту'}, 'portal_id': {'type': 'string', 'description': 'Необовʼязково — візьметься портал із сайтом'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'kind': {'type': 'string', 'description': 'record | email | sms (default: всі)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Опційно — фільтр по формі'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Опціонально — фільтр по формі'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'page_id', 'media_id', 'page_checksum'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'page_id': {'type': 'string', 'description': 'Portal page ID (from list_portal_pages)'}, 'media_id': {'type': 'string', 'description': 'ID файлу з MyFile (з diamant_upload або media library)'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'current_src': {'type': 'string', 'description': 'Поточний src зображення для заміни (URL або відносний шлях)'}, 'css_selector': {'type': 'string', 'description': 'CSS-селектор для пошуку img-елемента (альтернатива current_src)'}, 'page_checksum': {'type': 'string', 'description': "SHA256 поточного HTML сторінки — береться з get_portal_page відповіді поля checksum. Обов'язково для захисту від паралельних змін."}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': "Only this table's examples. Omit for the whole project."}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'portal_group_id'], 'properties': {'email': {'type': 'string', 'description': 'User email address'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'user_id': {'type': 'string', 'description': 'User ID'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'portal_group_id': {'type': 'string', 'description': 'Portal group ID (from list_portal_groups or create_portal_group)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'user_group_id'], 'properties': {'email': {'type': 'string', 'description': 'Або email юзера'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'user_id': {'type': 'string', 'description': 'ID юзера'}, 'user_group_id': {'type': 'string', 'description': 'Team group ID (from list_team_groups or create_team_group)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'order'], 'properties': {'order': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Масив field_id або field_name у новому порядку (починаючи з позиції 0)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['action_id', 'record_id'], 'properties': {'action_id': {'type': 'string', 'description': "ID поля типу 'action' (кнопка автоматизації)"}, 'record_id': {'type': 'string', 'description': 'ID запису для якого запускається дія'}}}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "Пошуковий запит англійською, напр. 'red leather chair'"}, 'orientation': {'enum': ['landscape', 'portrait', 'squarish'], 'type': 'string', 'description': 'Орієнтація фото (за замовчуванням landscape)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'conditions'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'required': ['field_name', 'operator'], 'properties': {'value': {'type': 'string'}, 'operator': {'type': 'string', 'description': 'is | is_not | contains | gt | lt | is_empty | is_not_empty'}, 'field_name': {'type': 'string', 'description': 'Назва поля'}}}, 'description': 'Умови пошуку'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'records'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'records': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Масив записів. Кожен запис — хеш {назва_поля: значення}'}, 'subforms': {'type': 'array', 'items': {'type': 'object', 'properties': {'dtype_id': {'type': 'string'}, 'property_id': {'type': 'string'}, 'subform_dtype_id': {'type': 'string'}}}, 'description': "Зв'язки субформ [{property_id, dtype_id, subform_dtype_id}]. Рідко потрібно вручну."}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'field_id', 'size'], 'properties': {'size': {'type': 'integer', 'description': 'Нова ширина в пікселях (наприклад 200)'}, 'app_id': {'type': 'string', 'description': 'ID проєкту'}, 'field_id': {'type': 'string', 'description': 'ID поля-колонки, ширину якої міняємо'}, 'entity_id': {'type': 'string', 'description': 'ID форми, таблиця якої міняється'}, 'subform_field_id': {'type': 'string', 'description': 'Якщо міняємо колонку ВСЕРЕДИНІ субформи або linked_records — передай сюди ID поля-субформи (linked_records/subform). Без цього параметра міняється колонка в основній таблиці.'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'when_field_id', 'when_value'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'condition': {'type': 'string', 'description': 'Оператор умови; типово «is» (дорівнює). Інші: is_not, contains, not_contains, starts_with, ends_with, is_empty, is_not_empty, greater_than, less_than, before, after.'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'when_value': {'type': 'string', 'description': 'Значення, при якому правило спрацьовує — рівно як воно записане в опціях поля'}, 'when_field_id': {'type': 'string', 'description': 'ID поля-умови (напр. поле статусу)'}, 'hide_field_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ID полів, які СХОВАТИ. Разом із show_field_ids не передавати.'}, 'show_field_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'ID полів, які ПОКАЗАТИ'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'module'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'module': {'type': 'string', 'description': 'forms, charts, maps, calendars, files, team, portals, reports, table'}, 'can_edit': {'type': 'boolean'}, 'module_id': {'type': 'string', 'description': 'ID конкретного модуля (entity/widget/chart/map...)'}, 'can_delete': {'type': 'boolean'}, 'user_group_id': {'type': 'string', 'description': 'ID team group (або portal_group_id)'}, 'portal_group_id': {'type': 'string', 'description': 'Portal group ID (from list_portal_groups or create_portal_group)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'role': {'type': 'integer', 'description': '1=owner, 2=read, 3=write, 4=create, 5=write no delete, 6=read+edit+delete, 7=read+edit'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'revoke': {'type': 'boolean', 'description': 'true — ЗАБРАТИ право цієї групи на цю форму/звіт (правило видаляється). Ролі 1..7 не мають значення «нема доступу», тож відкликати можна лише так. role при revoke не потрібен. Якщо правила не було — відповідь not_found, нічого не змінюється.'}, 'entity_id': {'type': 'string', 'description': 'ID форми або звіту'}, 'hidden_fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Поля (назви або ID), які ця група НЕ бачить у ФОРМІ запису. Так звужують форму: напр. рядовий працівник заповнює сім полів ліда замість усіх тридцяти трьох. Передати повний список схованих — він замінює поточний; порожній масив [] показує все. Не передавати взагалі — не чіпати наявне налаштування.'}, 'user_group_id': {'type': 'string', 'description': 'ID team групи (з create_team_group)'}, 'hidden_columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Поля (назви або ID), яких ця група НЕ бачить у ТАБЛИЦІ (списку записів). Незалежне від hidden_fields: поле можна лишити у формі, але прибрати з таблиці. Та сама семантика заміни списку.'}, 'portal_group_id': {'type': 'string', 'description': 'ID portal групи'}, 'only_own_records': {'type': 'boolean', 'description': 'Бачить тільки свої записи'}, 'add_related_records': {'type': 'boolean', 'description': 'Кнопка «додати повʼязаний запис» у картці (працює разом із show_related_records).'}, 'view_record_history': {'type': 'boolean', 'description': 'Дозволити цій групі бачити вкладку «Історія» змін запису (хто, коли, що було → що стало). За замовчуванням вимкнено: історія показує старі значення полів.'}, 'show_related_records': {'type': 'boolean', 'description': 'Показувати в картці запису блок повʼязаних записів з інших таблиць (напр. у картці працівника — його рядки зарплати). Без цього група бачить лише саму картку, навіть маючи право на повʼязану таблицю.'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'email', 'role'], 'properties': {'role': {'type': 'string', 'description': 'owner | member | writer | creator | writer_not_delete | read_edit_delete | read_and_edit'}, 'email': {'type': 'string', 'description': 'Email юзера'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Опційно — обмежити роль конкретною формою'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string', 'description': 'Назва правила для пошуку (якщо action_id не передано)'}, 'app_id': {'type': 'string', 'description': 'ID проєкту'}, 'emails': {'type': 'string', 'description': 'Email отримувачів (через кому)'}, 'message': {'type': 'string'}, 'numbers': {'type': 'string'}, 'subject': {'type': 'string'}, 'new_name': {'type': 'string', 'description': 'Нова назва правила'}, 'redirect': {'type': 'boolean'}, 'send_sms': {'type': 'boolean'}, 'settings': {'type': 'object', 'description': 'Застаріле: ті самі прості атрибути хешем. Невідомий ключ — помилка.'}, 'sms_body': {'type': 'string'}, 'action_id': {'type': 'string', 'description': 'ID правила з list_action_rules — рядком, як повернуто (пріоритет над name)'}, 'entity_id': {'type': 'string', 'description': 'ID форми, у якій живе правило'}, 'on_create': {'type': 'boolean'}, 'on_update': {'type': 'boolean'}, 'conditions': {'type': 'array', 'items': {'type': 'object', 'properties': {'join': {'type': 'string', 'description': 'and або or'}, 'search': {'type': 'string'}, 'field_id': {'type': 'string', 'description': 'Назва або ID поля'}, 'condition': {'type': 'string', 'description': 'is, is_not, contains, is_empty, is_not_empty, less_than, greater_than тощо'}}}, 'description': 'ПОВНИЙ новий список умов спрацювання (замінює старий)'}, 'email_body': {'type': 'string'}, 'send_email': {'type': 'boolean'}, 'email_column': {'type': 'string', 'description': 'Назва або ID поля з email отримувача'}, 'show_message': {'type': 'boolean'}, 'update_fields': {'type': 'array', 'items': {'type': 'object', 'properties': {'val': {'type': 'string', 'description': 'Нове значення'}, 'field_id': {'type': 'string', 'description': 'Назва або ID поля'}, 'set_current_time': {'type': 'boolean'}, 'set_current_user': {'type': 'boolean'}}}, 'description': 'ПОВНИЙ новий список полів, які правило виставляє в записі (замінює старий; вмикає update_record)'}, 'update_record': {'type': 'boolean'}, 'email_recipient_source': {'type': 'integer', 'description': '0=вказані адреси, 1=з поля форми, 2=власники запису'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id', 'field_name', 'value'], 'properties': {'value': {'type': 'string', 'description': 'Нове значення'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'record_id': {'type': 'string', 'description': 'Record ID (from get_records or search_records)'}, 'field_name': {'type': 'string', 'description': "ID поля (наприклад 'dcTrJdP1bppyk3vCkKvCoN'). НЕ НАЗВА ПОЛЯ!"}}}
输入模式
{'type': 'object', 'required': ['app_id', 'item_id'], 'properties': {'icon': {'type': 'string', 'description': 'FontAwesome клас іконки (опційно)'}, 'name': {'type': 'string', 'description': 'Новий підпис картки'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'item_id': {'type': 'string', 'description': 'ID віджета з list_dashboard_items'}, 'position': {'type': 'integer', 'description': 'Позиція в сітці (опційно)'}, 'portal_id': {'type': 'string', 'description': 'Якщо не вказано — перший портал проєкту'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'cols': {'type': 'integer', 'description': 'Кількість колонок для textarea'}, 'desc': {'type': 'string', 'description': 'Опис / підказка під полем'}, 'name': {'type': 'string', 'description': 'Нова назва поля'}, 'rich': {'type': 'boolean', 'description': 'true — rich text editor (для textarea)'}, 'rows': {'type': 'integer', 'description': 'Кількість рядків для textarea'}, 'size': {'type': 'integer', 'description': 'Ширина поля в пікселях'}, 'step': {'type': 'integer', 'description': 'Крок для autoincrement поля'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'choices': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Нові варіанти для select / radio / checkbox (замінює всі поточні)'}, 'default': {'type': 'string', 'description': 'Значення за замовчуванням. ⚠️ Для select/radio/checkbox цей ключ несе САМ СПИСОК варіантів — щоб задати ПОЧАТКОВО ОБРАНИЙ варіант, використовуй `initial`.'}, 'initial': {'type': 'string', 'description': 'Для select/radio: який варіант стоїть обраним у новій формі (напр. статус «В очікуванні»). Порожній рядок знімає початковий вибір. Для звичайних полів початкове значення задає `default`.'}, 'visible': {'type': 'boolean', 'description': 'Чи відображати поле у формі'}, 'field_id': {'type': 'string', 'description': 'ID поля — альтернатива до field_name'}, 'position': {'type': 'integer', 'description': 'Позиція в формі (порядковий номер від 1)'}, 'required': {'type': 'boolean', 'description': "true — обов'язкове поле, false — знімає обов'язковість"}, 'delimiter': {'type': 'string', 'description': 'Роздільник тисяч'}, 'dependent': {'type': 'boolean', 'description': 'Залежне rel поле (каскадна фільтрація)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'image_url': {'enum': ['popup', 'full_size', 'record', 'url', 'nothing'], 'type': 'string', 'description': 'image fields only: what a click on the picture does — popup (a gallery over the table, the default), full_size (the picture in a new tab), record (opens the record), url (a link kept in another field: pass image_url_column), nothing'}, 'precision': {'type': 'integer', 'description': 'Знаків після коми (для float)'}, 'separator': {'type': 'string', 'description': "Роздільник дробової частини: '.' або ','"}, 'field_name': {'type': 'string', 'description': 'Назва поля (резолвиться в ID автоматично)'}, 'start_from': {'type': 'integer', 'description': 'Початкове значення для autoincrement поля'}, 'text_align': {'type': 'integer', 'description': 'Вирівнювання в комірці: 1=ліво, 2=право, 3=центр, 4=ширина'}, 'is_currency': {'type': 'boolean', 'description': 'Показувати як валюту'}, 'validations': {'type': 'object', 'properties': {'is': {'description': 'Точна довжина (text) або значення (number)'}, 'URL': {'type': 'string', 'description': '"on" — перевірка формату URL'}, 'Email': {'type': 'string', 'description': '"1" — перевірка формату email'}, 'format': {'type': 'string', 'description': 'Regexp у форматі /^regex$/'}, 'maximum': {'description': 'Максимум символів (text) або значення (number)'}, 'minimum': {'description': 'Мінімум символів (text) або значення (number)'}, 'LOCATION': {'type': 'string', 'description': '"1" — перевірка геолокації'}, 'Exclusion': {'type': 'string', 'description': 'Заборонені значення через кому'}, 'Inclusion': {'type': 'string', 'description': 'Дозволені значення через кому'}, 'onlyOnSubmit': {'type': 'string', 'description': '"1" — валідувати тільки при сабміті'}}, 'description': 'Правила валідації поля (рекомендований спосіб замість validate_options).'}, 'disable_past': {'type': 'boolean', 'description': 'Заборонити минулі дати'}, 'file_preview': {'enum': ['inline', 'none'], 'type': 'string', 'description': 'file fields only: inline — audio (mp3, wav, m4a, ogg), video (mp4, webm, mov) and PDF play or show right in the table and the record instead of a link; none — the link (the default). This is what «see / play the files inside the table instead of downloading them» means for a file field.'}, 'uniq_columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Для uniq_validation=multi: масив назв або ID інших полів, разом з якими перевіряється унікальність. Наприклад ["Прізвище", "Дата народження"] — комбінація Поле+Прізвище+Дата повинна бути унікальною.'}, 'currency_unit': {'type': 'string', 'description': 'Символ валюти'}, 'disable_future': {'type': 'boolean', 'description': 'Заборонити майбутні дати'}, 'vertical_align': {'type': 'integer', 'description': 'Вертикальне вирівнювання: 1=зверху, 2=посередині, 3=знизу'}, 'truncates_after': {'type': 'integer', 'description': 'Обрізати текст після N символів у таблиці'}, 'uniq_validation': {'enum': ['none', 'simple', 'multi'], 'type': 'string', 'description': 'Тип перевірки унікальності: none — без перевірки; simple — це поле унікальне саме по собі; multi — унікальне в комбінації з іншими полями (вказати в uniq_columns). Приклад: поле Email + uniq_validation=multi + uniq_columns=["Компанія"] — пара Email+Компанія має бути унікальною.'}, 'allow_new_values': {'type': 'boolean', 'description': 'Лише для select-полів. true — користувачі можуть додавати нові варіанти прямо з форми запису («+ Add new value...» у списку). За замовчуванням false.'}, 'display_as_image': {'type': 'boolean', 'description': 'true — показувати URL як картинку в таблиці (тільки для url поля)'}, 'image_url_column': {'type': 'string', 'description': 'with image_url=url: the id of the url field whose link the picture opens'}, 'rel_show_field_id': {'type': 'string', 'description': 'ТІЛЬКИ для rel-полів (зв\'язок з іншою формою). Змінює, ЯКЕ поле цільового запису показується в цьому rel-полі — напр. "покажи назву замість дати" / "show the name instead of id/date" для зв\'язаної колонки = це саме цей параметр, а НЕ перейменування поля (name). ID поля бери зі списку полів цільової форми (get_form_fields цільового entity, або rel_info.target_entity_fields з describe_project/get_form_fields — поле rel_info присутнє лише для rel-полів).'}, 'uniq_error_message': {'type': 'string', 'description': 'Кастомне повідомлення про помилку при порушенні унікальності'}, 'depends_from_field_id': {'type': 'string', 'description': 'ID батьківського rel поля для каскаду'}, 'hide_from_public_form': {'type': 'boolean', 'description': 'true — прибрати поле з ПУБЛІЧНОЇ форми (form widget: те, що вішають на сайт або шлють лінком клієнтам), лишивши його у внутрішній формі запису. Так роблять коротку форму збору заявок: у таблиці 30 полів, а зовні людина заповнює чотири. false — повернути. ⚠️ Не плутати з `visible` (поле у формі ЗАПИСУ, всередині) і з `hidden_fields` у set_table_permission (сховати від конкретної групи) — це три РІЗНІ речі.'}, 'show_file_url_as_image': {'type': 'boolean', 'description': 'file and image fields only: true — an icon (file) or the thumbnail (image) in the table instead of the file name'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'desc': {'type': 'string', 'description': 'Опис форми'}, 'name': {'type': 'string', 'description': 'Нова назва форми'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'per_page': {'type': 'integer', 'description': 'Кількість записів на сторінці'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id'], 'properties': {'asc': {'type': 'boolean'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'sort_by': {'type': 'string', 'description': 'ID поля сортування'}, 'per_page': {'type': 'integer', 'description': 'Number of records per page (max 100, default 20)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'post_action': {'type': 'string', 'description': 'URL для редіректу після сабміту форми'}, 'send_emails': {'type': 'boolean', 'description': 'Надсилати email-повідомлення при новому записі'}, 'target_page': {'type': 'string', 'description': 'Куди відправити людину ПІСЛЯ надсилання ПУБЛІЧНОЇ форми (віджета). Повний URL. Внутрішнього створення записів співробітником не зачіпає.'}, 'allow_delete': {'type': 'boolean'}, 'allow_database': {'type': 'boolean'}, 'inline_editing': {'type': 'boolean'}, 'dtype_added_text': {'type': 'string', 'description': 'Текст після успішного сабміту форми'}, 'lqe_use_only_login': {'type': 'boolean'}, 'redirect_to_new_page': {'type': 'boolean', 'description': 'Відкривати target_page у новій вкладці замість переходу в поточній'}, 'submit_button_msg_text': {'type': 'string'}, 'turn_off_form_msg_text': {'type': 'string'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'url': {'type': 'string'}, 'icon': {'type': 'string'}, 'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'item_id': {'type': 'string', 'description': 'ID підпункту підменю (kind=submenu_item)'}, 'position': {'type': 'integer'}, 'module_id': {'type': 'string'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'section_id': {'type': 'string', 'description': 'ID top-level пункту (kind=section)'}, 'module_type': {'type': 'integer'}, 'module_ai_id': {'type': 'string', 'description': 'Новий модуль: form_ID, report_ID тощо'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id', 'page_id'], 'properties': {'html': {'type': 'string', 'description': 'Новий HTML контент сторінки'}, 'name': {'type': 'string', 'description': 'Нова назва сторінки'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'page_id': {'type': 'string', 'description': 'Portal page ID (from list_portal_pages)'}, 'site_id': {'type': 'string', 'description': 'site_id з SURFACE CONTEXT — dual-write у правильний Site.'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'embed_form': {'type': 'object', 'properties': {'heading': {'type': 'string', 'description': 'Заголовок над формою для відвідувача'}, 'subtext': {'type': 'string', 'description': 'Рядок пояснення під заголовком'}, 'entity_id': {'type': 'string', 'description': 'ID форми/таблиці, яку вбудовуємо (list_forms)'}, 'anchor_text': {'type': 'string', 'description': 'Видимий текст на сторінці, ПІСЛЯ секції з яким поставити форму (напр. заголовок «Лійка лідів»). Не знайдено або не передано — форма стане в кінці сторінки, і відповідь це прямо скаже.'}}, 'description': 'ОСНОВНИЙ шлях ПОСТАВИТИ ФОРМУ НА САЙТ («додай форму заявок на сторінку», «щоб відвідувач залишав контакти»). Сервер сам вставляє готовий блок з формою у html і НЕ переписує решту — quinta-* блоки фізично не можуть постраждати. НЕ передавай html і page_checksum разом із embed_form. Форма вже стоїть — відповідь скаже already_embedded і НІЧОГО не продублює.'}, 'nav_append': {'type': 'object', 'properties': {'href': {'type': 'string', 'description': 'href лінка (напр. #contact або /page)'}, 'name': {'type': 'string', 'description': 'Видимий текст пункту меню'}}, 'description': 'ОСНОВНИЙ шлях додати пункт у МЕНЮ САЙТУ: сервер сам вставляє <a> у <nav> сторінки і НЕ торкається решти html (quinta-* блоки гарантовано цілі). НЕ передавай html і page_checksum разом із nav_append. Якщо page_id невідомий — можна лишити порожнім, візьметься головна сторінка сайту.'}, 'must_contain': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Точкова правка (напр. пункт меню сайту): рядки, які МУСЯТЬ бути в збереженому HTML (назва лінка, href). Незалежна verify-перевірка — якщо їх нема, правка вважається неуспішною.'}, 'page_checksum': {'type': 'string', 'description': "SHA256 поточного HTML з get_portal_page.checksum. ОБОВ'ЯЗКОВО при оновленні html — виклик без checksum буде відхилено."}, 'set_as_default': {'type': 'boolean', 'description': 'Зробити цю сторінку головною'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'portal_id'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'color': {'type': 'integer', 'description': 'Колір 0-6: 0=White, 1=Black, 2=Grey, 3=Blue, 4=Green, 5=Orange, 6=Red'}, 'theme': {'type': 'integer', 'description': 'Тема: 0=Standard, 1=Professional, 3=Professional Opened (CRM/ERP), 4=Wide, 9=Fullscreen, 11=Carbon (dark), 13=Right List, 15=Jalousie'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'locale': {'type': 'string', 'description': 'en, uk, ru, ...'}, 'auth_type': {'type': 'integer', 'description': 'Автентифікація порталу (вікно входу): 0=публічний без входу, 1=Basic HTTP, 2=вхід за логіном/паролем'}, 'portal_id': {'type': 'string', 'description': 'Portal ID (from list_portals or describe_project)'}, 'subdomain': {'type': 'string', 'description': 'Субдомен без .quintadb.com'}}}
输入模式
{'type': 'object', 'required': ['app_id'], 'properties': {'name': {'type': 'string', 'description': 'Display name'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id'], 'properties': {'data': {'type': 'object', 'description': 'Прості поля для оновлення (field_id → value)'}, 'rels': {'type': 'object', 'description': 'Rel-поля: { "Назва rel-поля": "ID запису" } або { "Назва rel-поля": ["id1", "id2"] } для many-to-many'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'values': {'type': 'object', 'description': 'Аліас для data — можна використовувати замість data'}, 'subforms': {'type': 'object', 'description': 'Subform-поля: { "field_id subform": { "form_id": "ID субформи", "records": [{"field_id": "значення"}] } }. УВАГА: \'records\' — це ОБОВ\'ЯЗКОВО масив об\'єктів-хешів [{field_id: value}]. НІКОЛИ не пиши масив чисел [1, 2] або простих ID!'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'record_id': {'type': 'string', 'description': 'Record ID (from get_records or search_records)'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'template_id'], 'properties': {'body': {'type': 'string', 'description': 'Нове HTML тіло шаблону (опційно, html_name полів без дужок)'}, 'name': {'type': 'string', 'description': 'Нова назва шаблону (опційно)'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'template_id': {'type': 'string', 'description': 'ID шаблону запису (record template), який треба оновити'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'relationship_id'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'rel_code': {'type': 'integer', 'description': 'Новий тип звʼязку'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'show_column_id': {'type': 'string', 'description': 'ID поля в цільовій таблиці, яке показувати людині'}, 'relationship_id': {'type': 'integer', 'description': 'ID звʼязку з get_relationship'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'user_group_id'], 'properties': {'name': {'type': 'string', 'description': 'Нова назва групи'}, 'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'create_maps': {'type': 'boolean'}, 'can_add_users': {'type': 'boolean', 'description': 'Може додавати людей у команду'}, 'create_charts': {'type': 'boolean'}, 'files_enabled': {'type': 'boolean'}, 'user_group_id': {'type': 'string', 'description': 'ID групи (з list_team_groups)'}, 'create_portals': {'type': 'boolean'}, 'can_delete_files': {'type': 'boolean'}, 'can_delete_users': {'type': 'boolean', 'description': 'Може видаляти людей із команди'}, 'can_upload_files': {'type': 'boolean'}, 'create_calendars': {'type': 'boolean'}, 'create_newsletters': {'type': 'boolean'}, 'has_access_to_team': {'type': 'boolean', 'description': 'Бачить розділ «Команда»'}, 'allow_to_create_apps': {'type': 'boolean'}, 'can_edit_access_rights': {'type': 'boolean', 'description': 'Може міняти права інших. ⚠️ Це НЕ «роль Адмін» — роль задається через set_table_permission/set_user_role значенням owner; тут лише окреме повноваження.'}, 'access_to_only_own_files': {'type': 'boolean'}}}
输入模式
{'type': 'object', 'required': ['app_id', 'entity_id', 'record_id', 'field_name', 'file_name', 'file_content'], 'properties': {'app_id': {'type': 'string', 'description': 'Project ID (from list_projects)'}, 'entity_id': {'type': 'string', 'description': 'Form ID (from list_forms or describe_project)'}, 'file_name': {'type': 'string', 'description': "Ім'я файлу з розширенням, наприклад 'invoice.pdf' або 'photo.jpg'"}, 'record_id': {'type': 'string', 'description': 'ID запису до якого прикріпити файл'}, 'field_name': {'type': 'string', 'description': 'Назва або ID файлового/зображення поля'}, 'file_content': {'type': 'string', 'description': 'Вміст файлу закодований у base64'}}}
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "Пошуковий запит, напр. 'книга Фантасти на війні видавництво Мрієлов'"}}}
近期工具变更
类似的 MCP 服务器
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Oracle
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Intelligence
Provides vendor, market, SaaS, workforce, government contract, public company, regulatory, competitive, and AI-brand intelligence…
Stratalize Real Estate
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…