POST

Storage.Add

Create a warehouse in the storage table (same fields as dashboard product-report Storage List add / storage_add). Requires owner or member-admin. First warehouse for the account is marked default_storage=1. Emits realtime storage.created. Use returned id as default_storage_id / item_storageid.

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 a Storage record or sends the requested data after validation.

Push Service

Pushes event storage.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
stringMain warehouseWarehouse name. Aliases: storage_name, title.

Optional Parameters

NameTypeSampleWhat it gives
team_member
post
array["14","47"]Team member ids shared with this warehouse (stored as JSON string ids like dashboard). Aliases: team_members, team_member[], team_member_id, team_member_ids, organizations_user.
father_storage_id
post
int0Parent warehouse id (father). Default 0. Aliases: father, parent, parent_id.
note
post
stringFront stockNotes. Alias: notes.

Authentication

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

Authorization: Bearer YOUR TOKEN

Sample Request

{
    "url": "\/app\/Storage.Add",
    "method": "POST",
    "headers": {
        "Authorization": "Bearer YOUR TOKEN"
    },
    "body": {
        "name": "Main warehouse",
        "team_member": "[\"14\",\"47\"]",
        "father_storage_id": "0",
        "note": "Front stock"
    },
    "url_user": "https:\/\/{user}.bull36.com\/app\/Storage.Add",
    "url_domain": "https:\/\/{domain}\/app\/Storage.Add"
}

Endpoint

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

Sample Output

{
    "success": 1,
    "id": 3,
    "storage_id": 3,
    "message": "Storage added successfully.",
    "automation_event": null,
    "socket_event": "storage.created"
}

JavaScript Example

const token = 'YOUR TOKEN';
const body = new URLSearchParams({
  name: 'Main warehouse',
  team_member: JSON.stringify(['14', '47']),
  note: 'Front stock'
});
const res = await fetch('/app/Storage.Add', { method: 'POST', headers: { Authorization: 'Bearer ' + token }, body });
console.log(await res.json());

Error Example

{
    "success": 0,
    "message": "Missing required parameter: name"
}