Hivebuy External API (v2)

Sections

Theme switcher

Bulk upsert projects

Header Parameters

Authorizationstring

Path Parameters

companyIdstring Required

Company ID. Must be one of the IDs returned by GET /api/v2/companies/.

Body Parameters

idstring

Optional, for matching only. Unlike the other resources, an id that matches nothing in this company is a hard per-row error (unknown_id), falling through to softer lookups could overwrite an unrelated project.

namestring Required
descriptionstring | null
projectNumberstring | null

Your own project number. Lookup step 2 and 3 of the matching ladder.

externalIdstring | null

Reference in your system. Lookup step 1.5: matches an already-linked project, or links the project the later steps find. Never silently re-linked, see external_id_conflict.

costCenterstring | null

Lookup step 4 of the matching ladder.

statusstring

A active, C closed.

Enum values:
AC
activeboolean
parentstring | null

The parent project's projectNumber, not an id. Empty or null clears the parent. An unknown number fails the row with parent_not_found.

legalEntitystring | null

The legal entity's name, not an id. Empty or null clears it. An unknown name fails the row with legal_entity_not_found.

deliveryAddressstring | null

Company address id. Must belong to this company and must not be deleted.

invoiceAddressstring | null

Company address id. Must belong to this company and must not be deleted.

projectApprovalFlowTypestring

Who approves for the project: SIMPLE project owner, MEDIUM owner and budget owner, EXTENDED owner, budget owner and the department heads involved, or USE_PURCHASE_REQUEST_WORKFLOWS to fall back to the normal request workflows.

Enum values:
USE_PURCHASE_REQUEST_WORKFLOWSSIMPLEMEDIUMEXTENDED
totalProjectBudgetstring | null

Total budget as a decimal string.

membersarray

User ids or emails. Each must be an active member of this company.

Show child attributes

approversarray

User emails, not ids. Each must be an active member of this company; an unknown email fails the row with users_not_found.

Show child attributes

budgetOwnersarray

User emails, not ids. Each must be an active member of this company; an unknown email fails the row with users_not_found.

Show child attributes

budgetallof

Budget figures you may set on a project write. Every key is optional. amount is the total; sending it is the same as sending totalProjectBudget. usedBudget, pendingBudget and remainingBudget are normally computed by Hivebuy from purchase requests and invoices. Sending any of them overrides the computed value and skips Hivebuy's own recalculation for this write, so a system of record for consumption (an ERP) can push its figures. The override holds until the next purchase requ...

Show child attributes

Response

200
Object

Always 200, even when rows failed: per-row results in upserted and errors, in row order.

Response Attributes

upsertedarray Required

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

errorsarray Required

One entry per failed row. A failed row never fails the batch.

Show child attributes

400
Object

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

errorstring
receivedinteger

Only on the over-limit refusal.

upsertLimitinteger

Only on the over-limit refusal.

401
Object

Missing, invalid, or expired API key, or a session credential was used instead of an API key.

Response Attributes

typestring
Enum values:
validationErrorclientErrorserverError
errorsarray

Show child attributes

403
Object

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

typestring
Enum values:
validationErrorclientErrorserverError
errorsarray

Show child attributes

429
Object

Rate limit exceeded (60 requests per minute per API key). Retry after the number of seconds given in the message.

Response Attributes

typestring
Enum values:
validationErrorclientErrorserverError
errorsarray

Show child attributes

POST

/

Select
1

Response