Maxim

Maxim

Last updated on Oct 8, 2026

Creates a resource. The set of required fields depends on the calculation type.

v1/resources/add.php

Parameters

Field Type Required Description
name string Yes Name
type string Yes Calculation type: "rate", "percent" or "amortized"
dynamic int No 1: the price of a fixed rate or the percentage of a percentage resource is specified in the product components. Default 0. Not used for depreciation
unit string For rate and amortized Unit of measure, a code from Units of Measure. Not needed for a rate with dynamic 1
price float For rate Price per unit. Not needed for a rate with dynamic 1
base string For percent Calculation basis: "cost" or "price"
percent float For percent Percentage. Not needed with dynamic 1
initial_cost float For amortized Initial cost
useful_life float For amortized Useful life, in unit units
notes string No Notes
categories array No Categories: objects with id or name

A category can be passed by name: if there is no such category, it is created. The IDs of existing categories are returned by v1/categories/get_list.

Resource types

The calculation type determines which fields are needed when creating a resource.

Type Description Required fields
"rate", Fixed rate Labor, electricity, contract manufacturing unit, price
"rate" with dynamic 1, Price specified in the product components The amount is set in each product's components None
"percent", Percentage Overhead, commissions base, percent
"percent" with dynamic 1, Percentage specified in the product components The percentage is set in each product's components base
"amortized", Depreciation Equipment, vehicles, tools unit, initial_cost, useful_life

The calculation basis (base) of a percentage resource:

  • "cost": the product cost without percentage resources;
  • "price": the sale price from the product card.

Units of measure

A resource can use any unit, including the time and energy units available to resources only: "h", "min", "kWh". See the full list in Units of Measure.

Example requests

A fixed rate: a carpenter's hourly rate.

{
    "name": "Carpenter's work",
    "type": "rate",
    "unit": "h",
    "price": 600,
    "categories": [{ "id": 31 }]
}

A percentage of cost, the same for all products:

{
    "name": "Overhead",
    "type": "percent",
    "base": "cost",
    "percent": 10
}

A marketplace commission whose percentage is set in each product's components:

{
    "name": "Marketplace commission",
    "type": "percent",
    "dynamic": 1,
    "base": "price"
}

Equipment depreciation:

{
    "name": "Milling machine",
    "type": "amortized",
    "unit": "h",
    "initial_cost": 600000,
    "useful_life": 2000
}

Example response

{
    "success": true,
    "resource_id": 57
}

Errors

Error Reason
No name in input A required field is missing (instead of name, the field's name: type or a field required for the type)
Name must not be empty Empty name
Name must be a string Name passed not as a string, e.g. as an array
Invalid type value. Must be one of: rate, percent, amortized Invalid type
Unit not set An empty unit of measure was passed
Unit not found Unknown unit of measure
Invalid price value. Must be a number, 0 or greater Price is not a number or below 0 (same for initial_cost)
Invalid base value. Must be one of: cost, price Invalid calculation basis
Percent must be greater than 0 and not exceed 100 Percentage is 0, below 0 or above 100
Useful life must be greater than 0 Useful life is 0 or less
Category 12 not found Category not found