Maxim

Maxim

Last updated on Oct 8, 2026

Rules that work the same way across all API methods.

Number precision

Quantities are stored with up to 3 decimal places, amounts and prices to the cent. The API rounds incoming values the same way the Controlata interface does: 0.3333 is saved as 0.333, 10.125 as 10.13. A quantity in operation lines must stay above zero after rounding: 0.0004 is rejected.

Editing

edit methods change only the fields you pass. Only the record ID is required, the other fields keep their current values.

  • Arrays (operation lines, categories, suppliers, product components) are replaced as a whole when passed. To clear an array, pass an empty array.
  • If at least one of the materials and products arrays is passed, the operation lines are replaced as a whole, and the array that is not passed is treated as empty. If neither is passed, the lines stay unchanged.

For example, to change only a purchase's notes, pass purchase_id and notes: the lines, dates, storage locations and supplier stay as they were.

Pagination

get_list methods accept optional pagination parameters. Exception: small reference lists (units of measure, categories and storage locations) are always returned in full and do not accept these parameters.

Field Type Description
limit int Page size, from 1 to 1000
offset int How many records to skip. Passed together with limit

Without limit the whole list is returned. The response has a total field with the total number of records matching the filters.

Error Reason
Invalid limit value. Must be between 1 and 1000 Invalid limit
Invalid offset value. Must be 0 or greater Invalid offset
Offset requires limit offset passed without limit