Materials

Get material measurement units

get

The API gives the ability to get all material measurement units.

Authorizations
Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Responses
200Success
application/json
get
/api/public/materials/measurement_units
GET /api/public/materials/measurement_units HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Accept: */*
200Success
[
  {
    "id": "b86fa12a-76fc-46f5-8a3e-bf39e7be4c4e",
    "name": "kg"
  }
]

Create material

post

The API gives the ability to create a new material and specify material properties.

Scenarios for processing the received data

📝 All required + optional parameters were passed

The system creates material in the system.

UI

  • Newly created material is added to the Materials page to the {Category} tab and {Subcategory} section, which were passed in the “CREATE a material” request.

    • If category_name wasn't specified in the request, then material is added to the “Without category” tab on the Materials page.

    • If subcategory_name wasn't specified in the request, then material is added to the {Category} tab which was passed in the “CREATE a material” request, but added to the “Without subcategory” section on the Materials page.

Authorizations
Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Body
namestringRequired

Name of the material

Example: Premium Steel Rod
measurement_unit_idstringRequired

UUID of the measurement unit for this material

Example: 550e8400-e29b-41d4-a716-446655440000
material_external_idstringOptional

External identifier for the material from supplier or other system

Example: MAT-2024-001
descriptionstringOptional

Detailed description of the material

Example: High-grade steel rod with corrosion resistance, suitable for construction
material_category_idstringOptional

UUID of the material category

Example: 550e8400-e29b-41d4-a716-446655440001
material_subcategory_idstringOptional

UUID of the material subcategory

Example: 550e8400-e29b-41d4-a716-446655440002
material_supplier_idstringOptional

UUID of the material supplier

Example: 550e8400-e29b-41d4-a716-446655440003
delivery_timeall ofOptional

Delivery time information for the material

Example: {"value":3,"unit":"h"}
purchase_pricenumber · min: 1Optional

Purchase price of the material in base currency

Example: 25.99
actual_pricenumber · min: 1Optional

Current actual price of the material in base currency

Example: 28.5
materialCharacteristicsstring[]Optional

Array of material characteristic UUIDs (max 10)

Example: ["550e8400-e29b-41d4-a716-446655440004","550e8400-e29b-41d4-a716-446655440005"]
tagsstring[]Optional

Array of tag UUIDs for categorization and filtering

Example: ["550e8400-e29b-41d4-a716-446655440006","550e8400-e29b-41d4-a716-446655440007"]
Responses
201Success
application/json
post
/api/public/materials
POST /api/public/materials HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
Accept: */*
Content-Length: 681

{
  "name": "Premium Steel Rod",
  "measurement_unit_id": "550e8400-e29b-41d4-a716-446655440000",
  "material_external_id": "MAT-2024-001",
  "description": "High-grade steel rod with corrosion resistance, suitable for construction",
  "material_category_id": "550e8400-e29b-41d4-a716-446655440001",
  "material_subcategory_id": "550e8400-e29b-41d4-a716-446655440002",
  "material_supplier_id": "550e8400-e29b-41d4-a716-446655440003",
  "delivery_time": {
    "value": 3,
    "unit": "h"
  },
  "purchase_price": 25.99,
  "actual_price": 28.5,
  "materialCharacteristics": [
    "550e8400-e29b-41d4-a716-446655440004",
    "550e8400-e29b-41d4-a716-446655440005"
  ],
  "tags": [
    "550e8400-e29b-41d4-a716-446655440006",
    "550e8400-e29b-41d4-a716-446655440007"
  ]
}
201Success
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "material_category_id": "550e8400-e29b-41d4-a716-446655440001",
  "material_subcategory_id": "550e8400-e29b-41d4-a716-446655440002",
  "material_supplier_id": "550e8400-e29b-41d4-a716-446655440003",
  "image_id": "550e8400-e29b-41d4-a716-446655440004",
  "material_external_id": "MAT-001",
  "measurement_unit_id": "550e8400-e29b-41d4-a716-446655440005",
  "name": "Steel Beam",
  "description": "High-strength steel beam for construction",
  "status": "ACTIVE",
  "purchase_price": 150,
  "actual_price": 175.75,
  "supply_delivery_time": 5,
  "supply_delivery_time_period": "days",
  "created_at": "2023-01-01T00:00:00.000Z",
  "updated_at": "2023-01-02T00:00:00.000Z",
  "created_by": "550e8400-e29b-41d4-a716-446655440006",
  "updated_by": "550e8400-e29b-41d4-a716-446655440007"
}

Add photo to material

post

The API gives the ability to add photo to material.

Scenarios for processing the received data

📝 Photo was passed successfully

System sets this photo as a main photo for a material.

Authorizations
Path parameters
material_idstringRequired

Material ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Body
urlstringRequired

Photo url

