{ "swagger": "2.0", "info": { "description": "Track, Manage, and Organize your Shit.", "title": "Homebox API", "contact": { "name": "Don't" }, "license": { "name": "MIT" }, "version": "1.0" }, "basePath": "/api", "paths": { "/v1/actions/ensure-asset-ids": { "post": { "security": [ { "Bearer": [] } ], "description": "Ensures all items in the database have an asset ID", "produces": [ "application/json" ], "tags": [ "Actions" ], "summary": "Ensure Asset IDs", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.ActionAmountResult" } } } } }, "/v1/actions/ensure-import-refs": { "post": { "security": [ { "Bearer": [] } ], "description": "Ensures all items in the database have an import ref", "produces": [ "application/json" ], "tags": [ "Actions" ], "summary": "Ensures Import Refs", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.ActionAmountResult" } } } } }, "/v1/actions/zero-item-time-fields": { "post": { "security": [ { "Bearer": [] } ], "description": "Resets all item date fields to the beginning of the day", "produces": [ "application/json" ], "tags": [ "Actions" ], "summary": "Zero Out Time Fields", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.ActionAmountResult" } } } } }, "/v1/assets/{id}": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Get Item by Asset ID", "parameters": [ { "type": "string", "description": "Asset ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.PaginationResult-repo_ItemSummary" } } } } }, "/v1/groups": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Group" ], "summary": "Get Group", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.Group" } } } }, "put": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Group" ], "summary": "Update Group", "parameters": [ { "description": "User Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.GroupUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.Group" } } } } }, "/v1/groups/invitations": { "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Group" ], "summary": "Create Group Invitation", "parameters": [ { "description": "User Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1.GroupInvitationCreate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.GroupInvitation" } } } } }, "/v1/groups/statistics": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Statistics" ], "summary": "Get Group Statistics", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.GroupStatistics" } } } } }, "/v1/groups/statistics/labels": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Statistics" ], "summary": "Get Label Statistics", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/repo.TotalsByOrganizer" } } } } } }, "/v1/groups/statistics/locations": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Statistics" ], "summary": "Get Location Statistics", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/repo.TotalsByOrganizer" } } } } } }, "/v1/groups/statistics/purchase-price": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Statistics" ], "summary": "Get Purchase Price Statistics", "parameters": [ { "type": "string", "description": "start date", "name": "start", "in": "query" }, { "type": "string", "description": "end date", "name": "end", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.ValueOverTime" } } } } }, "/v1/items": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Query All Items", "parameters": [ { "type": "string", "description": "search string", "name": "q", "in": "query" }, { "type": "integer", "description": "page number", "name": "page", "in": "query" }, { "type": "integer", "description": "items per page", "name": "pageSize", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "label Ids", "name": "labels", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "location Ids", "name": "locations", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.PaginationResult-repo_ItemSummary" } } } }, "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Create Item", "parameters": [ { "description": "Item Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.ItemCreate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.ItemSummary" } } } } }, "/v1/items/export": { "get": { "security": [ { "Bearer": [] } ], "tags": [ "Items" ], "summary": "Export Items", "responses": { "200": { "description": "text/csv", "schema": { "type": "string" } } } } }, "/v1/items/fields": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Get All Custom Field Names", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "string" } } } } } }, "/v1/items/fields/values": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Get All Custom Field Values", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "string" } } } } } }, "/v1/items/import": { "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Import Items", "parameters": [ { "type": "file", "description": "Image to upload", "name": "csv", "in": "formData", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/items/{id}": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Get Item", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.ItemOut" } } } }, "put": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Update Item", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true }, { "description": "Item Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.ItemUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.ItemOut" } } } }, "delete": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Delete Item", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/items/{id}/attachments": { "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items Attachments" ], "summary": "Create Item Attachment", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true }, { "type": "file", "description": "File attachment", "name": "file", "in": "formData", "required": true }, { "type": "string", "description": "Type of file", "name": "type", "in": "formData", "required": true }, { "type": "string", "description": "name of the file including extension", "name": "name", "in": "formData", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.ItemOut" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/server.ErrorResponse" } } } } }, "/v1/items/{id}/attachments/{attachment_id}": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/octet-stream" ], "tags": [ "Items Attachments" ], "summary": "Get Item Attachment", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Attachment ID", "name": "attachment_id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.ItemAttachmentToken" } } } }, "put": { "security": [ { "Bearer": [] } ], "tags": [ "Items Attachments" ], "summary": "Update Item Attachment", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Attachment ID", "name": "attachment_id", "in": "path", "required": true }, { "description": "Attachment Update", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.ItemAttachmentUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.ItemOut" } } } }, "delete": { "security": [ { "Bearer": [] } ], "tags": [ "Items Attachments" ], "summary": "Delete Item Attachment", "parameters": [ { "type": "string", "description": "Item ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "Attachment ID", "name": "attachment_id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/items/{id}/maintenance": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Maintenance" ], "summary": "Get Maintenance Log", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.MaintenanceLog" } } } }, "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Maintenance" ], "summary": "Create Maintenance Entry", "parameters": [ { "description": "Entry Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.MaintenanceEntryCreate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.MaintenanceEntry" } } } } }, "/v1/items/{id}/maintenance/{entry_id}": { "put": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Maintenance" ], "summary": "Update Maintenance Entry", "parameters": [ { "description": "Entry Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.MaintenanceEntryUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.MaintenanceEntry" } } } }, "delete": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Maintenance" ], "summary": "Delete Maintenance Entry", "responses": { "204": { "description": "No Content" } } } }, "/v1/labels": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Labels" ], "summary": "Get All Labels", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/server.Results" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/repo.LabelOut" } } } } ] } } } }, "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Labels" ], "summary": "Create Label", "parameters": [ { "description": "Label Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.LabelCreate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.LabelSummary" } } } } }, "/v1/labels/{id}": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Labels" ], "summary": "Get Label", "parameters": [ { "type": "string", "description": "Label ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.LabelOut" } } } }, "put": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Labels" ], "summary": "Update Label", "parameters": [ { "type": "string", "description": "Label ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.LabelOut" } } } }, "delete": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Labels" ], "summary": "Delete Label", "parameters": [ { "type": "string", "description": "Label ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/locations": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Locations" ], "summary": "Get All Locations", "parameters": [ { "type": "boolean", "description": "Filter locations with parents", "name": "filterChildren", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/server.Results" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/repo.LocationOutCount" } } } } ] } } } }, "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Locations" ], "summary": "Create Location", "parameters": [ { "description": "Location Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.LocationCreate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.LocationSummary" } } } } }, "/v1/locations/tree": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Locations" ], "summary": "Get Locations Tree", "parameters": [ { "type": "boolean", "description": "include items in response tree", "name": "withItems", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/server.Results" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/repo.TreeItem" } } } } ] } } } } }, "/v1/locations/{id}": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Locations" ], "summary": "Get Location", "parameters": [ { "type": "string", "description": "Location ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.LocationOut" } } } }, "put": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Locations" ], "summary": "Update Location", "parameters": [ { "type": "string", "description": "Location ID", "name": "id", "in": "path", "required": true }, { "description": "Location Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.LocationUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.LocationOut" } } } }, "delete": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Locations" ], "summary": "Delete Location", "parameters": [ { "type": "string", "description": "Location ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/notifiers": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Notifiers" ], "summary": "Get Notifiers", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/server.Results" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/repo.NotifierOut" } } } } ] } } } }, "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Notifiers" ], "summary": "Create Notifier", "parameters": [ { "description": "Notifier Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.NotifierCreate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.NotifierOut" } } } } }, "/v1/notifiers/test": { "post": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Notifiers" ], "summary": "Test Notifier", "parameters": [ { "type": "string", "description": "Notifier ID", "name": "id", "in": "path", "required": true }, { "type": "string", "description": "URL", "name": "url", "in": "query", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/notifiers/{id}": { "put": { "security": [ { "Bearer": [] } ], "tags": [ "Notifiers" ], "summary": "Update Notifier", "parameters": [ { "type": "string", "description": "Notifier ID", "name": "id", "in": "path", "required": true }, { "description": "Notifier Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.NotifierUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/repo.NotifierOut" } } } }, "delete": { "security": [ { "Bearer": [] } ], "tags": [ "Notifiers" ], "summary": "Delete a Notifier", "parameters": [ { "type": "string", "description": "Notifier ID", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/qrcode": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Items" ], "summary": "Create QR Code", "parameters": [ { "type": "string", "description": "data to be encoded into qrcode", "name": "data", "in": "query" } ], "responses": { "200": { "description": "image/jpeg", "schema": { "type": "string" } } } } }, "/v1/reporting/bill-of-materials": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "Reporting" ], "summary": "Export Bill of Materials", "responses": { "200": { "description": "text/csv", "schema": { "type": "string" } } } } }, "/v1/status": { "get": { "produces": [ "application/json" ], "tags": [ "Base" ], "summary": "Application Info", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.ApiSummary" } } } } }, "/v1/users/change-password": { "put": { "security": [ { "Bearer": [] } ], "tags": [ "User" ], "summary": "Change Password", "parameters": [ { "description": "Password Payload", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1.ChangePassword" } } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/users/login": { "post": { "consumes": [ "application/x-www-form-urlencoded", "application/json" ], "produces": [ "application/json" ], "tags": [ "Authentication" ], "summary": "User Login", "parameters": [ { "type": "string", "example": "admin@admin.com", "description": "string", "name": "username", "in": "formData" }, { "type": "string", "example": "admin", "description": "string", "name": "password", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/v1.TokenResponse" } } } } }, "/v1/users/logout": { "post": { "security": [ { "Bearer": [] } ], "tags": [ "Authentication" ], "summary": "User Logout", "responses": { "204": { "description": "No Content" } } } }, "/v1/users/refresh": { "get": { "security": [ { "Bearer": [] } ], "description": "handleAuthRefresh returns a handler that will issue a new token from an existing token.\nThis does not validate that the user still exists within the database.", "tags": [ "Authentication" ], "summary": "User Token Refresh", "responses": { "200": { "description": "OK" } } } }, "/v1/users/register": { "post": { "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Register New User", "parameters": [ { "description": "User Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/services.UserRegistration" } } ], "responses": { "204": { "description": "No Content" } } } }, "/v1/users/self": { "get": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Get User Self", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/server.Result" }, { "type": "object", "properties": { "item": { "$ref": "#/definitions/repo.UserOut" } } } ] } } } }, "put": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Update Account", "parameters": [ { "description": "User Data", "name": "payload", "in": "body", "required": true, "schema": { "$ref": "#/definitions/repo.UserUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/server.Result" }, { "type": "object", "properties": { "item": { "$ref": "#/definitions/repo.UserUpdate" } } } ] } } } }, "delete": { "security": [ { "Bearer": [] } ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Delete Account", "responses": { "204": { "description": "No Content" } } } } }, "definitions": { "repo.DocumentOut": { "type": "object", "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "title": { "type": "string" } } }, "repo.Group": { "type": "object", "properties": { "createdAt": { "type": "string" }, "currency": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "updatedAt": { "type": "string" } } }, "repo.GroupStatistics": { "type": "object", "properties": { "totalItemPrice": { "type": "number" }, "totalItems": { "type": "integer" }, "totalLabels": { "type": "integer" }, "totalLocations": { "type": "integer" }, "totalUsers": { "type": "integer" }, "totalWithWarranty": { "type": "integer" } } }, "repo.GroupUpdate": { "type": "object", "properties": { "currency": { "type": "string" }, "name": { "type": "string" } } }, "repo.ItemAttachment": { "type": "object", "properties": { "createdAt": { "type": "string" }, "document": { "$ref": "#/definitions/repo.DocumentOut" }, "id": { "type": "string" }, "type": { "type": "string" }, "updatedAt": { "type": "string" } } }, "repo.ItemAttachmentUpdate": { "type": "object", "properties": { "title": { "type": "string" }, "type": { "type": "string" } } }, "repo.ItemCreate": { "type": "object", "properties": { "description": { "type": "string" }, "labelIds": { "type": "array", "items": { "type": "string" } }, "locationId": { "description": "Edges", "type": "string" }, "name": { "type": "string" }, "parentId": { "type": "string", "x-nullable": true } } }, "repo.ItemField": { "type": "object", "properties": { "booleanValue": { "type": "boolean" }, "id": { "type": "string" }, "name": { "type": "string" }, "numberValue": { "type": "integer" }, "textValue": { "type": "string" }, "type": { "type": "string" } } }, "repo.ItemOut": { "type": "object", "properties": { "archived": { "type": "boolean" }, "assetId": { "type": "string", "example": "0" }, "attachments": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemAttachment" } }, "children": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemSummary" } }, "createdAt": { "type": "string" }, "description": { "type": "string" }, "fields": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemField" } }, "id": { "type": "string" }, "insured": { "type": "boolean" }, "labels": { "type": "array", "items": { "$ref": "#/definitions/repo.LabelSummary" } }, "lifetimeWarranty": { "description": "Warranty", "type": "boolean" }, "location": { "description": "Edges", "x-nullable": true, "x-omitempty": true, "$ref": "#/definitions/repo.LocationSummary" }, "manufacturer": { "type": "string" }, "modelNumber": { "type": "string" }, "name": { "type": "string" }, "notes": { "description": "Extras", "type": "string" }, "parent": { "x-nullable": true, "x-omitempty": true, "$ref": "#/definitions/repo.ItemSummary" }, "purchaseFrom": { "type": "string" }, "purchasePrice": { "type": "string", "example": "0" }, "purchaseTime": { "description": "Purchase", "type": "string" }, "quantity": { "type": "integer" }, "serialNumber": { "type": "string" }, "soldNotes": { "type": "string" }, "soldPrice": { "type": "string", "example": "0" }, "soldTime": { "description": "Sold", "type": "string" }, "soldTo": { "type": "string" }, "updatedAt": { "type": "string" }, "warrantyDetails": { "type": "string" }, "warrantyExpires": { "type": "string" } } }, "repo.ItemSummary": { "type": "object", "properties": { "archived": { "type": "boolean" }, "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "insured": { "type": "boolean" }, "labels": { "type": "array", "items": { "$ref": "#/definitions/repo.LabelSummary" } }, "location": { "description": "Edges", "x-nullable": true, "x-omitempty": true, "$ref": "#/definitions/repo.LocationSummary" }, "name": { "type": "string" }, "purchasePrice": { "type": "string", "example": "0" }, "quantity": { "type": "integer" }, "updatedAt": { "type": "string" } } }, "repo.ItemUpdate": { "type": "object", "properties": { "archived": { "type": "boolean" }, "assetId": { "type": "string" }, "description": { "type": "string" }, "fields": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemField" } }, "id": { "type": "string" }, "insured": { "type": "boolean" }, "labelIds": { "type": "array", "items": { "type": "string" } }, "lifetimeWarranty": { "description": "Warranty", "type": "boolean" }, "locationId": { "description": "Edges", "type": "string" }, "manufacturer": { "type": "string" }, "modelNumber": { "type": "string" }, "name": { "type": "string" }, "notes": { "description": "Extras", "type": "string" }, "parentId": { "type": "string", "x-nullable": true, "x-omitempty": true }, "purchaseFrom": { "type": "string" }, "purchasePrice": { "type": "string", "example": "0" }, "purchaseTime": { "description": "Purchase", "type": "string" }, "quantity": { "type": "integer" }, "serialNumber": { "description": "Identifications", "type": "string" }, "soldNotes": { "type": "string" }, "soldPrice": { "type": "string", "example": "0" }, "soldTime": { "description": "Sold", "type": "string" }, "soldTo": { "type": "string" }, "warrantyDetails": { "type": "string" }, "warrantyExpires": { "description": "Sold", "type": "string" } } }, "repo.LabelCreate": { "type": "object", "properties": { "color": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" } } }, "repo.LabelOut": { "type": "object", "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "items": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemSummary" } }, "name": { "type": "string" }, "updatedAt": { "type": "string" } } }, "repo.LabelSummary": { "type": "object", "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "updatedAt": { "type": "string" } } }, "repo.LocationCreate": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "parentId": { "type": "string", "x-nullable": true } } }, "repo.LocationOut": { "type": "object", "properties": { "children": { "type": "array", "items": { "$ref": "#/definitions/repo.LocationSummary" } }, "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "items": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemSummary" } }, "name": { "type": "string" }, "parent": { "$ref": "#/definitions/repo.LocationSummary" }, "updatedAt": { "type": "string" } } }, "repo.LocationOutCount": { "type": "object", "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "itemCount": { "type": "integer" }, "name": { "type": "string" }, "updatedAt": { "type": "string" } } }, "repo.LocationSummary": { "type": "object", "properties": { "createdAt": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "updatedAt": { "type": "string" } } }, "repo.LocationUpdate": { "type": "object", "properties": { "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "parentId": { "type": "string", "x-nullable": true } } }, "repo.MaintenanceEntry": { "type": "object", "properties": { "completedDate": { "description": "Sold", "type": "string" }, "cost": { "type": "string", "example": "0" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "scheduledDate": { "description": "Sold", "type": "string" } } }, "repo.MaintenanceEntryCreate": { "type": "object", "properties": { "completedDate": { "description": "Sold", "type": "string" }, "cost": { "type": "string", "example": "0" }, "description": { "type": "string" }, "name": { "type": "string" }, "scheduledDate": { "description": "Sold", "type": "string" } } }, "repo.MaintenanceEntryUpdate": { "type": "object", "properties": { "completedDate": { "description": "Sold", "type": "string" }, "cost": { "type": "string", "example": "0" }, "description": { "type": "string" }, "name": { "type": "string" }, "scheduledDate": { "description": "Sold", "type": "string" } } }, "repo.MaintenanceLog": { "type": "object", "properties": { "costAverage": { "type": "number" }, "costTotal": { "type": "number" }, "entries": { "type": "array", "items": { "$ref": "#/definitions/repo.MaintenanceEntry" } }, "itemId": { "type": "string" } } }, "repo.NotifierCreate": { "type": "object", "required": [ "name", "url" ], "properties": { "isActive": { "type": "boolean" }, "name": { "type": "string", "maxLength": 255, "minLength": 1 }, "url": { "type": "string" } } }, "repo.NotifierOut": { "type": "object", "properties": { "createdAt": { "type": "string" }, "groupId": { "type": "string" }, "id": { "type": "string" }, "isActive": { "type": "boolean" }, "name": { "type": "string" }, "updatedAt": { "type": "string" }, "userId": { "type": "string" } } }, "repo.NotifierUpdate": { "type": "object", "required": [ "name" ], "properties": { "isActive": { "type": "boolean" }, "name": { "type": "string", "maxLength": 255, "minLength": 1 }, "url": { "type": "string", "x-nullable": true } } }, "repo.PaginationResult-repo_ItemSummary": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/repo.ItemSummary" } }, "page": { "type": "integer" }, "pageSize": { "type": "integer" }, "total": { "type": "integer" } } }, "repo.TotalsByOrganizer": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "total": { "type": "number" } } }, "repo.TreeItem": { "type": "object", "properties": { "children": { "type": "array", "items": { "$ref": "#/definitions/repo.TreeItem" } }, "id": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" } } }, "repo.UserOut": { "type": "object", "properties": { "email": { "type": "string" }, "groupId": { "type": "string" }, "groupName": { "type": "string" }, "id": { "type": "string" }, "isOwner": { "type": "boolean" }, "isSuperuser": { "type": "boolean" }, "name": { "type": "string" } } }, "repo.UserUpdate": { "type": "object", "properties": { "email": { "type": "string" }, "name": { "type": "string" } } }, "repo.ValueOverTime": { "type": "object", "properties": { "end": { "type": "string" }, "entries": { "type": "array", "items": { "$ref": "#/definitions/repo.ValueOverTimeEntry" } }, "start": { "type": "string" }, "valueAtEnd": { "type": "number" }, "valueAtStart": { "type": "number" } } }, "repo.ValueOverTimeEntry": { "type": "object", "properties": { "date": { "type": "string" }, "name": { "type": "string" }, "value": { "type": "number" } } }, "server.ErrorResponse": { "type": "object", "properties": { "error": { "type": "string" }, "fields": { "type": "object", "additionalProperties": { "type": "string" } } } }, "server.Result": { "type": "object", "properties": { "details": {}, "error": { "type": "boolean" }, "item": {}, "message": { "type": "string" } } }, "server.Results": { "type": "object", "properties": { "items": {} } }, "services.UserRegistration": { "type": "object", "properties": { "email": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" }, "token": { "type": "string" } } }, "v1.ActionAmountResult": { "type": "object", "properties": { "completed": { "type": "integer" } } }, "v1.ApiSummary": { "type": "object", "properties": { "allowRegistration": { "type": "boolean" }, "build": { "$ref": "#/definitions/v1.Build" }, "demo": { "type": "boolean" }, "health": { "type": "boolean" }, "message": { "type": "string" }, "title": { "type": "string" }, "versions": { "type": "array", "items": { "type": "string" } } } }, "v1.Build": { "type": "object", "properties": { "buildTime": { "type": "string" }, "commit": { "type": "string" }, "version": { "type": "string" } } }, "v1.ChangePassword": { "type": "object", "properties": { "current": { "type": "string" }, "new": { "type": "string" } } }, "v1.GroupInvitation": { "type": "object", "properties": { "expiresAt": { "type": "string" }, "token": { "type": "string" }, "uses": { "type": "integer" } } }, "v1.GroupInvitationCreate": { "type": "object", "properties": { "expiresAt": { "type": "string" }, "uses": { "type": "integer" } } }, "v1.ItemAttachmentToken": { "type": "object", "properties": { "token": { "type": "string" } } }, "v1.TokenResponse": { "type": "object", "properties": { "attachmentToken": { "type": "string" }, "expiresAt": { "type": "string" }, "token": { "type": "string" } } } }, "securityDefinitions": { "Bearer": { "description": "\"Type 'Bearer TOKEN' to correctly set the API Key\"", "type": "apiKey", "name": "Authorization", "in": "header" } } }