Zoho Inventory · Schema

Bin Locations

Bin locations are the smallest storage units within a warehouse. They help optimize operations with effective tracking and labeling, make items easier to locate, and support multiple storage levels for precise inventory tracking.

Inventory ManagementWarehousingSales OrdersPurchase OrdersStock AdjustmentShipmentsItemsE-commerce
View JSON Schema on GitHub

JSON Schema

storagelocations.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Bin Locations",
  "description": "Bin locations are the smallest storage units within a warehouse. They help optimize operations with effective tracking and labeling, make items easier to locate, and support multiple storage levels for precise inventory tracking.",
  "definitions": {
    "storage_zone_id": {
      "description": "Unique ID generated by the server for the zone.",
      "type": "string",
      "example": "130426000000798001"
    },
    "zone_name": {
      "description": "Name of the zone.",
      "type": "string",
      "example": "Zone A"
    },
    "storage_id": {
      "description": "Unique ID generated by the server for the bin location.",
      "type": "string",
      "example": "130426000000801001"
    },
    "storage_location_name": {
      "description": "Name of the bin location.",
      "type": "string",
      "maxLength": 50,
      "example": "A-R1-B01"
    },
    "storage_location_description": {
      "description": "Description of the bin location.",
      "type": "string",
      "maxLength": 1000,
      "example": "Row 1, Bin 01 in Zone A"
    },
    "warehouse_id": {
      "description": "Unique identifier of the warehouse.",
      "type": "string",
      "example": "130426000000664020"
    },
    "location_id": {
      "description": "Unique identifier of the location.",
      "type": "string",
      "example": "130426000000054001"
    },
    "storage_zone_status": {
      "description": "Status of the zone. Allowed Values: <code>active</code>, <code>inactive</code>",
      "type": "string",
      "example": "active"
    },
    "storage_location_status": {
      "description": "Status of the bin location. Allowed Values: <code>active</code>, <code>inactive</code>",
      "type": "string",
      "example": "active"
    },
    "location_structure": {
      "description": "Defines a single level in the zone hierarchy used to generate bin locations.",
      "type": "object",
      "properties": {
        "location_structure_id": {
          "description": "Unique ID of the location structure level.",
          "type": "string",
          "example": "130426000000798011"
        },
        "location_name": {
          "description": "Name of this hierarchy level (e.g. Row, Rack, Bin).",
          "type": "string",
          "maxLength": 50,
          "example": "Row"
        },
        "delimiter": {
          "description": "Single character used to separate levels in the bin location name.",
          "type": "string",
          "maxLength": 1,
          "example": "-"
        },
        "alias_name": {
          "description": "Abbreviation used as prefix in the auto-generated location name for this level.",
          "type": "string",
          "maxLength": 50,
          "example": "R"
        },
        "level": {
          "description": "Position of this level in the hierarchy (1 to 10).",
          "type": "integer",
          "minimum": 1,
          "maximum": 10,
          "example": 1
        },
        "count": {
          "description": "Number of units at this level (1 to 200000).",
          "type": "integer",
          "minimum": 1,
          "maximum": 200000,
          "example": 10
        }
      }
    },
    "storage_zone": {
      "description": "Details of a zone that contains multiple bin locations.",
      "type": "object",
      "properties": {
        "storage_zone_id": {
          "$ref": "#/components/schemas/storage_zone_id"
        },
        "zone_name": {
          "$ref": "#/components/schemas/zone_name"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "status": {
          "$ref": "#/components/schemas/storage_zone_status"
        },
        "location_structures": {
          "description": "Ordered list of hierarchy levels that define how bin locations are generated in this zone.",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/location_structure"
          }
        }
      }
    },
    "storage_location": {
      "description": "Details of a bin location.",
      "type": "object",
      "properties": {
        "storage_id": {
          "$ref": "#/components/schemas/storage_id"
        },
        "name": {
          "$ref": "#/components/schemas/storage_location_name"
        },
        "description": {
          "$ref": "#/components/schemas/storage_location_description"
        },
        "status": {
          "$ref": "#/components/schemas/storage_location_status"
        },
        "zone_id": {
          "$ref": "#/components/schemas/storage_zone_id"
        },
        "zone_name": {
          "$ref": "#/components/schemas/zone_name"
        },
        "storage_zone_id": {
          "$ref": "#/components/schemas/storage_zone_id"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "balance_quantity": {
          "description": "Current available quantity in the bin.",
          "type": "number",
          "format": "double",
          "example": 120.5
        },
        "batches": {
          "description": "Batch details available in this bin (returned when show_batches=true).",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/bin_batch"
          }
        }
      }
    },
    "bin_batch": {
      "type": "object",
      "properties": {
        "batch_id": {
          "description": "Unique identifier of the batch.",
          "type": "string",
          "example": "130426000000812001"
        },
        "batch_number": {
          "description": "Display number of the batch.",
          "type": "string",
          "example": "BATCH-001"
        }
      }
    },
    "enable-storage-locations-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "The bin locations have been enabled.",
          "readOnly": true
        }
      }
    },
    "disable-storage-locations-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "The bin locations have been disabled.",
          "readOnly": true
        }
      }
    },
    "create-a-storage-zone-request": {
      "required": [
        "zone_name"
      ],
      "type": "object",
      "properties": {
        "zone_name": {
          "$ref": "#/components/schemas/zone_name"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "location_structures": {
          "description": "Ordered list of hierarchy levels that define the naming pattern for bin locations in this zone. Maximum 50 levels.",
          "type": "array",
          "minItems": 1,
          "maxItems": 50,
          "items": {
            "type": "object",
            "required": [
              "location_name",
              "alias_name",
              "level",
              "count"
            ],
            "properties": {
              "location_name": {
                "description": "Name of this hierarchy level (e.g. Row, Rack, Bin).",
                "type": "string",
                "maxLength": 50,
                "example": "Row"
              },
              "delimiter": {
                "description": "Single character used to separate levels in the bin location name.",
                "type": "string",
                "maxLength": 1,
                "example": "-"
              },
              "alias_name": {
                "description": "Abbreviation used as prefix in the auto-generated location name for this level.",
                "type": "string",
                "maxLength": 50,
                "example": "R"
              },
              "level": {
                "description": "Position of this level in the hierarchy (1 to 10).",
                "type": "integer",
                "minimum": 1,
                "maximum": 10,
                "example": 1
              },
              "count": {
                "description": "Number of units at this level (1 to 200000).",
                "type": "integer",
                "minimum": 1,
                "maximum": 200000,
                "example": 10
              }
            }
          }
        }
      }
    },
    "create-a-storage-zone-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin location has been Created.",
          "readOnly": true
        },
        "storage_zone": {
          "$ref": "#/components/schemas/storage_zone"
        }
      }
    },
    "list-all-storage-zones-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "success",
          "readOnly": true
        },
        "storage_zones": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/storage_zone"
          }
        }
      }
    },
    "get-a-storage-zone-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "success",
          "readOnly": true
        },
        "storage_zone": {
          "$ref": "#/components/schemas/storage_zone"
        }
      }
    },
    "update-a-storage-zone-request": {
      "required": [
        "zone_name"
      ],
      "type": "object",
      "properties": {
        "zone_name": {
          "$ref": "#/components/schemas/zone_name"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "location_structures": {
          "description": "Ordered list of hierarchy levels that define the naming pattern for bin locations in this zone. Maximum 50 levels.",
          "type": "array",
          "minItems": 1,
          "maxItems": 50,
          "items": {
            "type": "object",
            "required": [
              "location_name",
              "alias_name",
              "level",
              "count"
            ],
            "properties": {
              "location_structure_id": {
                "description": "Unique ID of the location structure level. Required when updating an existing level.",
                "type": "string",
                "example": "130426000000798011"
              },
              "location_name": {
                "description": "Name of this hierarchy level (e.g. Row, Rack, Bin).",
                "type": "string",
                "maxLength": 50,
                "example": "Row"
              },
              "delimiter": {
                "description": "Single character used to separate levels in the bin location name.",
                "type": "string",
                "maxLength": 1,
                "example": "-"
              },
              "alias_name": {
                "description": "Abbreviation used as prefix in the auto-generated location name for this level.",
                "type": "string",
                "maxLength": 50,
                "example": "R"
              },
              "level": {
                "description": "Position of this level in the hierarchy (1 to 10).",
                "type": "integer",
                "minimum": 1,
                "maximum": 10,
                "example": 1
              },
              "count": {
                "description": "Number of units at this level (1 to 200000).",
                "type": "integer",
                "minimum": 1,
                "maximum": 200000,
                "example": 10
              }
            }
          }
        }
      }
    },
    "update-a-storage-zone-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin location has been Updated.",
          "readOnly": true
        },
        "storage_zone": {
          "$ref": "#/components/schemas/storage_zone"
        }
      }
    },
    "delete-a-storage-zone-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin Location Structure deleted successfully.",
          "readOnly": true
        }
      }
    },
    "mark-storage-zones-as-active-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Storage Zones updated successfully.",
          "readOnly": true
        }
      }
    },
    "mark-storage-zones-as-inactive-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Storage Zones updated successfully.",
          "readOnly": true
        }
      }
    },
    "create-a-storage-location-request": {
      "required": [
        "storage_zone_id",
        "name"
      ],
      "type": "object",
      "properties": {
        "storage_zone_id": {
          "$ref": "#/components/schemas/storage_zone_id"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "name": {
          "$ref": "#/components/schemas/storage_location_name"
        },
        "description": {
          "$ref": "#/components/schemas/storage_location_description"
        }
      }
    },
    "create-a-storage-location-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin location has been Created.",
          "readOnly": true
        },
        "storage_location": {
          "$ref": "#/components/schemas/storage_location"
        }
      }
    },
    "list-all-storage-locations-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "success",
          "readOnly": true
        },
        "storage_locations": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/storage_location"
          }
        },
        "page_context": {
          "type": "object",
          "properties": {
            "page": {
              "type": "integer",
              "example": 1
            },
            "per_page": {
              "type": "integer",
              "example": 200
            },
            "has_more_page": {
              "type": "boolean",
              "example": false
            },
            "report_name": {
              "type": "string",
              "example": "StorageListQuery"
            }
          }
        }
      }
    },
    "get-a-storage-location-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "success",
          "readOnly": true
        },
        "storage_location": {
          "$ref": "#/components/schemas/storage_location"
        }
      }
    },
    "update-a-storage-location-request": {
      "required": [
        "storage_zone_id",
        "name"
      ],
      "type": "object",
      "properties": {
        "storage_zone_id": {
          "$ref": "#/components/schemas/storage_zone_id"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "name": {
          "$ref": "#/components/schemas/storage_location_name"
        },
        "description": {
          "$ref": "#/components/schemas/storage_location_description"
        }
      }
    },
    "update-a-storage-location-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin location updated.",
          "readOnly": true
        },
        "storage_location": {
          "$ref": "#/components/schemas/storage_location"
        }
      }
    },
    "delete-a-storage-location-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin Location Structure deleted successfully.",
          "readOnly": true
        }
      }
    },
    "bulk-delete-storage-locations-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin locations deleted.",
          "readOnly": true
        }
      }
    },
    "mark-storage-locations-as-active-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin locations updated.",
          "readOnly": true
        }
      }
    },
    "mark-storage-locations-as-inactive-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin locations updated.",
          "readOnly": true
        }
      }
    },
    "storage_location_product_mapping": {
      "description": "A mapping between a product and a bin location.",
      "type": "object",
      "properties": {
        "product_id": {
          "description": "Unique identifier of the product (item).",
          "type": "string",
          "example": "130426000000056001"
        },
        "storage_id": {
          "$ref": "#/components/schemas/storage_id"
        },
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        }
      }
    },
    "map-storage-locations-to-item-request": {
      "type": "object",
      "properties": {
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "storage_locations_product_mapping": {
          "description": "List of bin location mappings for the item. Maximum 10000 entries.",
          "type": "array",
          "maxItems": 10000,
          "items": {
            "type": "object",
            "required": [
              "product_id",
              "storage_id"
            ],
            "properties": {
              "product_id": {
                "description": "Unique identifier of the product (item).",
                "type": "string",
                "example": "130426000000056001"
              },
              "storage_id": {
                "$ref": "#/components/schemas/storage_id"
              }
            }
          }
        }
      }
    },
    "get-item-storage-location-mappings-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "success",
          "readOnly": true
        },
        "storage_locations_product_mapping": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/storage_location_product_mapping"
          }
        }
      }
    },
    "update-item-storage-location-mappings-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Bin location mapped with item.",
          "readOnly": true
        }
      }
    },
    "default_storage_location_mapping": {
      "description": "Default bin location assignment for a product per location.",
      "type": "object",
      "properties": {
        "location_id": {
          "$ref": "#/components/schemas/location_id"
        },
        "storage_id": {
          "$ref": "#/components/schemas/storage_id"
        }
      }
    },
    "get-item-default-storage-location-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "success",
          "readOnly": true
        },
        "default_storage_location_mapping": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/default_storage_location_mapping"
          }
        }
      }
    },
    "configure-item-default-storage-location-request": {
      "type": "object",
      "properties": {
        "default_storage_location_mapping": {
          "description": "List of default bin location assignments per location for the item.",
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "storage_id"
            ],
            "properties": {
              "location_id": {
                "$ref": "#/components/schemas/location_id"
              },
              "storage_id": {
                "$ref": "#/components/schemas/storage_id"
              }
            }
          }
        }
      }
    },
    "configure-item-default-storage-location-response": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "example": 0,
          "readOnly": true
        },
        "message": {
          "type": "string",
          "example": "Default Preferred Bin Location Mapping configured for the item.",
          "readOnly": true
        }
      }
    }
  }
}