Bulk upsert categories
Header Parameters
Path Parameters
Company ID. Must be one of the IDs returned by GET /api/v2/companies/.
Body Parameters
Optional, for matching only: the category's id. An id that matches nothing in this company falls through to the next lookup field, and a new record is created with a fresh id.
Locale-keyed names, e.g. {"en": "Provisions", "de": "Verpflegung"}. The en value is what ?ordering=name sorts on, whatever language the key's user has.
Show child attributes
Parent category. Must belong to the same company, or 400.
Emoji shown next to the category in the UI.
Main general-ledger account (Sachkontennummer).
Further GL accounts. The main one stays in glAccount.
Show child attributes
eClass codes keyed by eClass version, e.g. {"5.1.4": ["39140100", "39140102"]}. Free-form JSON: Hivebuy does not validate its shape.
Which budget a request in this category draws on: C company, D department, DO department only, P project, U user, NB no budget, CS supplier.
CDDOPUNBCSWhether the category is budgeted at all.
Whether a delivery has to be recorded before an invoice can be matched.
frame for framework agreements, material for goods.
framematerialResponse
Always 200, even when rows failed: per-row results in upserted and errors, in row order.
Response Attributes
One entry per stored row, in row order: the row as you sent it, plus the record's id and the action taken.
Show child attributes
One entry per failed row. A failed row never fails the batch.
The whole request was refused: the body is not a JSON array, or it has more than 50 rows. Plain {"error": …} body, this one predates the error envelope and existing clients parse it.
Response Attributes
Only on the over-limit refusal.
Only on the over-limit refusal.
Missing, invalid, or expired API key, or a session credential was used instead of an API key.
Response Attributes
validationErrorclientErrorserverError Show child attributes
Authenticated but not entitled: the key's user is not an active member of this company, the External API feature (or the resource's own feature) is not enabled for it, the key lacks the scope this verb needs, or a browser session was used.
Response Attributes
validationErrorclientErrorserverError Show child attributes
Rate limit exceeded (60 requests per minute per API key). Retry after the number of seconds given in the message.
Response Attributes
validationErrorclientErrorserverError