POST

EntriesSettings.Add

Create a new entry/tab setting definition (dashboard Entries settings). Required names are tab_name_en and tab_name_he. status, fields, folders, and shard_with must use dashboard JSON shapes so the dashboard can open the tab without

Permissions

  • User must be logged in with a valid bearer token.
  • Returned or changed records are limited by the user permissions, team access, folder access, and account settings.

Action

  • Creates one entry/tab definition with labels, folders, sharing, status map, and custom fields in dashboard format.
  • The created id is later used as entry_id on Entries.List/Add/Get/Update/Delete.

Push Service

Emits entriessettings.created. No row-level entry socket is sent.

Automation

No business automation is run for entry settings changes.

Special Instructions

  • Required: tab_name_en and tab_name_he. Both are required on the dashboard create modal.
  • status is NOT int 1/0. Send a JSON array of statuses; the API stores dashboard unique ids like Tab_setting::add_tabs_setting. Each status has label_en, color_name, and sub_status ("" or an array).
  • fields is a JSON object keyed by dashboard unique ids (23 chars: timestamp+uniqid), same as Tab_setting::add_custom_fild_tabs. Friendly keys like fld_note are converted to unique ids on save.
  • You may send a simple array of fields; the API expands each one to the dashboard shape (name, field_no, date, input_type, labels, and type-specific keys).
  • folders must be a JSON array of folder ids, e.g. ["3"]. Do not send a bare id like 12. Alias: folder_name.
  • shard_with is a JSON array of team member ids, e.g. ["47","51"]. This is sharing, not customer ids.
  • Allowed input_type values: text, email, number, date, hour, date_time, select, yes_no, button, formula, team_member, title, customer, Files, year.
  • If use_customer_for_entry is 1, entry_customer_folder_id is required.
  • After creating settings, call User.Basic again so the UI has the new entry id.

Required Parameters

NameTypeSampleExplanation
tab_name_en
post
stringLead dataEnglish entry/tab setting name. Required.
tab_name_he
post
stringLead dataHebrew/local entry/tab setting name. Required, same as the dashboard modal. Do not leave this optional.

Optional Parameters

NameTypeSampleWhat it gives
folders
post
json["3"]JSON array of folder ids attached to this tab. Alias: folder_name. Scalar 3 is stored as ["3"]. Do not send a bare string like 12.
folder_name
post
json["3"]Alias of folders. Dashboard create posts folder_name[].
status
post
json[{"label_en":"Open","color_name":"#ffa500"}]Tab statuses. Send a JSON array or object. API stores dashboard shape: 23-char unique ids, label_en, color_name, sub_status. Do not send 1/0. Default {}.
fields
post
json[{"input_type":"text","label_en":"Note","label_he":"Note"}]Custom fields. Send a JSON object (dashboard unique ids) or a simple array. API stores dashboard shape: name=unique id, field_no, date, input_type, label_en, label_he, plus type-specific keys. Use input_type, not type.
shard_with
post
json["47","51"]JSON array of team member ids this tab is shared with. Do not send a comma string like 47,51.
tab_name
post
stringLead dataOptional single-name field. If omitted, it is filled from tab_name_en.
tab_order
post
int10Display order for entry tabs when the table has tab_order.
icon
post
stringclipboard-listUI icon name when the table supports it.
color
post
string#2490efUI color when the table supports it.
show_in_header
post
int1Dashboard create flag show_in_header_tabs. Default 1. Aliases: show_in_header_tabs, show_in_dashboard.
show_in_dashboard
post
int1Alias of show_in_header. Copied to show_in_header when header is omitted.
show_in_customer
post
int1Show this tab on customer screens when the column exists.
copy_customer_tab
post
int0When 1, tab_id_for_cust is required.
tab_id_for_cust
post
int8Required when copy_customer_tab=1.
change_status_for_link_cust
post
int0When 1 with copy_customer_tab=1, status changes can sync to the linked customer tab.
use_customer_for_entry
post
int0When 1, each row must pick an entry customer from entry_customer_folder_id.
entry_customer_folder_id
post
int12Required when use_customer_for_entry=1.
entry_customer_internal_status_id
post
int0Optional internal status id for the linked customer folder when use_customer_for_entry=1.
status_en_name
post
stringStatusOptional label for the status column.
status_he_name
post
stringStatusOptional local label for the status column.
substatus_en_name
post
stringSub statusOptional English label for the sub-status column.
substatus_he_name
post
stringSub statusOptional local label for the sub-status column.

JSON Structure

status JSON

Dashboard Tab_setting::add_tabs_setting stores status as an object keyed by generateUniqueId() (23 characters). Friendly keys like st_open are converted. Do not send 1 or 0.

  • Each status value has label_en, color_name, and sub_status.
  • sub_status is "" when empty, or an array of {sub_status_label, sub_stauts_color, sub_status_key}. The color key is sub_stauts_color, same as dashboard.
  • You can send a simple array; the API expands it to unique-id keys.
  • On Update, sending status replaces the stored status map.
{"17845458326a5e02280a638":{"label_en":"Open","color_name":"#ffa500","sub_status":[{"sub_status_label":"Waiting","sub_stauts_color":"#cccccc","sub_status_key":"17845458336a5e02280a639"}]}}

