POST

TeamMembers.Add

Add a team member to the organization. Only the owner or a manager can call this method. The new user is created as a team member under the current organization, optional permissions can be assigned in the same call, and open UIs receive a socket event to refresh User.Basic.

Permissions

  • Only the organization owner or a manager can call this route.

Action

  • Creates a TeamMembers record or sends the requested data after validation.

Push Service

Pushes event teammembers.add.created to users who should see this change.

Automation

No automation is run for this function.

Special Instructions

  • Send the bearer token on protected calls with Authorization: Bearer YOUR TOKEN.
  • Send parameters as POST body fields exactly as documented.
  • Send date/time values in UTC Y-m-d H:i:s format when a date or datetime field is used.

Required Parameters

NameTypeSampleExplanation
name
post
stringDana CohenTeam member full name.
email
post
email[email protected]Team member login email. Must be unique.
password
post
stringStrongPassword123Initial password for the team member.

Optional Parameters

NameTypeSampleWhat it gives
user_name
post
string[email protected]Optional login username. Defaults to email.
phone
post
string0500000000Office phone.
mobile
post
string0500000001Mobile phone.
title
post
stringSales managerJob title shown in team lists.
status
post
int11 active, 0 inactive.
member_admin
post
int0Set 1 to make this member a manager.
timezone
post
stringAsia/JerusalemDefault timezone.
default_lang
post
stringheDefault UI language.
default_folder
post
int1Default customer folder.
roles_modules
post
json{"customer_add":"1"}Permission flags saved on the member.
shared_with_folder
post
json["1","2"]Folders this member can see. Always stored as unique strings, e.g. ["1","2","3"].
folder_permissions
post
json{"1":{"edit":"1"}}Per-folder permissions.

Authentication

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

Authorization: Bearer YOUR TOKEN

Sample Request

{
    "url": "\/app\/TeamMembers.Add",
    "method": "POST",
    "headers": {
        "Authorization": "Bearer YOUR TOKEN"
    },
    "body": {
        "name": "Dana Cohen",
        "email": "[email protected]",
        "password": "StrongPassword123",
        "shared_with_folder": "[\"1\",\"2\"]"
    },
    "url_user": "https:\/\/{user}.bull36.com\/app\/TeamMembers.Add",
    "url_domain": "https:\/\/{domain}\/app\/TeamMembers.Add"
}

Endpoint

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

Sample Output

{
    "success": 1,
    "message": "Team member created",
    "team_member_id": "321",
    "socket_event": "teammembers.add.created",
    "automation_event": null
}

JavaScript Example

const token = 'YOUR TOKEN';
const body = new URLSearchParams({ name: 'Dana Cohen', email: '[email protected]', password: 'StrongPassword123' });

const res = await fetch('/app/TeamMembers.Add', { method: 'POST', headers: { Authorization: `Bearer ${token}` }, body });
const data = await res.json();
console.log(data);

Error Example

{
    "success": "0",
    "error": "permission_denied",
    "message": "Permission denied to manage this resource"
}