API Documentation

Complete reference for printer manufacturing, models, processes, and diameters APIs

GET

Get All Manufacturers

Retrieve all printer manufacturers (admin use)

/api/printer-manufacturers
[
  {
    "id": 1,
    "name": "Epson",
    "logo_url": "https://...",
    "active": true
  }
]
POST

Create Manufacturer

Create a new printer manufacturer

/api/printer-manufacturers
name(string)requiredManufacturer name
logo_url(string)Logo image URL
active(boolean)Active status (default: true)
{
  "id": 1,
  "name": "Epson",
  "logo_url": "https://...",
  "active": true
}
PUT

Update Manufacturer

Update an existing manufacturer

/api/printer-manufacturers
id(number)requiredManufacturer ID
name(string)requiredManufacturer name
logo_url(string)Logo image URL
active(boolean)Active status
{
  "id": 1,
  "name": "Epson",
  "logo_url": "https://...",
  "active": true
}
DELETE

Delete Manufacturer

Delete a manufacturer by ID

/api/printer-manufacturers?id={id}
id(number)requiredManufacturer ID
{
  "success": true
}
GET

Get Active Manufacturers

Get active manufacturers for Shopify theme integration (CORS enabled)

CORS Enabled
/api/printer-config/manufacturers
[
  {
    "id": 1,
    "name": "Epson",
    "logo_url": "https://..."
  }
]
fetch('https://reign.bihanitech.com/api/printer-config/manufacturers', {
  credentials: 'include',
  headers: {
    'Content-Type': 'application/json'
  }
})
  .then(res => {
    if (!res.ok) throw new Error('CORS or network error');
    return res.json();
  })
  .then(data => console.log(data))
  .catch(err => console.error('Fetch failed:', err));
GET

Get All Printer Models

Retrieve all printer models with manufacturer details

/api/printer-models
[
  {
    "id": 1,
    "manufacturer_id": 1,
    "manufacturer_name": "Epson",
    "model_name": "TM-C3500",
    "max_label_width": 112,
    "max_roll_diameter": 203,
    "core_size": 40,
    "description": "Color label printer",
    "image_url": "https://..."
  }
]
POST

Create Printer Model

Create a new printer model

/api/printer-models
manufacturer_id(number)requiredManufacturer ID
model_name(string)requiredModel name
max_label_width(number)Max label width (mm)
max_roll_diameter(number)Max roll diameter (mm)
core_size(number)Core size (mm)
description(string)Model description
image_url(string)Model image URL
{
  "id": 1,
  "manufacturer_id": 1,
  "model_name": "TM-C3500",
  "max_label_width": 112,
  "max_roll_diameter": 203,
  "core_size": 40,
  "description": "Color label printer",
  "image_url": "https://..."
}
PUT

Update Printer Model

Update an existing printer model

/api/printer-models
id(number)requiredModel ID
manufacturer_id(number)requiredManufacturer ID
model_name(string)requiredModel name
max_label_width(number)Max label width (mm)
max_roll_diameter(number)Max roll diameter (mm)
core_size(number)Core size (mm)
description(string)Model description
image_url(string)Model image URL
{
  "id": 1,
  "manufacturer_id": 1,
  "model_name": "TM-C3500",
  "max_label_width": 112,
  "max_roll_diameter": 203,
  "core_size": 40,
  "description": "Color label printer",
  "image_url": "https://..."
}
DELETE

Delete Printer Model

Delete a printer model by ID

/api/printer-models?id={id}
id(number)requiredModel ID
{
  "success": true
}
GET

Get Printer Models by Manufacturer

Get active printer models for a specific manufacturer (CORS enabled)

CORS Enabled
/api/printer-config/models?manufacturer_id={id}
manufacturer_id(number)requiredManufacturer ID
[
  {
    "id": 1,
    "model_name": "TM-C3500",
    "max_label_width": 112,
    "max_roll_diameter": 203,
    "core_size": 40,
    "description": "Color label printer",
    "image_url": "https://..."
  }
]
fetch('https://reign.bihanitech.com/api/printer-config/models?manufacturer_id=1', {
  credentials: 'include',
  headers: {
    'Content-Type': 'application/json'
  }
})
  .then(res => {
    if (!res.ok) throw new Error('CORS or network error');
    return res.json();
  })
  .then(data => console.log(data))
  .catch(err => console.error('Fetch failed:', err));
GET

Get All Print Processes

Retrieve all print processes

/api/print-processes
[
  {
    "id": 1,
    "name": "Thermal Transfer",
    "description": "Uses heat to transfer ink from ribbon"
  }
]
POST

Create Print Process

Create a new print process

/api/print-processes
name(string)requiredProcess name
description(string)Process description
{
  "id": 1,
  "name": "Thermal Transfer",
  "description": "Uses heat to transfer ink from ribbon"
}
PUT

Update Print Process

Update an existing print process

/api/print-processes
id(number)requiredProcess ID
name(string)requiredProcess name
description(string)Process description
{
  "id": 1,
  "name": "Thermal Transfer",
  "description": "Uses heat to transfer ink from ribbon"
}
DELETE

Delete Print Process

Delete a print process by ID

/api/print-processes?id={id}
id(number)requiredProcess ID
{
  "success": true
}
GET

Get All Roll Diameters

Retrieve all roll diameters

/api/roll-diameters
[
  {
    "id": 1,
    "diameter": 203,
    "core_size": 40,
    "max_labels_approx": 5000,
    "active": true
  }
]
POST

Create Roll Diameter

Create a new roll diameter

/api/roll-diameters
diameter(number)requiredRoll diameter (mm)
core_size(number)Core size (mm)
max_labels_approx(number)Approximate max labels
active(boolean)Active status (default: true)
{
  "id": 1,
  "diameter": 203,
  "core_size": 40,
  "max_labels_approx": 5000,
  "active": true
}
PUT

Update Roll Diameter

Update an existing roll diameter

/api/roll-diameters
id(number)requiredRoll diameter ID
diameter(number)requiredRoll diameter (mm)
core_size(number)Core size (mm)
max_labels_approx(number)Approximate max labels
active(boolean)Active status
{
  "id": 1,
  "diameter": 203,
  "core_size": 40,
  "max_labels_approx": 5000,
  "active": true
}
DELETE

Delete Roll Diameter

Delete a roll diameter by ID

/api/roll-diameters?id={id}
id(number)requiredRoll diameter ID
{
  "success": true
}