Example: https://example.com/photos/material-photo.jpg
Responses
201Success
application/json
post
/api/public/materials/{material_id}/photos
POST /api/public/materials/{material_id}/photos HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
Accept: */*
Content-Length: 55

{
  "url": "https://example.com/photos/material-photo.jpg"
}
201Success
{
  "photo_id": "550e8400-e29b-41d4-a716-446655440000"
}

Update material

patch

The API gives the ability to update materials properties. Any parameters not provided will be left unchanged.

Authorizations
Path parameters
material_idstringRequired

Material ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Body
namestringOptional

Name of the material

Example: Premium Steel Rod
measurement_unit_idstringOptional

UUID of the measurement unit for this material

Example: 550e8400-e29b-41d4-a716-446655440000
material_external_idstringOptional

External identifier for the material from supplier or other system

Example: MAT-2024-001
descriptionstringOptional

Detailed description of the material

Example: High-grade steel rod with corrosion resistance, suitable for construction
material_category_idstringOptional

UUID of the material category

Example: 550e8400-e29b-41d4-a716-446655440001
material_subcategory_idstringOptional

UUID of the material subcategory

Example: 550e8400-e29b-41d4-a716-446655440002
material_supplier_idstringOptional

UUID of the material supplier

Example: 550e8400-e29b-41d4-a716-446655440003
delivery_timeall ofOptional

Delivery time information for the material

Example: {"value":3,"unit":"h"}
purchase_pricenumber · min: 1Optional

Purchase price of the material in base currency

Example: 25.99
actual_pricenumber · min: 1Optional

Current actual price of the material in base currency

Example: 28.5
statusstring · enumOptional

Status of the material

Example: ACTIVEPossible values:
Responses
200Success
application/json
patch
/api/public/materials/{material_id}
PATCH /api/public/materials/{material_id} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
Accept: */*
Content-Length: 506

{
  "name": "Premium Steel Rod",
  "measurement_unit_id": "550e8400-e29b-41d4-a716-446655440000",
  "material_external_id": "MAT-2024-001",
  "description": "High-grade steel rod with corrosion resistance, suitable for construction",
  "material_category_id": "550e8400-e29b-41d4-a716-446655440001",
  "material_subcategory_id": "550e8400-e29b-41d4-a716-446655440002",
  "material_supplier_id": "550e8400-e29b-41d4-a716-446655440003",
  "delivery_time": {
    "value": 3,
    "unit": "h"
  },
  "purchase_price": 25.99,
  "actual_price": 28.5,
  "status": "ACTIVE"
}
200Success
{
  "message": "The operation was done successfully"
}

Add parameters to a material

post

The API gives the ability to add parameter to material.

Authorizations
Path parameters
material_idstringRequired

Material ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Body
Responses
201Success
application/json
post
/api/public/materials/{material_id}/parameters
POST /api/public/materials/{material_id}/parameters HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "data": [
    []
  ]
}
201Success
{
  "message": "The operation was done successfully"
}

Remove material parameter from material

delete

The API gives the ability to remove parameter from material.

Authorizations
Path parameters
material_idstringRequired

Material ID

parameter_idstring · UUIDRequired

Parameter ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Responses
200Success
application/json
delete
/api/public/materials/{material_id}/parameters/{parameter_id}
DELETE /api/public/materials/{material_id}/parameters/{parameter_id} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Accept: */*
200Success
{
  "message": "The operation was done successfully"
}

Update material parameter value for material

patch

The API gives the ability to update material parameter value.

Authorizations
Path parameters
material_idstringRequired

Material ID

parameter_idstring · UUIDRequired

Parameter ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Body
parameter_value_idstringRequired

Unique identifier of the parameter value to update

Example: b86fa12a-76fc-46f5-8a3e-bf39e7be4c4e
Responses
200Success
application/json
patch
/api/public/materials/{material_id}/parameters/{parameter_id}
PATCH /api/public/materials/{material_id}/parameters/{parameter_id} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "parameter_value_id": "b86fa12a-76fc-46f5-8a3e-bf39e7be4c4e"
}
200Success
{
  "message": "The operation was done successfully"
}

Add tag to a material

post

The API gives the ability to add tag to material.

Authorizations
Path parameters
material_idstringRequired

Material ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Body
tag_idsstring[]Required

Array of tag UUIDs for categorization and filtering

Example: ["550e8400-e29b-41d4-a716-446655440006","550e8400-e29b-41d4-a716-446655440007"]
Responses
201Success
application/json
post
/api/public/materials/{material_id}/tags
POST /api/public/materials/{material_id}/tags HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
Accept: */*
Content-Length: 91

{
  "tag_ids": [
    "550e8400-e29b-41d4-a716-446655440006",
    "550e8400-e29b-41d4-a716-446655440007"
  ]
}
201Success
{
  "message": "The operation was done successfully"
}

Remove tag from a material

delete

The API gives the ability to remove tag from material.

Authorizations
Path parameters
material_idstringRequired

Material ID

tag_idstringRequired

Tag ID

Header parameters
x-tenant-idstring · uuidRequired

Tenant id (uuid v4)

Responses
200Success
application/json
delete
/api/public/materials/{material_id}/tags/{tag_id}
DELETE /api/public/materials/{material_id}/tags/{tag_id} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
x-tenant-id: 123e4567-e89b-12d3-a456-426614174000
Accept: */*
200Success
{
  "message": "The operation was done successfully"
}

Last updated