fields JSON

Dashboard Tab_setting::add_custom_fild_tabs stores fields as an object keyed by generateUniqueId() (23 characters). App now stores the same shape. Friendly keys like fld_note are replaced with unique ids.

  • Every field: name (same unique id), field_no (1-65), date (Y-m-d H:i:s), input_type, label_en, label_he.
  • text/email/number/date/hour/date_time/team_member/title/customer/Files/year also store default_value.
  • select also stores is_multiple, opt_name_en, opt_name_he. Option keys are also 23-char unique ids, not 0/1.
  • yes_no also stores yes_label_en, yes_label_he, no_label_en, no_label_he, default_value.
  • button stores optional_webhook and does not store default_value.
  • formula stores formula and does not store default_value.
  • You can send a simple array; the API expands it to this dashboard object.
{"17845458326a5e02280a638":{"name":"17845458326a5e02280a638","field_no":1,"date":"2026-07-20 11:10:32","input_type":"text","label_en":"Note","label_he":"Note","default_value":""},"17845468846a5e0644d4010":{"name":"17845468846a5e0644d4010","field_no":2,"date":"2026-07-20 11:28:04","input_type":"select","label_en":"test_selct","label_he":"test_selct","is_multiple":0,"opt_name_he":{"17845468846a5e0644d4018":"test 1","17845468846a5e0644d401a":"test 2"},"opt_name_en":{"17845468846a5e0644d4018":"test 1","17845468846a5e0644d401a":"test 2"}}}

folders JSON

folders is a JSON array of folder ids. Do not send a single id like 12.

  • Correct: ["3"] or ["3","5"].
  • A scalar 3 is accepted and stored as ["3"].
  • folder_name is an alias of folders.
["3"]

Authentication

Send the bearer token returned by Login in the request header.

Authorization: Bearer YOUR TOKEN

Sample Request

{
    "url": "\/app\/EntriesSettings.Add",
    "method": "POST",
    "headers": {
        "Authorization": "Bearer YOUR TOKEN"
    },
    "body": {
        "tab_name_en": "Lead data",
        "tab_name_he": "Lead data",
        "folders": "[\"3\"]",
        "show_in_header": "1",
        "copy_customer_tab": "0",
        "use_customer_for_entry": "0",
        "status": "[{\"label_en\":\"Open\",\"color_name\":\"#ffa500\",\"sub_status\":[{\"sub_status_label\":\"Waiting\",\"sub_stauts_color\":\"#cccccc\"}]}]",
        "fields": "[{\"input_type\":\"text\",\"label_en\":\"Note\",\"label_he\":\"Note\"},{\"input_type\":\"select\",\"label_en\":\"test_selct\",\"label_he\":\"test_selct\",\"is_multiple\":0,\"opt_name_en\":[\"test 1\",\"test 2\"],\"opt_name_he\":[\"test 1\",\"test 2\"]}]"
    },
    "url_user": "https:\/\/{user}.bull36.com\/app\/EntriesSettings.Add",
    "url_domain": "https:\/\/{domain}\/app\/EntriesSettings.Add"
}

Endpoint

POST /app/EntriesSettings.Add
POST https://{user}.bull36.com/app/EntriesSettings.Add
POST https://{domain}/app/EntriesSettings.Add

Sample Output

{
    "success": 1,
    "id": 745,
    "message": "Record added successfully.",
    "socket_event": "entriessettings.created"
}

JavaScript Example

const token = 'YOUR TOKEN';
const body = new URLSearchParams({
  tab_name_en: 'Lead data',
  tab_name_he: 'Lead data',
  folders: JSON.stringify(['3']),
  show_in_header: '1',
  status: JSON.stringify([
    {
      label_en: 'Open',
      color_name: '#ffa500',
      sub_status: [
        { sub_status_label: 'Waiting', sub_stauts_color: '#cccccc' }
      ]
    }
  ]),
  fields: JSON.stringify([
    { input_type: 'text', label_en: 'Note', label_he: 'Note' },
    {
      input_type: 'select',
      label_en: 'test_selct',
      label_he: 'test_selct',
      is_multiple: 0,
      opt_name_en: ['test 1', 'test 2'],
      opt_name_he: ['test 1', 'test 2']
    }
  ])
});
const res = await fetch('/app/EntriesSettings.Add', {
  method: 'POST',
  headers: { Authorization: `Bearer ${token}` },
  body
});
console.log(await res.json());

Error Example

{
    "success": 0,
    "message": "Missing required parameter: tab_name_en, tab_name_he"
}