Files
homebox_lens/tech_spec/api_summary.md
2025-09-07 12:41:52 +03:00

1576 lines
42 KiB
Markdown

<API_SUMMARY>
# API Summary: Homebox API
<POST /v1/actions/create-missing-thumbnails>
**Summary:** Create Missing Thumbnails
**Description:** Creates thumbnails for items that are missing them
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `completed` (integer): No description
</RESPONSES>
---
</POST /v1/actions/create-missing-thumbnails><POST /v1/actions/ensure-asset-ids>
**Summary:** Ensure Asset IDs
**Description:** Ensures all items in the database have an asset ID
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `completed` (integer): No description
</RESPONSES>
---
</POST /v1/actions/ensure-asset-ids><POST /v1/actions/ensure-import-refs>
**Summary:** Ensures Import Refs
**Description:** Ensures all items in the database have an import ref
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `completed` (integer): No description
</RESPONSES>
---
</POST /v1/actions/ensure-import-refs><POST /v1/actions/set-primary-photos>
**Summary:** Set Primary Photos
**Description:** Sets the first photo of each item as the primary photo
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `completed` (integer): No description
</RESPONSES>
---
</POST /v1/actions/set-primary-photos><POST /v1/actions/zero-item-time-fields>
**Summary:** Zero Out Time Fields
**Description:** Resets all item date fields to the beginning of the day
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `completed` (integer): No description
</RESPONSES>
---
</POST /v1/actions/zero-item-time-fields><GET /v1/assets/{id}>
**Summary:** Get Item by Asset ID
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Asset ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `items` (array): No description
- `page` (integer): No description
- `pageSize` (integer): No description
- `total` (integer): No description
</RESPONSES>
---
</GET /v1/assets/{id}><GET /v1/currency>
**Summary:** Currency
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `code` (string): No description
- `local` (string): No description
- `name` (string): No description
- `symbol` (string): No description
</RESPONSES>
---
</GET /v1/currency><GET /v1/groups>
**Summary:** Get Group
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `createdAt` (string): No description
- `currency` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</GET /v1/groups><PUT /v1/groups>
**Summary:** Update Group
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | User Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `currency` (string): No description
- `name` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `createdAt` (string): No description
- `currency` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</PUT /v1/groups><POST /v1/groups/invitations>
**Summary:** Create Group Invitation
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | User Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `expiresAt` (string): No description
- `uses` (integer): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `expiresAt` (string): No description
- `token` (string): No description
- `uses` (integer): No description
</RESPONSES>
---
</POST /v1/groups/invitations><GET /v1/groups/statistics>
**Summary:** Get Group Statistics
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `totalItemPrice` (number): No description
- `totalItems` (integer): No description
- `totalLabels` (integer): No description
- `totalLocations` (integer): No description
- `totalUsers` (integer): No description
- `totalWithWarranty` (integer): No description
</RESPONSES>
---
</GET /v1/groups/statistics><GET /v1/groups/statistics/labels>
**Summary:** Get Label Statistics
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `id` (string): No description
- `name` (string): No description
- `total` (number): No description
</RESPONSES>
---
</GET /v1/groups/statistics/labels><GET /v1/groups/statistics/locations>
**Summary:** Get Location Statistics
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `id` (string): No description
- `name` (string): No description
- `total` (number): No description
</RESPONSES>
---
</GET /v1/groups/statistics/locations><GET /v1/groups/statistics/purchase-price>
**Summary:** Get Purchase Price Statistics
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `start` | query | False | string | start date |
| `end` | query | False | string | end date |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `end` (string): No description
- `entries` (array): No description
- `start` (string): No description
- `valueAtEnd` (number): No description
- `valueAtStart` (number): No description
</RESPONSES>
---
</GET /v1/groups/statistics/purchase-price><GET /v1/items>
**Summary:** Query All Items
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `q` | query | False | string | search string |
| `page` | query | False | integer | page number |
| `pageSize` | query | False | integer | items per page |
| `labels` | query | False | array | label Ids |
| `locations` | query | False | array | location Ids |
| `parentIds` | query | False | array | parent Ids |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `items` (array): No description
- `page` (integer): No description
- `pageSize` (integer): No description
- `total` (integer): No description
</RESPONSES>
---
</GET /v1/items><POST /v1/items>
**Summary:** Create Item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | Item Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `description` (string): No description
- `labelIds` (array): No description
- `locationId` (string): Edges
- `name` (string): No description
- `parentId` (string): No description
- `quantity` (integer): No description
```
</REQUEST_BODY>
<RESPONSES>
- **201**: Created
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `location` (any): Edges
- `name` (string): No description
- `purchasePrice` (number): No description
- `quantity` (integer): No description
- `soldTime` (string): Sale details
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</POST /v1/items><GET /v1/items/export>
**Summary:** Export Items
<RESPONSES>
- **200**: text/csv
**Schema:**
string
</RESPONSES>
---
</GET /v1/items/export><GET /v1/items/fields>
**Summary:** Get All Custom Field Names
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
string
</RESPONSES>
---
</GET /v1/items/fields><GET /v1/items/fields/values>
**Summary:** Get All Custom Field Values
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
string
</RESPONSES>
---
</GET /v1/items/fields/values><POST /v1/items/import>
**Summary:** Import Items
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `csv` | formData | True | file | Image to upload |
</PARAMETERS>
<FORM_DATA>| Name | Type | Description |
|------|------|-------------|
| `csv` | file | Image to upload |
</FORM_DATA><RESPONSES>
- **204**: No Content
</RESPONSES>
---
</POST /v1/items/import><GET /v1/items/{id}>
**Summary:** Get Item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `attachments` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `location` (any): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parent` (any): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): No description
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
</RESPONSES>
---
</GET /v1/items/{id}><PUT /v1/items/{id}>
**Summary:** Update Item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `payload` | body | True | object | Item Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `insured` (boolean): No description
- `labelIds` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `locationId` (string): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parentId` (string): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): Identifications
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `attachments` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `location` (any): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parent` (any): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): No description
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
</RESPONSES>
---
</PUT /v1/items/{id}><DELETE /v1/items/{id}>
**Summary:** Delete Item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/items/{id}><PATCH /v1/items/{id}>
**Summary:** Update Item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `payload` | body | True | object | Item Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `id` (string): No description
- `quantity` (integer): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `attachments` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `location` (any): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parent` (any): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): No description
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
</RESPONSES>
---
</PATCH /v1/items/{id}><POST /v1/items/{id}/attachments>
**Summary:** Create Item Attachment
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `file` | formData | True | file | File attachment |
| `type` | formData | False | string | Type of file |
| `primary` | formData | False | boolean | Is this the primary attachment |
| `name` | formData | True | string | name of the file including extension |
</PARAMETERS>
<FORM_DATA>| Name | Type | Description |
|------|------|-------------|
| `file` | file | File attachment |
| `type` | string | Type of file |
| `primary` | boolean | Is this the primary attachment |
| `name` | string | name of the file including extension |
</FORM_DATA><RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `attachments` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `location` (any): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parent` (any): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): No description
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
- **422**: Unprocessable Entity
**Schema:**
Object with properties:
- `error` (string): No description
- `fields` (string): No description
</RESPONSES>
---
</POST /v1/items/{id}/attachments><GET /v1/items/{id}/attachments/{attachment_id}>
**Summary:** Get Item Attachment
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `attachment_id` | path | True | string | Attachment ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `token` (string): No description
</RESPONSES>
---
</GET /v1/items/{id}/attachments/{attachment_id}><PUT /v1/items/{id}/attachments/{attachment_id}>
**Summary:** Update Item Attachment
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `attachment_id` | path | True | string | Attachment ID |
| `payload` | body | True | object | Attachment Update |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `primary` (boolean): No description
- `title` (string): No description
- `type` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `attachments` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `location` (any): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parent` (any): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): No description
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
</RESPONSES>
---
</PUT /v1/items/{id}/attachments/{attachment_id}><DELETE /v1/items/{id}/attachments/{attachment_id}>
**Summary:** Delete Item Attachment
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `attachment_id` | path | True | string | Attachment ID |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/items/{id}/attachments/{attachment_id}><POST /v1/items/{id}/duplicate>
**Summary:** Duplicate Item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `payload` | body | True | object | Duplicate Options |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `copyAttachments` (boolean): No description
- `copyCustomFields` (boolean): No description
- `copyMaintenance` (boolean): No description
- `copyPrefix` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **201**: Created
**Schema:**
Object with properties:
- `archived` (boolean): No description
- `assetId` (string): No description
- `attachments` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `fields` (array): No description
- `id` (string): No description
- `imageId` (string): No description
- `insured` (boolean): No description
- `labels` (array): No description
- `lifetimeWarranty` (boolean): Warranty
- `location` (any): Edges
- `manufacturer` (string): No description
- `modelNumber` (string): No description
- `name` (string): No description
- `notes` (string): Extras
- `parent` (any): No description
- `purchaseFrom` (string): No description
- `purchasePrice` (number): No description
- `purchaseTime` (string): Purchase
- `quantity` (integer): No description
- `serialNumber` (string): No description
- `soldNotes` (string): No description
- `soldPrice` (number): No description
- `soldTime` (string): Sold
- `soldTo` (string): No description
- `syncChildItemsLocations` (boolean): No description
- `thumbnailId` (string): No description
- `updatedAt` (string): No description
- `warrantyDetails` (string): No description
- `warrantyExpires` (string): No description
</RESPONSES>
---
</POST /v1/items/{id}/duplicate><GET /v1/items/{id}/maintenance>
**Summary:** Get Maintenance Log
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `status` | query | False | string | |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `completedDate` (string): No description
- `cost` (string): No description
- `description` (string): No description
- `id` (string): No description
- `itemID` (string): No description
- `itemName` (string): No description
- `name` (string): No description
- `scheduledDate` (string): No description
</RESPONSES>
---
</GET /v1/items/{id}/maintenance><POST /v1/items/{id}/maintenance>
**Summary:** Create Maintenance Entry
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `payload` | body | True | object | Entry Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `completedDate` (string): No description
- `cost` (string): No description
- `description` (string): No description
- `name` (string): No description
- `scheduledDate` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **201**: Created
**Schema:**
Object with properties:
- `completedDate` (string): No description
- `cost` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `scheduledDate` (string): No description
</RESPONSES>
---
</POST /v1/items/{id}/maintenance><GET /v1/items/{id}/path>
**Summary:** Get the full path of an item
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `id` (string): No description
- `name` (string): No description
- `type` (any): No description
</RESPONSES>
---
</GET /v1/items/{id}/path><GET /v1/labelmaker/assets/{id}>
**Summary:** Get Asset label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Asset ID |
| `print` | query | False | boolean | Print this label, defaults to false |
</PARAMETERS>
<RESPONSES>
- **200**: image/png
**Schema:**
string
</RESPONSES>
---
</GET /v1/labelmaker/assets/{id}><GET /v1/labelmaker/item/{id}>
**Summary:** Get Item label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Item ID |
| `print` | query | False | boolean | Print this label, defaults to false |
</PARAMETERS>
<RESPONSES>
- **200**: image/png
**Schema:**
string
</RESPONSES>
---
</GET /v1/labelmaker/item/{id}><GET /v1/labelmaker/location/{id}>
**Summary:** Get Location label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Location ID |
| `print` | query | False | boolean | Print this label, defaults to false |
</PARAMETERS>
<RESPONSES>
- **200**: image/png
**Schema:**
string
</RESPONSES>
---
</GET /v1/labelmaker/location/{id}><GET /v1/labels>
**Summary:** Get All Labels
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `color` (string): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</GET /v1/labels><POST /v1/labels>
**Summary:** Create Label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | Label Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `color` (string): No description
- `description` (string): No description
- `name` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `color` (string): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</POST /v1/labels><GET /v1/labels/{id}>
**Summary:** Get Label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Label ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `color` (string): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</GET /v1/labels/{id}><PUT /v1/labels/{id}>
**Summary:** Update Label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Label ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `color` (string): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</PUT /v1/labels/{id}><DELETE /v1/labels/{id}>
**Summary:** Delete Label
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Label ID |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/labels/{id}><GET /v1/locations>
**Summary:** Get All Locations
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `filterChildren` | query | False | boolean | Filter locations with parents |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `itemCount` (integer): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</GET /v1/locations><POST /v1/locations>
**Summary:** Create Location
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | Location Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `description` (string): No description
- `name` (string): No description
- `parentId` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</POST /v1/locations><GET /v1/locations/tree>
**Summary:** Get Locations Tree
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `withItems` | query | False | boolean | include items in response tree |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `children` (array): No description
- `id` (string): No description
- `name` (string): No description
- `type` (string): No description
</RESPONSES>
---
</GET /v1/locations/tree><GET /v1/locations/{id}>
**Summary:** Get Location
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Location ID |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `children` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `parent` (any): No description
- `totalPrice` (number): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</GET /v1/locations/{id}><PUT /v1/locations/{id}>
**Summary:** Update Location
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Location ID |
| `payload` | body | True | object | Location Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `parentId` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `children` (array): No description
- `createdAt` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `parent` (any): No description
- `totalPrice` (number): No description
- `updatedAt` (string): No description
</RESPONSES>
---
</PUT /v1/locations/{id}><DELETE /v1/locations/{id}>
**Summary:** Delete Location
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Location ID |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/locations/{id}><GET /v1/maintenance>
**Summary:** Query All Maintenance
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `status` | query | False | string | |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `completedDate` (string): No description
- `cost` (string): No description
- `description` (string): No description
- `id` (string): No description
- `itemID` (string): No description
- `itemName` (string): No description
- `name` (string): No description
- `scheduledDate` (string): No description
</RESPONSES>
---
</GET /v1/maintenance><PUT /v1/maintenance/{id}>
**Summary:** Update Maintenance Entry
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Maintenance ID |
| `payload` | body | True | object | Entry Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `completedDate` (string): No description
- `cost` (string): No description
- `description` (string): No description
- `name` (string): No description
- `scheduledDate` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `completedDate` (string): No description
- `cost` (string): No description
- `description` (string): No description
- `id` (string): No description
- `name` (string): No description
- `scheduledDate` (string): No description
</RESPONSES>
---
</PUT /v1/maintenance/{id}><DELETE /v1/maintenance/{id}>
**Summary:** Delete Maintenance Entry
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Maintenance ID |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/maintenance/{id}><GET /v1/notifiers>
**Summary:** Get Notifiers
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `createdAt` (string): No description
- `groupId` (string): No description
- `id` (string): No description
- `isActive` (boolean): No description
- `name` (string): No description
- `updatedAt` (string): No description
- `url` (string): No description
- `userId` (string): No description
</RESPONSES>
---
</GET /v1/notifiers><POST /v1/notifiers>
**Summary:** Create Notifier
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | Notifier Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `isActive` (boolean): No description
- `name` (string): No description
- `url` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `createdAt` (string): No description
- `groupId` (string): No description
- `id` (string): No description
- `isActive` (boolean): No description
- `name` (string): No description
- `updatedAt` (string): No description
- `url` (string): No description
- `userId` (string): No description
</RESPONSES>
---
</POST /v1/notifiers><POST /v1/notifiers/test>
**Summary:** Test Notifier
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `url` | query | True | string | URL |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</POST /v1/notifiers/test><PUT /v1/notifiers/{id}>
**Summary:** Update Notifier
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Notifier ID |
| `payload` | body | True | object | Notifier Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `isActive` (boolean): No description
- `name` (string): No description
- `url` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `createdAt` (string): No description
- `groupId` (string): No description
- `id` (string): No description
- `isActive` (boolean): No description
- `name` (string): No description
- `updatedAt` (string): No description
- `url` (string): No description
- `userId` (string): No description
</RESPONSES>
---
</PUT /v1/notifiers/{id}><DELETE /v1/notifiers/{id}>
**Summary:** Delete a Notifier
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `id` | path | True | string | Notifier ID |
</PARAMETERS>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/notifiers/{id}><GET /v1/products/search-from-barcode>
**Summary:** Search EAN from Barcode
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `data` | query | False | string | barcode to be searched |
</PARAMETERS>
<RESPONSES>
- **200**: OK
**Schema:**
Array of:
Object with properties:
- `barcode` (string): No description
- `imageBase64` (string): No description
- `imageURL` (string): No description
- `item` (any): No description
- `manufacturer` (string): No description
- `modelNumber` (string): Identifications
- `notes` (string): Extras
- `search_engine_name` (string): No description
</RESPONSES>
---
</GET /v1/products/search-from-barcode><GET /v1/qrcode>
**Summary:** Create QR Code
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `data` | query | False | string | data to be encoded into qrcode |
</PARAMETERS>
<RESPONSES>
- **200**: image/jpeg
**Schema:**
string
</RESPONSES>
---
</GET /v1/qrcode><GET /v1/reporting/bill-of-materials>
**Summary:** Export Bill of Materials
<RESPONSES>
- **200**: text/csv
**Schema:**
string
</RESPONSES>
---
</GET /v1/reporting/bill-of-materials><GET /v1/status>
**Summary:** Application Info
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `allowRegistration` (boolean): No description
- `build` (any): No description
- `demo` (boolean): No description
- `health` (boolean): No description
- `labelPrinting` (boolean): No description
- `latest` (any): No description
- `message` (string): No description
- `title` (string): No description
- `versions` (array): No description
</RESPONSES>
---
</GET /v1/status><PUT /v1/users/change-password>
**Summary:** Change Password
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | Password Payload |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `current` (string): No description
- `new` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</PUT /v1/users/change-password><POST /v1/users/login>
**Summary:** User Login
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | Login Data |
| `provider` | query | False | string | auth provider |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `password` (string): No description
- `stayLoggedIn` (boolean): No description
- `username` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
**Schema:**
Object with properties:
- `attachmentToken` (string): No description
- `expiresAt` (string): No description
- `token` (string): No description
</RESPONSES>
---
</POST /v1/users/login><POST /v1/users/logout>
**Summary:** User Logout
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</POST /v1/users/logout><GET /v1/users/refresh>
**Summary:** User Token Refresh
**Description:** handleAuthRefresh returns a handler that will issue a new token from an existing token.
This does not validate that the user still exists within the database.
<RESPONSES>
- **200**: OK
</RESPONSES>
---
</GET /v1/users/refresh><POST /v1/users/register>
**Summary:** Register New User
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | User Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `email` (string): No description
- `name` (string): No description
- `password` (string): No description
- `token` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</POST /v1/users/register><GET /v1/users/self>
**Summary:** Get User Self
<RESPONSES>
- **200**: OK
</RESPONSES>
---
</GET /v1/users/self><PUT /v1/users/self>
**Summary:** Update Account
<PARAMETERS>
| Name | In | Required | Type | Description |
|------|----|----------|------|-------------|
| `payload` | body | True | object | User Data |
</PARAMETERS>
<REQUEST_BODY>
Object with properties:
- `email` (string): No description
- `name` (string): No description
```
</REQUEST_BODY>
<RESPONSES>
- **200**: OK
</RESPONSES>
---
</PUT /v1/users/self><DELETE /v1/users/self>
**Summary:** Delete Account
<RESPONSES>
- **204**: No Content
</RESPONSES>
---
</DELETE /v1/users/self></API_SUMMARY>