{ "openapi": "3.0.0", "paths": { "/api/system_db": { "get": { "operationId": "SystemDatabaseController_ping", "parameters": [], "responses": { "200": { "description": "" } } } }, "/api/auth/signin": { "post": { "operationId": "AuthController_signin", "summary": "Sign in a user", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSigninDto" } } } }, "responses": { "200": { "description": "Sign-in successful. Returns access token and tenant/organization IDs.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSigninResponseDto" } } } } }, "tags": [ "Auth" ] } }, "/api/auth/signup": { "post": { "operationId": "AuthController_signup", "summary": "Sign up a new user", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSignupDto" } } } }, "responses": { "201": { "description": "Sign-up initiated. Check email for confirmation." } }, "tags": [ "Auth" ] } }, "/api/auth/signup/verify": { "post": { "operationId": "AuthController_signupConfirm", "summary": "Confirm user signup", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSignupVerifyDto" } } } }, "responses": { "200": { "description": "Signup confirmed successfully." } }, "tags": [ "Auth" ] } }, "/api/auth/send_reset_password": { "post": { "operationId": "AuthController_sendResetPassword", "summary": "Send reset password email", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSendResetPasswordDto" } } } }, "responses": { "200": { "description": "Reset password email sent if the account exists." } }, "tags": [ "Auth" ] } }, "/api/auth/reset_password/{token}": { "post": { "operationId": "AuthController_resetPassword", "summary": "Reset password using token", "parameters": [ { "name": "token", "required": true, "in": "path", "description": "Reset password token from email link", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthResetPasswordDto" } } } }, "responses": { "200": { "description": "Password reset successfully." } }, "tags": [ "Auth" ] } }, "/api/auth/meta": { "get": { "operationId": "AuthController_meta", "summary": "Get auth metadata (e.g. signup disabled)", "parameters": [], "responses": { "200": { "description": "Auth metadata for the login/signup page.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthMetaResponseDto" } } } } }, "tags": [ "Auth" ] } }, "/api/auth/signup/verify/resend": { "post": { "operationId": "AuthedController_resendSignupConfirm", "summary": "Resend the signup confirmation message", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "number", "example": 200 }, "message": { "type": "string", "example": "resent successfully." } } } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Auth" ] } }, "/api/auth/account": { "get": { "operationId": "AuthedController_getAuthedAcccount", "summary": "Retrieve the authenticated account", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Auth" ] } }, "/api/api-keys/generate": { "post": { "operationId": "AuthApiKeysController_generate", "summary": "Generate a new API key", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateApiKeyDto" } } } }, "responses": { "201": { "description": "The generated API key", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponseDto" } } } } }, "tags": [ "Api keys" ] } }, "/api/api-keys/{id}/revoke": { "put": { "operationId": "AuthApiKeysController_revoke", "summary": "Revoke an API key", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "API key ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "API key revoked", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyRevokeResponseDto" } } } } }, "tags": [ "Api keys" ] } }, "/api/api-keys": { "get": { "operationId": "AuthApiKeysController_getApiKeys", "summary": "Get all API keys for the current tenant", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "List of API keys", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ApiKeyListItemDto" } } } } } }, "tags": [ "Api keys" ] } }, "/api/items": { "get": { "operationId": "ItemsController_getItems", "summary": "Retrieves the item list.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID for filtering", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Array of filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column sort direction", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order direction", "schema": { "enum": [ "DESC", "ASC" ], "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug for filtering", "schema": { "type": "string" } }, { "name": "inactiveMode", "required": false, "in": "query", "description": "Filter for inactive items", "schema": { "type": "boolean" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Number of items per page", "schema": { "type": "number" } }, { "name": "page", "required": false, "in": "query", "description": "Page number for pagination", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item list has been successfully retrieved.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ItemResponseDto" } } } } ] } } } } }, "tags": [ "Items" ] }, "post": { "operationId": "ItemsController_createItem", "summary": "Create a new item (product or service).", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateItemDto" } } } }, "responses": { "200": { "description": "The item has been successfully created." }, "400": { "description": "Validation error. Possible error types: ITEM_NAME_EXISTS, ITEM_CATEOGRY_NOT_FOUND, COST_ACCOUNT_NOT_COGS, SELL_ACCOUNT_NOT_INCOME, INVENTORY_ACCOUNT_NOT_INVENTORY, INCOME_ACCOUNT_REQUIRED_WITH_SELLABLE_ITEM, COST_ACCOUNT_REQUIRED_WITH_PURCHASABLE_ITEM, etc.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemApiErrorResponseDto" } } } } }, "tags": [ "Items" ] } }, "/api/items/{id}": { "put": { "operationId": "ItemsController_editItem", "summary": "Edit the given item (product or service).", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditItemDto" } } } }, "responses": { "200": { "description": "The item has been successfully updated." }, "400": { "description": "Validation error. Possible error types: ITEM_NAME_EXISTS, INVENTORY_ACCOUNT_CANNOT_MODIFIED, TYPE_CANNOT_CHANGE_WITH_ITEM_HAS_TRANSACTIONS, etc.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemApiErrorResponseDto" } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] }, "delete": { "operationId": "ItemsController_deleteItem", "summary": "Delete the given item (product or service).", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item has been successfully deleted." }, "400": { "description": "Cannot delete item. Possible error types: ITEM_HAS_ASSOCIATED_TRANSACTINS, ITEM_HAS_ASSOCIATED_INVENTORY_ADJUSTMENT, etc.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemApiErrorResponseDto" } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] }, "get": { "operationId": "ItemsController_getItem", "summary": "Get the given item (product or service).", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemResponseDto" } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/items/validate-bulk-delete": { "post": { "operationId": "ItemsController_validateBulkDeleteItems", "summary": "Validates which items can be deleted and returns counts of deletable and non-deletable items.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteItemsDto" } } } }, "responses": { "200": { "description": "Validation completed. Returns counts and IDs of deletable and non-deletable items.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteItemsResponseDto" } } } } }, "tags": [ "Items" ] } }, "/api/items/bulk-delete": { "post": { "operationId": "ItemsController_bulkDeleteItems", "summary": "Deletes multiple items in bulk.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteItemsDto" } } } }, "responses": { "200": { "description": "The items have been successfully deleted." } }, "tags": [ "Items" ] } }, "/api/items/{id}/inactivate": { "patch": { "operationId": "ItemsController_inactivateItem", "summary": "Inactivate the given item (product or service).", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item has been successfully inactivated." }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/items/{id}/activate": { "patch": { "operationId": "ItemsController_activateItem", "summary": "Activate the given item (product or service).", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item has been successfully activated." }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/items/{id}/invoices": { "get": { "operationId": "ItemsController_getItemInvoicesTransactions", "summary": "Retrieves the item associated invoices transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item associated invoices transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ItemInvoiceResponseDto" } } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/items/{id}/bills": { "get": { "operationId": "ItemsController_getItemBillTransactions", "summary": "Retrieves the item associated bills transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item associated bills transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ItemBillsResponseDto" } } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/items/{id}/estimates": { "get": { "operationId": "ItemsController_getItemEstimatesTransactions", "summary": "Retrieves the item associated estimates transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item associated estimate transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ItemEstimatesResponseDto" } } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/items/{id}/receipts": { "get": { "operationId": "ItemsController_getItemReceiptTransactions", "summary": "Retrieves the item associated receipts transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item associated receipts transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemReceiptsResponseDto" } } } }, "404": { "description": "The item not found." } }, "tags": [ "Items" ] } }, "/api/inventory-adjustments/quick": { "post": { "operationId": "InventoryAdjustmentsController_createQuickInventoryAdjustment", "summary": "Create a quick inventory adjustment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateQuickInventoryAdjustmentDto" } } } }, "responses": { "200": { "description": "The inventory adjustment has been successfully created." } }, "tags": [ "Inventory Adjustments" ] } }, "/api/inventory-adjustments/{id}": { "delete": { "operationId": "InventoryAdjustmentsController_deleteInventoryAdjustment", "summary": "Delete the given inventory adjustment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The inventory adjustment has been successfully deleted." } }, "tags": [ "Inventory Adjustments" ] }, "get": { "operationId": "InventoryAdjustmentsController_getInventoryAdjustment", "summary": "Retrieves the inventory adjustment details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The inventory adjustment details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryAdjustmentResponseDto" } } } } }, "tags": [ "Inventory Adjustments" ] } }, "/api/inventory-adjustments": { "get": { "operationId": "InventoryAdjustmentsController_getInventoryAdjustments", "summary": "Retrieves the inventory adjustments.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "schema": { "example": 12, "type": "number" } } ], "responses": { "200": { "description": "The inventory adjustments have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryAdjustmentsListResponseDto" } } } } }, "tags": [ "Inventory Adjustments" ] } }, "/api/inventory-adjustments/{id}/publish": { "put": { "operationId": "InventoryAdjustmentsController_publishInventoryAdjustment", "summary": "Publish the given inventory adjustment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The inventory adjustment has been successfully published." } }, "tags": [ "Inventory Adjustments" ] } }, "/api/branches": { "get": { "operationId": "BranchesController_getBranches", "summary": "Retrieves the branches.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The branches have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BranchResponseDto" } } } } } }, "tags": [ "Branches" ] }, "post": { "operationId": "BranchesController_createBranch", "summary": "Create a new branch.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBranchDto" } } } }, "responses": { "200": { "description": "The branch has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponseDto" } } } }, "404": { "description": "The branch not found." } }, "tags": [ "Branches" ] } }, "/api/branches/{id}": { "get": { "operationId": "BranchesController_getBranch", "summary": "Retrieves the branch details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The branch details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponseDto" } } } }, "404": { "description": "The branch not found." } }, "tags": [ "Branches" ] }, "put": { "operationId": "BranchesController_editBranch", "summary": "Edit the given branch.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditBranchDto" } } } }, "responses": { "200": { "description": "The branch has been successfully edited.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponseDto" } } } }, "404": { "description": "The branch not found." } }, "tags": [ "Branches" ] }, "delete": { "operationId": "BranchesController_deleteBranch", "summary": "Delete the given branch.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The branch has been successfully deleted." }, "404": { "description": "The branch not found." } }, "tags": [ "Branches" ] } }, "/api/branches/activate": { "post": { "operationId": "BranchesController_activateBranches", "summary": "Activate the branches feature.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The branches feature has been successfully activated." } }, "tags": [ "Branches" ] } }, "/api/branches/{id}/mark-as-primary": { "put": { "operationId": "BranchesController_markBranchAsPrimary", "summary": "Mark the given branch as primary.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The branch has been successfully marked as primary.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponseDto" } } } }, "404": { "description": "The branch not found." } }, "tags": [ "Branches" ] } }, "/api/warehouses": { "post": { "operationId": "WarehousesController_createWarehouse", "summary": "Create a warehouse", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWarehouseDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Warehouses" ] }, "get": { "operationId": "WarehousesController_getWarehouses", "summary": "Get all warehouses", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The warehouses have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WarehouseResponseDto" } } } } } }, "tags": [ "Warehouses" ] } }, "/api/warehouses/{id}": { "put": { "operationId": "WarehousesController_editWarehouse", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditWarehouseDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Warehouses" ] }, "delete": { "operationId": "WarehousesController_deleteWarehouse", "summary": "Delete a warehouse", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Warehouses" ] }, "get": { "operationId": "WarehousesController_getWarehouse", "summary": "Get a warehouse", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The warehouse details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WarehouseResponseDto" } } } } }, "tags": [ "Warehouses" ] } }, "/api/warehouses/activate": { "post": { "operationId": "WarehousesController_activateWarehouses", "summary": "Activate a warehouse", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Warehouses" ] } }, "/api/warehouses/{id}/mark-primary": { "put": { "operationId": "WarehousesController_markWarehousePrimary", "summary": "Mark a warehouse as primary", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Warehouses" ] } }, "/api/items/{id}/warehouses": { "get": { "operationId": "WarehouseItemsController_getItemWarehouses", "summary": "Retrieves the item associated warehouses.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The item id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item associated warehouses have been successfully retrieved." }, "404": { "description": "The item not found." } }, "tags": [ "Warehouses" ] } }, "/api/accounts/validate-bulk-delete": { "post": { "operationId": "AccountsController_validateBulkDeleteAccounts", "summary": "Validates which accounts can be deleted and returns counts of deletable and non-deletable accounts.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed. Returns counts and IDs of deletable and non-deletable accounts.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Accounts" ] } }, "/api/accounts/bulk-delete": { "post": { "operationId": "AccountsController_bulkDeleteAccounts", "summary": "Deletes multiple accounts in bulk.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "The accounts have been successfully deleted." } }, "tags": [ "Accounts" ] } }, "/api/accounts": { "post": { "operationId": "AccountsController_createAccount", "summary": "Create an account", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAccountDTO" } } } }, "responses": { "200": { "description": "The account has been successfully created." } }, "tags": [ "Accounts" ] }, "get": { "operationId": "AccountsController_getAccounts", "summary": "Retrieves the accounts.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "onlyInactive", "required": false, "in": "query", "description": "Filter to show only inactive accounts", "schema": { "default": false, "type": "boolean" } }, { "name": "structure", "required": false, "in": "query", "description": "Structure type for the accounts list", "schema": { "default": "tree", "enum": [ "tree", "flat" ], "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "example": 1, "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles array", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "example": "created_at", "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order", "schema": { "example": "DESC", "enum": [ "DESC", "ASC" ], "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "example": "{\"fieldKey\":\"root_type\",\"value\":\"asset\"}", "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "example": "bank account", "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "example": "assets", "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "example": 25, "type": "number" } } ], "responses": { "200": { "description": "The accounts have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AccountResponseDto" } } } } } }, "tags": [ "Accounts" ] } }, "/api/accounts/{id}": { "put": { "operationId": "AccountsController_editAccount", "summary": "Edit the given account.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The account id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditAccountDTO" } } } }, "responses": { "200": { "description": "The account has been successfully updated." }, "404": { "description": "The account not found." } }, "tags": [ "Accounts" ] }, "delete": { "operationId": "AccountsController_deleteAccount", "summary": "Delete the given account.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The account id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The account has been successfully deleted." }, "404": { "description": "The account not found." } }, "tags": [ "Accounts" ] }, "get": { "operationId": "AccountsController_getAccount", "summary": "Retrieves the account details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The account id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The account details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountResponseDto" } } } }, "404": { "description": "The account not found." } }, "tags": [ "Accounts" ] } }, "/api/accounts/{id}/activate": { "post": { "operationId": "AccountsController_activateAccount", "summary": "Activate the given account.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The account id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The account has been successfully activated." }, "404": { "description": "The account not found." } }, "tags": [ "Accounts" ] } }, "/api/accounts/{id}/inactivate": { "post": { "operationId": "AccountsController_inactivateAccount", "summary": "Inactivate the given account.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The account id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The account has been successfully inactivated." }, "404": { "description": "The account not found." } }, "tags": [ "Accounts" ] } }, "/api/accounts/types": { "get": { "operationId": "AccountsController_getAccountTypes", "summary": "Retrieves the account types.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The account types have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AccountTypeResponseDto" } } } } } }, "tags": [ "Accounts" ] } }, "/api/accounts/transactions": { "get": { "operationId": "AccountsController_getAccountTransactions", "summary": "Retrieves the account transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "accountId", "required": false, "in": "query", "description": "ID of the account to fetch transactions for", "schema": { "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Maximum number of transactions to return", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The account transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GetAccountTransactionResponseDto" } } } } } }, "tags": [ "Accounts" ] } }, "/api/inventory-cost/items": { "get": { "operationId": "InventoryCostController_getItemsCost", "summary": "Get items inventory valuation list", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "date", "required": true, "in": "query", "description": "The date to get the inventory cost for", "schema": { "format": "date-time", "example": "2021-01-01", "type": "string" } }, { "name": "itemsIds", "required": true, "in": "query", "description": "The ids of the items to get the inventory cost for", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "Items inventory cost list", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetInventoryItemsCostResponseDto" } } } } }, "tags": [ "Inventory Cost" ] } }, "/api/sale-invoices/validate-bulk-delete": { "post": { "operationId": "SaleInvoicesController_validateBulkDeleteSaleInvoices", "summary": "Validates which sale invoices can be deleted and returns the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable sale invoices.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/bulk-delete": { "post": { "operationId": "SaleInvoicesController_bulkDeleteSaleInvoices", "summary": "Deletes multiple sale invoices.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Sale invoices deleted successfully" } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices": { "post": { "operationId": "SaleInvoicesController_createSaleInvoice", "summary": "Create a new sale invoice.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSaleInvoiceDto" } } } }, "responses": { "201": { "description": "Sale invoice created successfully" } }, "tags": [ "Sale Invoices" ] }, "get": { "operationId": "SaleInvoicesController_getSaleInvoices", "summary": "Retrieves the sale invoices.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The sale invoices have been successfully retrieved.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SaleInvoiceResponseDto" } } } } ] } } } } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/mail": { "post": { "operationId": "SaleInvoicesController_sendSaleInvoiceMail", "summary": "Send the sale invoice mail.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Sale invoice mail sent successfully" }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] }, "get": { "operationId": "SaleInvoicesController_getSaleInvoiceMailState", "summary": "Retrieves the sale invoice mail state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Sale invoice mail state retrieved successfully" }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}": { "put": { "operationId": "SaleInvoicesController_editSaleInvoice", "summary": "Edit the given sale invoice.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditSaleInvoiceDto" } } } }, "responses": { "200": { "description": "Sale invoice edited successfully" }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] }, "delete": { "operationId": "SaleInvoicesController_deleteSaleInvoice", "summary": "Delete the given sale invoice.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The sale invoice has been successfully deleted." }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] }, "get": { "operationId": "SaleInvoicesController_getSaleInvoice", "summary": "Retrieves the sale invoice details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The sale invoice details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaleInvoiceResponseDto" } } } }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/receivable": { "get": { "operationId": "SaleInvoicesController_getReceivableSaleInvoices", "summary": "Retrieves the receivable sale invoices.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customerId", "required": false, "in": "query", "description": "The customer id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The receivable sale invoices have been successfully retrieved." }, "404": { "description": "The customer not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/state": { "get": { "operationId": "SaleInvoicesController_getSaleInvoiceState", "summary": "Retrieves the sale invoice state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The sale invoice state has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaleInvoiceStateResponseDto" } } } }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/deliver": { "put": { "operationId": "SaleInvoicesController_deliverSaleInvoice", "summary": "Deliver the given sale invoice.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The sale invoice has been successfully marked asdelivered." }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/writeoff": { "post": { "operationId": "SaleInvoicesController_writeOff", "summary": "Write off the given sale invoice.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The sale invoice has been successfully written off." }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/cancel-writeoff": { "post": { "operationId": "SaleInvoicesController_cancelWrittenoff", "summary": "Cancel the written off sale invoice.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The sale invoice has been successfully marked as not written off." }, "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/payments": { "get": { "operationId": "SaleInvoicesController_getInvoicePayments", "summary": "Retrieves the sale invoice payments.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/html": { "get": { "operationId": "SaleInvoicesController_saleInvoiceHtml", "summary": "Retrieves the sale invoice HTML.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "404": { "description": "The sale invoice not found." } }, "tags": [ "Sale Invoices" ] } }, "/api/sale-invoices/{id}/generate-link": { "post": { "operationId": "SaleInvoicesController_generateSaleInvoiceSharableLink", "summary": "Generate sharable sale invoice link (private or public)", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale invoice id", "schema": { "type": "number" } } ], "responses": { "201": { "description": "The link has been generated successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateSaleInvoiceSharableLinkResponseDto" } } } } }, "tags": [ "Sale Invoices" ] } }, "/api/pdf-templates": { "post": { "operationId": "PdfTemplatesController_createPdfTemplate", "summary": "Create a new PDF template.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The PDF template has been successfully created." } }, "tags": [ "Pdf Templates" ] }, "get": { "operationId": "PdfTemplatesController_getPdfTemplates", "summary": "Retrieves the PDF templates.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "resource", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The PDF templates have been successfully retrieved." } }, "tags": [ "Pdf Templates" ] } }, "/api/pdf-templates/{id}": { "delete": { "operationId": "PdfTemplatesController_deletePdfTemplate", "summary": "Delete the given PDF template.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The PDF template has been successfully deleted." }, "404": { "description": "The PDF template not found." } }, "tags": [ "Pdf Templates" ] }, "get": { "operationId": "PdfTemplatesController_getPdfTemplate", "summary": "Retrieves the PDF template details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The PDF template details have been successfully retrieved." }, "404": { "description": "The PDF template not found." } }, "tags": [ "Pdf Templates" ] }, "put": { "operationId": "PdfTemplatesController_editPdfTemplate", "summary": "Edit the given PDF template.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The PDF template has been successfully edited." }, "404": { "description": "The PDF template not found." } }, "tags": [ "Pdf Templates" ] } }, "/api/pdf-templates/state": { "get": { "operationId": "PdfTemplatesController_getPdfTemplateBrandingState", "summary": "Retrieves the PDF template branding state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The PDF template branding state has been successfully retrieved." } }, "tags": [ "Pdf Templates" ] } }, "/api/pdf-templates/{id}/assign-default": { "put": { "operationId": "PdfTemplatesController_assignPdfTemplateAsDefault", "summary": "Assign the given PDF template as default.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The PDF template has been successfully assigned as default." }, "404": { "description": "The PDF template not found." } }, "tags": [ "Pdf Templates" ] } }, "/api/attachments": { "post": { "operationId": "AttachmentsController_uploadAttachment", "summary": "Upload attachment to S3", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "description": "Upload attachment", "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/UploadAttachmentDto" } } } }, "responses": { "200": { "description": "The document has been uploaded successfully" }, "401": { "description": "Unauthorized - File upload failed" } }, "tags": [ "Attachments" ] } }, "/api/attachments/{id}": { "get": { "operationId": "AttachmentsController_getAttachment", "summary": "Get attachment by ID", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Attachment ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the attachment file" } }, "tags": [ "Attachments" ] }, "delete": { "operationId": "AttachmentsController_deleteAttachment", "summary": "Delete attachment by ID", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Attachment ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The document has been deleted successfully" } }, "tags": [ "Attachments" ] } }, "/api/attachments/{id}/link": { "post": { "operationId": "AttachmentsController_linkDocument", "summary": "Link attachment to a model", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Attachment ID", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkAttachmentDto" } } } }, "responses": { "200": { "description": "The document has been linked successfully" } }, "tags": [ "Attachments" ] } }, "/api/attachments/{id}/unlink": { "post": { "operationId": "AttachmentsController_unlinkDocument", "summary": "Unlink attachment from a model", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Attachment ID", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnlinkAttachmentDto" } } } }, "responses": { "200": { "description": "The document has been unlinked successfully" } }, "tags": [ "Attachments" ] } }, "/api/attachments/{id}/presigned-url": { "get": { "operationId": "AttachmentsController_getAttachmentPresignedUrl", "summary": "Get presigned URL for attachment", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Attachment ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the presigned URL for the attachment" } }, "tags": [ "Attachments" ] } }, "/api/tax-rates": { "post": { "operationId": "TaxRatesController_createTaxRate", "summary": "Create a new tax rate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTaxRateDto" } } } }, "responses": { "201": { "description": "The tax rate has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } }, "tags": [ "Tax Rates" ] }, "get": { "operationId": "TaxRatesController_getTaxRates", "summary": "Retrieves the tax rates.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The tax rates have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } } } } }, "tags": [ "Tax Rates" ] } }, "/api/tax-rates/{id}": { "put": { "operationId": "TaxRatesController_editTaxRate", "summary": "Edit the given tax rate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditTaxRateDto" } } } }, "responses": { "200": { "description": "The tax rate has been successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } }, "tags": [ "Tax Rates" ] }, "delete": { "operationId": "TaxRatesController_deleteTaxRate", "summary": "Delete the given tax rate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The tax rate has been successfully deleted.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } }, "tags": [ "Tax Rates" ] }, "get": { "operationId": "TaxRatesController_getTaxRate", "summary": "Retrieves the tax rate details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The tax rate details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } }, "tags": [ "Tax Rates" ] } }, "/api/tax-rates/{id}/activate": { "put": { "operationId": "TaxRatesController_activateTaxRate", "summary": "Activate the given tax rate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The tax rate has been successfully activated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } }, "tags": [ "Tax Rates" ] } }, "/api/tax-rates/{id}/inactivate": { "put": { "operationId": "TaxRatesController_inactivateTaxRate", "summary": "Inactivate the given tax rate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The tax rate has been successfully inactivated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxRateResponseDto" } } } } }, "tags": [ "Tax Rates" ] } }, "/api/payments-received/{id}/mail": { "post": { "operationId": "PaymentReceivesController_sendPaymentReceiveMail", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The payment receive mail has been successfully sent." } }, "tags": [ "Payments Received" ] }, "get": { "operationId": "PaymentReceivesController_getPaymentReceiveMailOptions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The payment receive mail options have been successfully retrieved." } }, "tags": [ "Payments Received" ] } }, "/api/payments-received/{id}/edit-page": { "get": { "operationId": "PaymentReceivesController_getPaymentReceiveEditPage", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The payment received edit page has been successfully retrieved." } }, "tags": [ "Payments Received" ] } }, "/api/payments-received": { "post": { "operationId": "PaymentReceivesController_createPaymentReceived", "summary": "Create a new payment received.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePaymentReceivedDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Payments Received" ] }, "get": { "operationId": "PaymentReceivesController_getPaymentsReceived", "summary": "Retrieves the payment received list.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The payment received has been retrieved successfully.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentReceivedResponseDto" } } } } ] } } } } }, "tags": [ "Payments Received" ] } }, "/api/payments-received/{id}": { "put": { "operationId": "PaymentReceivesController_editPaymentReceive", "summary": "Edit the given payment received.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditPaymentReceivedDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Payments Received" ] }, "delete": { "operationId": "PaymentReceivesController_deletePaymentReceive", "summary": "Delete the given payment received.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Payments Received" ] }, "get": { "operationId": "PaymentReceivesController_getPaymentReceive", "summary": "Retrieves the payment received details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The payment received details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentReceivedResponseDto" } } } } }, "tags": [ "Payments Received" ] } }, "/api/payments-received/validate-bulk-delete": { "post": { "operationId": "PaymentReceivesController_validateBulkDeletePaymentsReceived", "summary": "Validates which payments received can be deleted and returns the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable payments received.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Payments Received" ] } }, "/api/payments-received/bulk-delete": { "post": { "operationId": "PaymentReceivesController_bulkDeletePaymentsReceived", "summary": "Deletes multiple payments received.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Payments received deleted successfully." } }, "tags": [ "Payments Received" ] } }, "/api/payments-received/state": { "get": { "operationId": "PaymentReceivesController_getPaymentReceivedState", "summary": "Retrieves the payment received state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The payment received state has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentReceivedStateResponseDto" } } } } }, "tags": [ "Payments Received" ] } }, "/api/payments-received/{id}/invoices": { "get": { "operationId": "PaymentReceivesController_getPaymentReceiveInvoices", "summary": "Retrieves the payment received invoices.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The payment received invoices have been successfully retrieved." } }, "tags": [ "Payments Received" ] } }, "/api/import/file": { "post": { "operationId": "ImportController_fileUpload", "summary": "Upload import file", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "File uploaded successfully" } }, "tags": [ "Import" ] } }, "/api/import/{import_id}/mapping": { "post": { "operationId": "ImportController_mapping", "summary": "Map import columns", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "import_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Mapping successful" } }, "tags": [ "Import" ] } }, "/api/import/{import_id}/preview": { "get": { "operationId": "ImportController_preview", "summary": "Preview import data", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "import_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Preview data" } }, "tags": [ "Import" ] } }, "/api/import/{import_id}/import": { "post": { "operationId": "ImportController_import", "summary": "Process import", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "import_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Import processed successfully" } }, "tags": [ "Import" ] } }, "/api/import/sample": { "get": { "operationId": "ImportController_downloadImportSample", "summary": "Get import sample", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "resource", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "format", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Sample data" } }, "tags": [ "Import" ] } }, "/api/import/{import_id}": { "get": { "operationId": "ImportController_getImportFileMeta", "summary": "Get import metadata", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "import_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Import metadata" } }, "tags": [ "Import" ] } }, "/api/resources/{resourceModel}/meta": { "get": { "operationId": "ResourceController_getResourceMeta", "summary": "Retrieves the resource meta", "parameters": [ { "name": "resourceModel", "required": true, "in": "path", "description": "The resource model name (e.g., SaleInvoice, Customer, Item)", "schema": { "example": "SaleInvoice", "type": "string" } } ], "responses": { "200": { "description": "Retrieves the resource meta", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResourceMetaResponseDto" } } } } }, "tags": [ "resources" ] } }, "/api/payment-links/{paymentLinkId}/invoice": { "get": { "operationId": "PaymentLinksController_getPaymentLinkPublicMeta", "summary": "Get payment link public metadata", "description": "Retrieves public metadata for an invoice payment link", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "paymentLinkId", "required": true, "in": "path", "description": "The ID of the payment link", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successfully retrieved payment link metadata", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetInvoicePaymentLinkResponseWrapperDto" } } } }, "404": { "description": "Payment link not found" } }, "tags": [ "Payment Links" ] } }, "/api/payment-links/{paymentLinkId}/stripe_checkout_session": { "post": { "operationId": "PaymentLinksController_createInvoicePaymentLinkCheckoutSession", "summary": "Create Stripe checkout session", "description": "Creates a Stripe checkout session for an invoice payment link", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "paymentLinkId", "required": true, "in": "path", "description": "The ID of the payment link", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successfully created Stripe checkout session", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStripeCheckoutSessionResponseDto" } } } }, "404": { "description": "Payment link not found" } }, "tags": [ "Payment Links" ] } }, "/api/payment-links/{paymentLinkId}/invoice/pdf": { "get": { "operationId": "PaymentLinksController_getPaymentLinkInvoicePdf", "summary": "Get payment link invoice PDF", "description": "Retrieves the PDF of the invoice associated with a payment link", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "paymentLinkId", "required": true, "in": "path", "description": "The ID of the payment link", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successfully retrieved invoice PDF", "content": { "application/pdf": { "schema": { "type": "string", "format": "binary" } } } }, "404": { "description": "Payment link or invoice not found" } }, "tags": [ "Payment Links" ] } }, "/api/stripe/link": { "get": { "operationId": "StripeIntegrationController_getStripeConnectLink", "summary": "Get Stripe Connect link", "description": "Retrieves the Stripe OAuth2 Connect authorization URL", "parameters": [], "responses": { "200": { "description": "Successfully retrieved Stripe Connect link", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetStripeConnectLinkResponseDto" } } } } }, "tags": [ "stripe" ] } }, "/api/stripe/callback": { "post": { "operationId": "StripeIntegrationController_exchangeOAuth", "summary": "Exchange Stripe OAuth code", "description": "Exchanges the Stripe authorization code for user id and access token", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExchangeStripeOAuthBodyDto" } } } }, "responses": { "201": { "description": "Successfully exchanged OAuth code" } }, "tags": [ "stripe" ] } }, "/api/stripe/account": { "post": { "operationId": "StripeIntegrationController_createAccount", "summary": "Create Stripe account", "description": "Creates a new Stripe Connect account", "parameters": [], "responses": { "201": { "description": "Successfully created Stripe account", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStripeAccountResponseDto" } } } } }, "tags": [ "stripe" ] } }, "/api/stripe/account_session": { "post": { "operationId": "StripeIntegrationController_createAccountSession", "summary": "Create Stripe account session", "description": "Creates an account session for the Stripe Connect embedded component", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStripeAccountSessionBodyDto" } } } }, "responses": { "201": { "description": "Successfully created account session", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStripeAccountSessionResponseDto" } } } } }, "tags": [ "stripe" ] } }, "/api/stripe/account_link": { "post": { "operationId": "StripeIntegrationController_createAccountLink", "summary": "Create Stripe account link", "description": "Creates a Stripe Connect account link for onboarding", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStripeAccountLinkBodyDto" } } } }, "responses": { "201": { "description": "Successfully created account link", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStripeAccountLinkResponseDto" } } } } }, "tags": [ "stripe" ] } }, "/api/webhooks/stripe": { "post": { "operationId": "StripePaymentWebhooksController_handleWebhook", "summary": "Listen to Stripe webhooks", "parameters": [ { "name": "stripe-signature", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "stripe" ] } }, "/api/item-categories": { "post": { "operationId": "ItemCategoryController_createItemCategory", "summary": "Create a new item category.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateItemCategoryDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Item Categories" ] }, "get": { "operationId": "ItemCategoryController_getItemCategories", "summary": "Retrieves the item categories.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The item categories have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ItemCategoryResponseDto" } } } } } }, "tags": [ "Item Categories" ] } }, "/api/item-categories/{id}": { "put": { "operationId": "ItemCategoryController_editItemCategory", "summary": "Edit the given item category.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditItemCategoryDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Item Categories" ] }, "get": { "operationId": "ItemCategoryController_getItemCategory", "summary": "Retrieves the item category details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The item category details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemCategoryResponseDto" } } } } }, "tags": [ "Item Categories" ] }, "delete": { "operationId": "ItemCategoryController_deleteItemCategory", "summary": "Delete the given item category.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Item Categories" ] } }, "/api/expenses/validate-bulk-delete": { "post": { "operationId": "ExpensesController_validateBulkDeleteExpenses", "summary": "Validate which expenses can be deleted and return the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable expenses.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Expenses" ] } }, "/api/expenses/bulk-delete": { "post": { "operationId": "ExpensesController_bulkDeleteExpenses", "summary": "Deletes multiple expenses.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Expenses deleted successfully" } }, "tags": [ "Expenses" ] } }, "/api/expenses": { "post": { "operationId": "ExpensesController_createExpense", "summary": "Create a new expense transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateExpenseDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Expenses" ] }, "get": { "operationId": "ExpensesController_getExpenses", "summary": "Get the expense transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The item list has been successfully retrieved.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ExpenseResponseDto" } } } } ] } } } } }, "tags": [ "Expenses" ] } }, "/api/expenses/{id}": { "put": { "operationId": "ExpensesController_editExpense", "summary": "Edit the given expense transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditExpenseDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Expenses" ] }, "delete": { "operationId": "ExpensesController_deleteExpense", "summary": "Delete the given expense transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Expenses" ] }, "get": { "operationId": "ExpensesController_getExpense", "summary": "Get the expense transaction details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The expense transaction have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpenseResponseDto" } } } } }, "tags": [ "Expenses" ] } }, "/api/expenses/{id}/publish": { "post": { "operationId": "ExpensesController_publishExpense", "summary": "Publish the given expense transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Expenses" ] } }, "/api/warehouse-transfers": { "post": { "operationId": "WarehouseTransfersController_createWarehouseTransfer", "summary": "Create a new warehouse transfer transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWarehouseTransferDto" } } } }, "responses": { "200": { "description": "The warehouse transfer transaction has been created successfully." } }, "tags": [ "Warehouse Transfers" ] }, "get": { "operationId": "WarehouseTransfersController_getWarehousesTransfers", "summary": "Retrieve warehouse transfer transactions with pagination.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The warehouse transfer transactions have been retrieved successfully.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/WarehouseTransferResponseDto" } } } } ] } } } } }, "tags": [ "Warehouse Transfers" ] } }, "/api/warehouse-transfers/{id}": { "post": { "operationId": "WarehouseTransfersController_editWarehouseTransfer", "summary": "Edit the given warehouse transfer transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditWarehouseTransferDto" } } } }, "responses": { "200": { "description": "The warehouse transfer transaction has been edited successfully." } }, "tags": [ "Warehouse Transfers" ] }, "get": { "operationId": "WarehouseTransfersController_getWarehouseTransfer", "summary": "Retrieve warehouse transfer transaction details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The warehouse transfer transaction details have been retrieved successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WarehouseTransferResponseDto" } } } } }, "tags": [ "Warehouse Transfers" ] }, "delete": { "operationId": "WarehouseTransfersController_deleteWarehouseTransfer", "summary": "Delete the given warehouse transfer transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The warehouse transfer transaction has been deleted successfully." } }, "tags": [ "Warehouse Transfers" ] } }, "/api/warehouse-transfers/{id}/initiate": { "put": { "operationId": "WarehouseTransfersController_initiateTransfer", "summary": "Initiate the given warehouse transfer.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The warehouse transfer has been initiated successfully." } }, "tags": [ "Warehouse Transfers" ] } }, "/api/warehouse-transfers/{id}/transferred": { "put": { "operationId": "WarehouseTransfersController_deliverTransfer", "summary": "Mark the given warehouse transfer as transferred.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The warehouse transfer has been marked as transferred successfully." } }, "tags": [ "Warehouse Transfers" ] } }, "/api/customers/{id}": { "get": { "operationId": "CustomersController_getCustomer", "summary": "Retrieves the customer details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The customer details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerResponseDto" } } } } }, "tags": [ "Customers" ] }, "put": { "operationId": "CustomersController_editCustomer", "summary": "Edit the given customer.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditCustomerDto" } } } }, "responses": { "200": { "description": "The customer has been successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerResponseDto" } } } } }, "tags": [ "Customers" ] }, "delete": { "operationId": "CustomersController_deleteCustomer", "summary": "Delete the given customer.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The customer has been successfully deleted." } }, "tags": [ "Customers" ] } }, "/api/customers": { "get": { "operationId": "CustomersController_getCustomers", "summary": "Retrieves the customers paginated list.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The customers have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CustomerResponseDto" } } } } } }, "tags": [ "Customers" ] }, "post": { "operationId": "CustomersController_createCustomer", "summary": "Create a new customer.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerDto" } } } }, "responses": { "201": { "description": "The customer has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerResponseDto" } } } } }, "tags": [ "Customers" ] } }, "/api/customers/{id}/opening-balance": { "put": { "operationId": "CustomersController_editOpeningBalance", "summary": "Edit the opening balance of the given customer.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerOpeningBalanceEditDto" } } } }, "responses": { "200": { "description": "The customer opening balance has been successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerResponseDto" } } } } }, "tags": [ "Customers" ] } }, "/api/customers/validate-bulk-delete": { "post": { "operationId": "CustomersController_validateBulkDeleteCustomers", "summary": "Validates which customers can be deleted and returns counts of deletable and non-deletable customers.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteCustomersDto" } } } }, "responses": { "200": { "description": "Validation completed. Returns counts and IDs of deletable and non-deletable customers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteCustomersResponseDto" } } } } }, "tags": [ "Customers" ] } }, "/api/customers/bulk-delete": { "post": { "operationId": "CustomersController_bulkDeleteCustomers", "summary": "Deletes multiple customers in bulk.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteCustomersDto" } } } }, "responses": { "200": { "description": "The customers have been successfully deleted." } }, "tags": [ "Customers" ] } }, "/api/vendors": { "get": { "operationId": "VendorsController_getVendors", "summary": "Retrieves the vendors.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendors" ] }, "post": { "operationId": "VendorsController_createVendor", "summary": "Create a new vendor.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVendorDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Vendors" ] } }, "/api/vendors/{id}": { "get": { "operationId": "VendorsController_getVendor", "summary": "Retrieves the vendor details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendors" ] }, "put": { "operationId": "VendorsController_editVendor", "summary": "Edit the given vendor.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditVendorDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Vendors" ] }, "delete": { "operationId": "VendorsController_deleteVendor", "summary": "Delete the given vendor.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendors" ] } }, "/api/vendors/{id}/opening-balance": { "put": { "operationId": "VendorsController_editOpeningBalance", "summary": "Edit the given vendor opening balance.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VendorOpeningBalanceEditDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Vendors" ] } }, "/api/vendors/validate-bulk-delete": { "post": { "operationId": "VendorsController_validateBulkDeleteVendors", "summary": "Validates which vendors can be deleted and returns counts of deletable and non-deletable vendors.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteVendorsDto" } } } }, "responses": { "200": { "description": "Validation completed. Returns counts and IDs of deletable and non-deletable vendors.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteVendorsResponseDto" } } } } }, "tags": [ "Vendors" ] } }, "/api/vendors/bulk-delete": { "post": { "operationId": "VendorsController_bulkDeleteVendors", "summary": "Deletes multiple vendors in bulk.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteVendorsDto" } } } }, "responses": { "200": { "description": "The vendors have been successfully deleted." } }, "tags": [ "Vendors" ] } }, "/api/sale-estimates/validate-bulk-delete": { "post": { "operationId": "SaleEstimatesController_validateBulkDeleteSaleEstimates", "summary": "Validates which sale estimates can be deleted and returns the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable sale estimates.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/bulk-delete": { "post": { "operationId": "SaleEstimatesController_bulkDeleteSaleEstimates", "summary": "Deletes multiple sale estimates.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Sale estimates deleted successfully" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates": { "post": { "operationId": "SaleEstimatesController_createSaleEstimate", "summary": "Create a new sale estimate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSaleEstimateDto" } } } }, "responses": { "200": { "description": "Sale estimate created successfully" } }, "tags": [ "Sale Estimates" ] }, "get": { "operationId": "SaleEstimatesController_getSaleEstimates", "summary": "Retrieves the sale estimates.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Sale estimates retrieved successfully", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SaleEstimateResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SaleEstimateResponseDto" } } } } ] } } } } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}": { "put": { "operationId": "SaleEstimatesController_editSaleEstimate", "summary": "Edit the given sale estimate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditSaleEstimateDto" } } } }, "responses": { "200": { "description": "Sale estimate edited successfully" }, "404": { "description": "Sale estimate not found" } }, "tags": [ "Sale Estimates" ] }, "delete": { "operationId": "SaleEstimatesController_deleteSaleEstimate", "summary": "Delete the given sale estimate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Sale estimate deleted successfully" }, "404": { "description": "Sale estimate not found" } }, "tags": [ "Sale Estimates" ] }, "get": { "operationId": "SaleEstimatesController_getSaleEstimate", "summary": "Retrieves the sale estimate details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The sale estimate details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaleEstimateResponseDto" } } } } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/state": { "get": { "operationId": "SaleEstimatesController_getSaleEstimateState", "summary": "Retrieves the sale estimate state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Sale estimate state retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaleEstiamteStateResponseDto" } } } } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}/deliver": { "post": { "operationId": "SaleEstimatesController_deliverSaleEstimate", "summary": "Deliver the given sale estimate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Sale estimate delivered successfully" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}/approve": { "put": { "operationId": "SaleEstimatesController_approveSaleEstimate", "summary": "Approve the given sale estimate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}/reject": { "put": { "operationId": "SaleEstimatesController_rejectSaleEstimate", "summary": "Reject the given sale estimate.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}/notify-sms": { "post": { "operationId": "SaleEstimatesController_notifySaleEstimateBySms", "summary": "Notify the given sale estimate by SMS.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}/sms-details": { "get": { "operationId": "SaleEstimatesController_getSaleEstimateSmsDetails", "summary": "Retrieves the sale estimate SMS details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-estimates/{id}/mail": { "post": { "operationId": "SaleEstimatesController_sendSaleEstimateMail", "summary": "Send the given sale estimate by mail.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Estimates" ] }, "get": { "operationId": "SaleEstimatesController_getSaleEstimateMail", "summary": "Retrieves the sale estimate mail state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale estimate id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Estimates" ] } }, "/api/sale-receipts/validate-bulk-delete": { "post": { "operationId": "SaleReceiptsController_validateBulkDeleteSaleReceipts", "summary": "Validates which sale receipts can be deleted and returns the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable sale receipts.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Sale Receipts" ] } }, "/api/sale-receipts/bulk-delete": { "post": { "operationId": "SaleReceiptsController_bulkDeleteSaleReceipts", "summary": "Deletes multiple sale receipts.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Sale receipts deleted successfully" } }, "tags": [ "Sale Receipts" ] } }, "/api/sale-receipts": { "post": { "operationId": "SaleReceiptsController_createSaleReceipt", "summary": "Create a new sale receipt.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSaleReceiptDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Sale Receipts" ] }, "get": { "operationId": "SaleReceiptsController_getSaleReceipts", "summary": "Retrieves the sale receipts paginated list", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SaleReceiptResponseDto" } } } } ] } } } } }, "tags": [ "Sale Receipts" ] } }, "/api/sale-receipts/{id}/mail": { "post": { "operationId": "SaleReceiptsController_sendSaleReceiptMail", "summary": "Send the sale receipt mail.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale receipt id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Receipts" ] }, "get": { "operationId": "SaleReceiptsController_getSaleReceiptMail", "summary": "Retrieves the sale receipt mail.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale receipt id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Receipts" ] } }, "/api/sale-receipts/state": { "get": { "operationId": "SaleReceiptsController_getSaleReceiptState", "summary": "Retrieves the sale receipt state.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The sale receipt has been retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaleReceiptStateResponseDto" } } } } }, "tags": [ "Sale Receipts" ] } }, "/api/sale-receipts/{id}": { "put": { "operationId": "SaleReceiptsController_editSaleReceipt", "summary": "Edit the given sale receipt.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale receipt id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditSaleReceiptDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Sale Receipts" ] }, "get": { "operationId": "SaleReceiptsController_getSaleReceipt", "summary": "Retrieves the sale receipt details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale receipt id", "schema": { "type": "number" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The sale receipt details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaleReceiptResponseDto" } } } }, "404": { "description": "The sale receipt not found." } }, "tags": [ "Sale Receipts" ] }, "delete": { "operationId": "SaleReceiptsController_deleteSaleReceipt", "summary": "Delete the given sale receipt.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale receipt id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Sale Receipts" ] } }, "/api/sale-receipts/{id}/close": { "post": { "operationId": "SaleReceiptsController_closeSaleReceipt", "summary": "Close the given sale receipt.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The sale receipt id", "schema": { "type": "number" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Sale Receipts" ] } }, "/api/bills/validate-bulk-delete": { "post": { "operationId": "BillsController_validateBulkDeleteBills", "summary": "Validate which bills can be deleted and return the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable bills.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Bills" ] } }, "/api/bills/bulk-delete": { "post": { "operationId": "BillsController_bulkDeleteBills", "summary": "Deletes multiple bills.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Bills deleted successfully" } }, "tags": [ "Bills" ] } }, "/api/bills": { "post": { "operationId": "BillsController_createBill", "summary": "Create a new bill.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBillDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Bills" ] }, "get": { "operationId": "BillsController_getBills", "summary": "Retrieves the bills.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The bill id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The bill details has been retrieved successfully", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/BillResponseDto" } } } } ] } } } } }, "tags": [ "Bills" ] } }, "/api/bills/{id}": { "put": { "operationId": "BillsController_editBill", "summary": "Edit the given bill.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The bill id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditBillDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Bills" ] }, "delete": { "operationId": "BillsController_deleteBill", "summary": "Delete the given bill.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The bill id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bills" ] }, "get": { "operationId": "BillsController_getBill", "summary": "Retrieves the bill details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The bill id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The bill details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillResponseDto" } } } } }, "tags": [ "Bills" ] } }, "/api/bills/{id}/payment-transactions": { "get": { "operationId": "BillsController_getBillPaymentTransactions", "summary": "Retrieve the specific bill associated payment transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The bill id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "List of payment transactions for the bill." } }, "tags": [ "Bills" ] } }, "/api/bills/{id}/open": { "patch": { "operationId": "BillsController_openBill", "summary": "Open the given bill.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The bill id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bills" ] } }, "/api/bills/due": { "get": { "operationId": "BillsController_getDueBills", "summary": "Retrieves the due bills.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendor_id", "required": false, "in": "query", "description": "Filter due bills by vendor ID.", "schema": { "type": "number" } } ], "responses": { "200": { "description": "List of due bills (optionally filtered by vendor)." } }, "tags": [ "Bills" ] } }, "/api/landed-cost/transactions": { "get": { "operationId": "BillAllocateLandedCostController_getLandedCostTransactions", "summary": "Get landed cost transactions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "List of landed cost transactions." } }, "tags": [ "Landed Cost" ] } }, "/api/landed-cost/bills/{billId}/allocate": { "post": { "operationId": "BillAllocateLandedCostController_calculateLandedCost", "summary": "Allocate landed cost to bill items", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AllocateBillLandedCostDto" } } } }, "responses": { "201": { "description": "Landed cost allocated successfully." } }, "tags": [ "Landed Cost" ] } }, "/api/landed-cost/{allocatedLandedCostId}": { "delete": { "operationId": "BillAllocateLandedCostController_deleteAllocatedLandedCost", "summary": "Delete allocated landed cost", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "allocatedLandedCostId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Allocated landed cost deleted successfully." } }, "tags": [ "Landed Cost" ] } }, "/api/landed-cost/bills/{billId}/transactions": { "get": { "operationId": "BillAllocateLandedCostController_getBillLandedCostTransactions", "summary": "Get bill landed cost transactions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "List of bill landed cost transactions." } }, "tags": [ "Landed Cost" ] } }, "/api/manual-journals/validate-bulk-delete": { "post": { "operationId": "ManualJournalsController_validateBulkDeleteManualJournals", "summary": "Validate which manual journals can be deleted and return the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable manual journals.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Manual Journals" ] } }, "/api/manual-journals/bulk-delete": { "post": { "operationId": "ManualJournalsController_bulkDeleteManualJournals", "summary": "Deletes multiple manual journals.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Manual journals deleted successfully" } }, "tags": [ "Manual Journals" ] } }, "/api/manual-journals": { "post": { "operationId": "ManualJournalsController_createManualJournal", "summary": "Create a new manual journal.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateManualJournalDto" } } } }, "responses": { "201": { "description": "The manual journal has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ManualJournalResponseDto" } } } } }, "tags": [ "Manual Journals" ] }, "get": { "operationId": "ManualJournalsController_getManualJournals", "summary": "Retrieves the manual journals paginated list.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The manual journal details have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ManualJournalResponseDto" } } } } }, "404": { "description": "The manual journal not found." } }, "tags": [ "Manual Journals" ] } }, "/api/manual-journals/{id}": { "put": { "operationId": "ManualJournalsController_editManualJournal", "summary": "Edit the given manual journal.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The manual journal id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditManualJournalDto" } } } }, "responses": { "200": { "description": "The manual journal has been successfully edited.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ManualJournalResponseDto" } } } }, "404": { "description": "The manual journal not found." } }, "tags": [ "Manual Journals" ] }, "delete": { "operationId": "ManualJournalsController_deleteManualJournal", "summary": "Delete the given manual journal.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The manual journal id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The manual journal has been successfully deleted." }, "404": { "description": "The manual journal not found." } }, "tags": [ "Manual Journals" ] }, "get": { "operationId": "ManualJournalsController_getManualJournal", "summary": "Retrieves the manual journal details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The manual journal id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The manual journal details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ManualJournalResponseDto" } } } }, "404": { "description": "The manual journal not found." } }, "tags": [ "Manual Journals" ] } }, "/api/manual-journals/{id}/publish": { "patch": { "operationId": "ManualJournalsController_publishManualJournal", "summary": "Publish the given manual journal.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "The manual journal id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The manual journal has been successfully published.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ManualJournalResponseDto" } } } }, "404": { "description": "The manual journal not found." } }, "tags": [ "Manual Journals" ] } }, "/api/credit-notes": { "post": { "operationId": "CreditNotesController_createCreditNote", "summary": "Create a new credit note", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCreditNoteDto" } } } }, "responses": { "201": { "description": "Credit note successfully created" }, "400": { "description": "Invalid input data" } }, "tags": [ "Credit Notes" ] }, "get": { "operationId": "CreditNotesController_getCreditNotes", "summary": "Get all credit notes", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns a list of credit notes", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/CreditNoteResponseDto" } } } } ] } } } } }, "tags": [ "Credit Notes" ] } }, "/api/credit-notes/state": { "get": { "operationId": "CreditNotesController_getCreditNoteState", "summary": "Get credit note state", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the credit note state", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditNoteStateResponseDto" } } } } }, "tags": [ "Credit Notes" ] } }, "/api/credit-notes/{id}": { "get": { "operationId": "CreditNotesController_getCreditNote", "summary": "Get a specific credit note by ID", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Credit note ID", "schema": { "type": "number" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the credit note", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditNoteResponseDto" } } } }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes" ] }, "put": { "operationId": "CreditNotesController_editCreditNote", "summary": "Update a credit note", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Credit note ID", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditCreditNoteDto" } } } }, "responses": { "200": { "description": "Credit note successfully updated" }, "400": { "description": "Invalid input data" }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes" ] }, "delete": { "operationId": "CreditNotesController_deleteCreditNote", "summary": "Delete a credit note", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Credit note ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Credit note successfully deleted" }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes" ] } }, "/api/credit-notes/{id}/open": { "put": { "operationId": "CreditNotesController_openCreditNote", "summary": "Open a credit note", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Credit note ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Credit note successfully opened" }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes" ] } }, "/api/credit-notes/validate-bulk-delete": { "post": { "operationId": "CreditNotesController_validateBulkDeleteCreditNotes", "summary": "Validates which credit notes can be deleted and returns the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable credit notes.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Credit Notes" ] } }, "/api/credit-notes/bulk-delete": { "post": { "operationId": "CreditNotesController_bulkDeleteCreditNotes", "summary": "Deletes multiple credit notes.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Credit notes deleted successfully" } }, "tags": [ "Credit Notes" ] } }, "/api/credit-notes/{creditNoteId}/refunds": { "get": { "operationId": "CreditNoteRefundsController_getCreditNoteRefunds", "summary": "Retrieve the credit note graph.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "creditNoteId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Credit note refunds retrieved successfully.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RefundCreditNoteResponseDto" } } } } } }, "tags": [ "Credit Note Refunds" ] }, "post": { "operationId": "CreditNoteRefundsController_createRefundCreditNote", "summary": "Create a refund for the given credit note.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "creditNoteId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreditNoteRefundDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Credit Note Refunds" ] } }, "/api/credit-notes/refunds/{refundCreditId}": { "get": { "operationId": "CreditNoteRefundsController_getRefundCreditNoteTransaction", "summary": "Retrieve a refund transaction for the given credit note.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "refundCreditId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Refund credit note transaction retrieved successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RefundCreditNoteResponseDto" } } } } }, "tags": [ "Credit Note Refunds" ] }, "delete": { "operationId": "CreditNoteRefundsController_deleteRefundCreditNote", "summary": "Delete a refund for the given credit note.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "refundCreditId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Credit Note Refunds" ] } }, "/api/credit-notes/{creditNoteId}/applied-invoices": { "get": { "operationId": "CreditNotesApplyInvoiceController_appliedCreditNoteToInvoices", "summary": "Applied credit note to invoices", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "creditNoteId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Credit note successfully applied to invoices", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AppliedCreditNoteInvoiceResponseDto" } } } } }, "400": { "description": "Invalid input data" }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes Apply Invoice" ] } }, "/api/credit-notes/{creditNoteId}/apply-invoices": { "get": { "operationId": "CreditNotesApplyInvoiceController_getCreditNoteAssociatedInvoicesToApply", "summary": "Get credit note associated invoices to apply", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "creditNoteId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Credit note associated invoices to apply", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CreditNoteInvoiceToApplyResponseDto" } } } } }, "400": { "description": "Invalid input data" }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes Apply Invoice" ] }, "post": { "operationId": "CreditNotesApplyInvoiceController_applyCreditNoteToInvoices", "summary": "Apply credit note to invoices", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "creditNoteId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplyCreditNoteToInvoicesDto" } } } }, "responses": { "200": { "description": "Credit note successfully applied to invoices" }, "400": { "description": "Invalid input data" }, "404": { "description": "Credit note not found" } }, "tags": [ "Credit Notes Apply Invoice" ] } }, "/api/credit-notes/applied-invoices/{applyCreditToInvoicesId}": { "delete": { "operationId": "CreditNotesApplyInvoiceController_deleteApplyCreditNoteToInvoices", "summary": "Delete applied credit note to invoice", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "applyCreditToInvoicesId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Credit note application successfully deleted" }, "404": { "description": "Credit note application not found" } }, "tags": [ "Credit Notes Apply Invoice" ] } }, "/api/vendor-credits/validate-bulk-delete": { "post": { "operationId": "VendorCreditsController_validateBulkDeleteVendorCredits", "summary": "Validates which vendor credits can be deleted and returns the results.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Validation completed with counts and IDs of deletable and non-deletable vendor credits.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateBulkDeleteResponseDto" } } } } }, "tags": [ "Vendor Credits" ] } }, "/api/vendor-credits/bulk-delete": { "post": { "operationId": "VendorCreditsController_bulkDeleteVendorCredits", "summary": "Deletes multiple vendor credits.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkDeleteDto" } } } }, "responses": { "200": { "description": "Vendor credits deleted successfully" } }, "tags": [ "Vendor Credits" ] } }, "/api/vendor-credits": { "post": { "operationId": "VendorCreditsController_createVendorCredit", "summary": "Create a new vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVendorCreditDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Vendor Credits" ] }, "get": { "operationId": "VendorCreditsController_getVendorCredits", "summary": "Retrieves the vendor credits.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order (asc/desc)", "schema": { "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits" ] } }, "/api/vendor-credits/{id}/open": { "put": { "operationId": "VendorCreditsController_openVendorCredit", "summary": "Open the given vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits" ] } }, "/api/vendor-credits/{id}": { "put": { "operationId": "VendorCreditsController_editVendorCredit", "summary": "Edit the given vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditVendorCreditDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits" ] }, "delete": { "operationId": "VendorCreditsController_deleteVendorCredit", "summary": "Delete the given vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits" ] }, "get": { "operationId": "VendorCreditsController_getVendorCredit", "summary": "Retrieves the vendor credit details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits" ] } }, "/api/vendor-credits/{vendorCreditId}/bills-to-apply": { "get": { "operationId": "VendorCreditApplyBillsController_getVendorCreditToApplyBills", "summary": "Get bills that can be applied with this vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorCreditId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits Apply Bills" ] } }, "/api/vendor-credits/{vendorCreditId}/apply-to-bills": { "post": { "operationId": "VendorCreditApplyBillsController_applyVendorCreditToBills", "summary": "Apply vendor credit to the given bills.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorCreditId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplyVendorCreditToBillsDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Vendor Credits Apply Bills" ] } }, "/api/vendor-credits/applied-bills/{vendorCreditAppliedBillId}": { "delete": { "operationId": "VendorCreditApplyBillsController_deleteAppliedBillToVendorCredit", "summary": "Remove an applied bill from the vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorCreditAppliedBillId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits Apply Bills" ] } }, "/api/vendor-credits/{vendorCreditId}/applied-bills": { "get": { "operationId": "VendorCreditApplyBillsController_getAppliedBillsToVendorCredit", "summary": "Get bills already applied to this vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorCreditId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits Apply Bills" ] } }, "/api/bill-payments": { "post": { "operationId": "BillPaymentsController_createBillPayment", "summary": "Create a new bill payment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBillPaymentDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Bill Payments" ] }, "get": { "operationId": "BillPaymentsController_getBillPayments", "summary": "Retrieves the bill payments list.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The bill payments have been successfully retrieved.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/BillPaymentResponseDto" } } } } ] } } } } }, "tags": [ "Bill Payments" ] } }, "/api/bill-payments/{billPaymentId}": { "delete": { "operationId": "BillPaymentsController_deleteBillPayment", "summary": "Delete the given bill payment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billPaymentId", "required": true, "in": "path", "description": "The bill payment id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bill Payments" ] }, "put": { "operationId": "BillPaymentsController_editBillPayment", "summary": "Edit the given bill payment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billPaymentId", "required": true, "in": "path", "description": "The bill payment id", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditBillPaymentDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Bill Payments" ] }, "get": { "operationId": "BillPaymentsController_getBillPayment", "summary": "Retrieves the bill payment details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billPaymentId", "required": true, "in": "path", "description": "The bill payment id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The bill payment details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillPaymentResponseDto" } } } } }, "tags": [ "Bill Payments" ] } }, "/api/bill-payments/new-page/entries": { "get": { "operationId": "BillPaymentsController_getBillPaymentNewPageEntries", "summary": "Retrieves the payable entries of the new page once vendor be selected.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorId", "required": true, "in": "query", "description": "The vendor id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bill Payments" ] } }, "/api/bill-payments/{billPaymentId}/bills": { "get": { "operationId": "BillPaymentsController_getPaymentBills", "summary": "Retrieves the bills of the given bill payment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billPaymentId", "required": true, "in": "path", "description": "The bill payment id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bill Payments" ] } }, "/api/bill-payments/{billPaymentId}/edit-page": { "get": { "operationId": "BillPaymentsController_getBillPaymentEditPage", "summary": "Retrieves the edit page of the given bill payment.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "billPaymentId", "required": true, "in": "path", "description": "The bill payment id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bill Payments" ] } }, "/api/vendor-credits/refunds/{refundCreditId}": { "get": { "operationId": "VendorCreditsRefundController_getRefundVendorCreditTransaction", "summary": "Retrieve a refund vendor credit transaction by id.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "refundCreditId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits Refunds" ] }, "delete": { "operationId": "VendorCreditsRefundController_deleteRefundVendorCredit", "summary": "Delete a refund for the given vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "refundCreditId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits Refunds" ] } }, "/api/vendor-credits/{vendorCreditId}/refund": { "get": { "operationId": "VendorCreditsRefundController_getVendorCreditRefunds", "summary": "Retrieve the vendor credit refunds graph.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorCreditId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Vendor Credits Refunds" ] }, "post": { "operationId": "VendorCreditsRefundController_createRefundVendorCredit", "summary": "Create a refund for the given vendor credit.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "vendorCreditId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RefundVendorCreditDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Vendor Credits Refunds" ] } }, "/api/banking/accounts": { "get": { "operationId": "BankAccountsController_getBankAccounts", "summary": "Retrieve the bank accounts.", "parameters": [ { "name": "customViewId", "required": false, "in": "query", "description": "Custom view ID", "schema": { "example": 1, "type": "number" } }, { "name": "filterRoles", "required": false, "in": "query", "description": "Filter roles array", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "columnSortBy", "required": false, "in": "query", "description": "Column to sort by", "schema": { "example": "created_at", "type": "string" } }, { "name": "sortOrder", "required": false, "in": "query", "description": "Sort order", "schema": { "example": "DESC", "enum": [ "DESC", "ASC" ], "type": "string" } }, { "name": "stringifiedFilterRoles", "required": false, "in": "query", "description": "Stringified filter roles", "schema": { "example": "{\"fieldKey\":\"status\",\"value\":\"active\"}", "type": "string" } }, { "name": "searchKeyword", "required": false, "in": "query", "description": "Search keyword", "schema": { "example": "bank account", "type": "string" } }, { "name": "viewSlug", "required": false, "in": "query", "description": "View slug", "schema": { "example": "active-accounts", "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "example": 25, "type": "number" } }, { "name": "inactiveMode", "required": false, "in": "query", "description": "Include inactive accounts", "schema": { "default": false, "example": false, "type": "boolean" } } ], "responses": { "200": { "description": "List of bank accounts retrieved successfully.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BankAccountResponseDto" } } } } } }, "tags": [ "Bank Accounts" ] } }, "/api/banking/accounts/{bankAccountId}/summary": { "get": { "operationId": "BankAccountsController_getBankAccountSummary", "summary": "Retrieve the bank account summary.", "parameters": [ { "name": "bankAccountId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Bank Accounts" ] } }, "/api/banking/accounts/{id}/disconnect": { "post": { "operationId": "BankAccountsController_disconnectBankAccount", "summary": "Disconnect the bank connection of the given bank account.", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Bank account disconnected successfully." }, "404": { "description": "Bank account not found." } }, "tags": [ "Bank Accounts" ] } }, "/api/banking/accounts/{id}/refresh": { "post": { "operationId": "BankAccountsController_refreshBankAccount", "summary": "Refresh the bank account transactions.", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Bank account transactions refreshed successfully." }, "404": { "description": "Bank account not found." } }, "tags": [ "Bank Accounts" ] } }, "/api/banking/accounts/{id}/pause": { "post": { "operationId": "BankAccountsController_pauseBankAccount", "summary": "Pause transactions syncing of the given bank account.", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Bank account transactions paused successfully." }, "404": { "description": "Bank account not found." } }, "tags": [ "Bank Accounts" ] } }, "/api/banking/accounts/{id}/resume": { "post": { "operationId": "BankAccountsController_resumeBankAccount", "summary": "Resume transactions syncing of the given bank account.", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Bank account transactions resumed successfully." }, "404": { "description": "Bank account not found." } }, "tags": [ "Bank Accounts" ] } }, "/api/banking/plaid/link-token": { "post": { "operationId": "BankingPlaidController_getLinkToken", "summary": "Get Plaid link token", "parameters": [], "responses": { "201": { "description": "" } }, "tags": [ "Banking Plaid" ] } }, "/api/banking/plaid/exchange-token": { "post": { "operationId": "BankingPlaidController_exchangeToken", "summary": "Exchange Plaid access token", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlaidItemDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Banking Plaid" ] } }, "/api/banking/plaid/webhooks": { "post": { "operationId": "BankingPlaidWebhooksController_webhooks", "summary": "Listen to Plaid webhooks", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlaidWebhookDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "banking-plaid" ] } }, "/api/banking/categorize": { "post": { "operationId": "BankingCategorizeController_categorizeTransaction", "summary": "Categorize bank transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CategorizeBankTransactionRouteDto" } } } }, "responses": { "200": { "description": "The bank transactions have been categorized successfully." } }, "tags": [ "Banking Categorization" ] } }, "/api/banking/categorize/bulk": { "delete": { "operationId": "BankingCategorizeController_uncategorizeTransactionsBulk", "summary": "Uncategorize bank transactions in bulk.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "uncategorizedTransactionIds", "required": true, "in": "query", "description": "Array of uncategorized transaction IDs to uncategorize", "schema": { "type": "array", "items": {} } } ], "responses": { "200": { "description": "The bank transactions have been uncategorized successfully." } }, "tags": [ "Banking Categorization" ] } }, "/api/banking/categorize/{id}": { "delete": { "operationId": "BankingCategorizeController_uncategorizeTransaction", "summary": "Uncategorize a bank transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Uncategorized transaction ID to uncategorize", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The bank transaction has been uncategorized successfully." } }, "tags": [ "Banking Categorization" ] } }, "/api/banking/transactions": { "get": { "operationId": "BankingTransactionsController_getBankAccountTransactions", "summary": "Get bank account transactions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number for pagination", "schema": { "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Number of items per page", "schema": { "example": 10, "type": "number" } }, { "name": "accountId", "required": true, "in": "query", "description": "Bank account ID", "schema": { "example": 1, "type": "number" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } } ], "responses": { "200": { "description": "Returns a list of bank account transactions", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/BankTransactionResponseDto" } } } } ] } } } } }, "tags": [ "Banking Transactions" ] }, "post": { "operationId": "BankingTransactionsController_createTransaction", "summary": "Create a new bank transaction", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBankTransactionDto" } } } }, "responses": { "201": { "description": "The bank transaction has been successfully created" }, "400": { "description": "Invalid input data" } }, "tags": [ "Banking Transactions" ] } }, "/api/banking/transactions/{id}": { "delete": { "operationId": "BankingTransactionsController_deleteTransaction", "summary": "Delete a bank transaction", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Bank transaction ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The bank transaction has been successfully deleted" }, "404": { "description": "Bank transaction not found" } }, "tags": [ "Banking Transactions" ] }, "get": { "operationId": "BankingTransactionsController_getTransaction", "summary": "Get a specific bank transaction by ID", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Bank transaction ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the bank transaction details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankTransactionResponseDto" } } } }, "404": { "description": "Bank transaction not found" } }, "tags": [ "Banking Transactions" ] } }, "/api/banking/uncategorized/autofill": { "get": { "operationId": "BankingUncategorizedTransactionsController_getAutofillCategorizeTransaction", "summary": "Get autofill values for categorize transactions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "uncategorizedTransactionIds", "required": true, "in": "query", "description": "Uncategorized transaction IDs to get autofill for", "schema": { "type": "array", "items": {} } } ], "responses": { "200": { "description": "Returns autofill values for categorize transactions", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAutofillCategorizeTransactionResponseDto" } } } } }, "tags": [ "Banking Uncategorized Transactions" ] } }, "/api/banking/uncategorized/accounts/{accountId}": { "get": { "operationId": "BankingUncategorizedTransactionsController_getBankAccountUncategorizedTransactions", "summary": "Get uncategorized transactions for a specific bank account", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "accountId", "required": true, "in": "path", "description": "Bank account ID", "schema": { "type": "number" } }, { "name": "page", "required": false, "in": "query", "description": "Page number for pagination", "schema": { "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Number of items per page", "schema": { "example": 10, "type": "number" } }, { "name": "minDate", "required": false, "in": "query", "description": "Minimum date for filtering transactions", "schema": { "format": "date-time", "example": "2023-01-01", "type": "string" } }, { "name": "maxDate", "required": false, "in": "query", "description": "Maximum date for filtering transactions", "schema": { "format": "date-time", "example": "2023-12-31", "type": "string" } }, { "name": "minAmount", "required": false, "in": "query", "description": "Minimum amount for filtering transactions", "schema": { "example": 100, "type": "number" } }, { "name": "maxAmount", "required": false, "in": "query", "description": "Maximum amount for filtering transactions", "schema": { "example": 1000, "type": "number" } } ], "responses": { "200": { "description": "Returns a list of uncategorized transactions for the specified bank account" } }, "tags": [ "Banking Uncategorized Transactions" ] } }, "/api/banking/uncategorized/{uncategorizedTransactionId}": { "get": { "operationId": "BankingUncategorizedTransactionsController_getUncategorizedTransaction", "summary": "Get a specific uncategorized transaction by ID", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "uncategorizedTransactionId", "required": true, "in": "path", "description": "Uncategorized transaction ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the uncategorized transaction details" }, "404": { "description": "Uncategorized transaction not found" } }, "tags": [ "Banking Uncategorized Transactions" ] } }, "/api/banking/pending": { "get": { "operationId": "BankingPendingTransactionsController_getPendingTransactions", "summary": "Get pending bank account transactions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number for pagination", "schema": { "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Number of items per page", "schema": { "example": 10, "type": "number" } }, { "name": "accountId", "required": false, "in": "query", "description": "Filter by bank account ID", "schema": { "example": 1, "type": "number" } } ], "responses": { "200": { "description": "Returns a list of pending bank account transactions", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/GetPendingTransactionResponseDto" } } } } ] } } } } }, "tags": [ "Banking Pending Transactions" ] } }, "/api/banking/rules": { "post": { "operationId": "BankRulesController_createBankRule", "summary": "Create a new bank rule.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBankRuleDto" } } } }, "responses": { "201": { "description": "The bank rule has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankRuleResponseDto" } } } } }, "tags": [ "Bank Rules" ] }, "get": { "operationId": "BankRulesController_getBankRules", "summary": "Retrieves the bank rules.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The bank rules have been successfully retrieved.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BankRuleResponseDto" } } } } } }, "tags": [ "Bank Rules" ] } }, "/api/banking/rules/{id}": { "put": { "operationId": "BankRulesController_editBankRule", "summary": "Edit the given bank rule.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditBankRuleDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Bank Rules" ] }, "delete": { "operationId": "BankRulesController_deleteBankRule", "summary": "Delete the given bank rule.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The bank rule has been successfully deleted." } }, "tags": [ "Bank Rules" ] }, "get": { "operationId": "BankRulesController_getBankRule", "summary": "Retrieves the bank rule details.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The bank rule details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankRuleResponseDto" } } } } }, "tags": [ "Bank Rules" ] } }, "/api/banking/recognized/{recognizedTransactionId}": { "get": { "operationId": "BankingRecognizedTransactionsController_getRecognizedTransaction", "summary": "Get recognized transaction", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "recognizedTransactionId", "required": true, "in": "path", "description": "The ID of the recognized transaction", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the recognized transaction details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetRecognizedTransactionResponseDto" } } } }, "404": { "description": "Recognized transaction not found" } }, "tags": [ "Banking Recognized Transactions" ] } }, "/api/banking/recognized": { "get": { "operationId": "BankingRecognizedTransactionsController_getRecognizedTransactions", "summary": "Get a list of recognized transactions", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "query", "required": false, "in": "query", "description": "Query parameters for filtering recognized transactions", "schema": {} } ], "responses": { "200": { "description": "Returns a list of recognized transactions", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/GetRecognizedTransactionResponseDto" } } } } ] } } } } }, "tags": [ "Banking Recognized Transactions" ] } }, "/api/banking/exclude/bulk": { "put": { "operationId": "BankingTransactionsExcludeController_excludeBankTransactions", "summary": "Exclude the given bank transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExcludeBankTransactionsBulkDto" } } } }, "responses": { "200": { "description": "Bank transactions excluded successfully." } }, "tags": [ "Banking Transactions" ] }, "delete": { "operationId": "BankingTransactionsExcludeController_unexcludeBankTransactions", "summary": "Unexclude the given bank transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExcludeBankTransactionsBulkDto" } } } }, "responses": { "200": { "description": "Bank transactions unexcluded successfully." } }, "tags": [ "Banking Transactions" ] } }, "/api/banking/exclude": { "get": { "operationId": "BankingTransactionsExcludeController_getExcludedBankTransactions", "summary": "Retrieves the excluded bank transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "example": 1, "type": "number" } }, { "name": "pageSize", "required": false, "in": "query", "description": "Page size", "schema": { "example": 25, "type": "number" } }, { "name": "accountId", "required": false, "in": "query", "description": "Filter by bank account ID", "schema": { "example": 1, "type": "number" } }, { "name": "minDate", "required": false, "in": "query", "description": "Minimum date (ISO)", "schema": { "example": "2024-01-01", "type": "string" } }, { "name": "maxDate", "required": false, "in": "query", "description": "Maximum date (ISO)", "schema": { "example": "2024-12-31", "type": "string" } }, { "name": "minAmount", "required": false, "in": "query", "description": "Minimum amount", "schema": { "example": 0, "type": "number" } }, { "name": "maxAmount", "required": false, "in": "query", "description": "Maximum amount", "schema": { "example": 10000, "type": "number" } } ], "responses": { "200": { "description": "The excluded bank transactions has been retrieved successfully.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedResponseDto" }, { "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/GetExcludedBankTransactionResponseDto" } } } } ] } } } } }, "tags": [ "Banking Transactions" ] } }, "/api/banking/exclude/{id}": { "put": { "operationId": "BankingTransactionsExcludeController_excludeBankTransaction", "summary": "Exclude the given bank transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Banking Transactions" ] }, "delete": { "operationId": "BankingTransactionsExcludeController_unexcludeBankTransaction", "summary": "Unexclude the given bank transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Banking Transactions" ] } }, "/api/banking/matching/matched": { "get": { "operationId": "BankingMatchingController_getMatchedTransactions", "summary": "Retrieves the matched transactions.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "uncategorizedTransactionIds", "required": true, "in": "query", "description": "Uncategorized transaction IDs to match", "schema": { "type": "array", "items": {} } }, { "name": "fromDate", "required": false, "in": "query", "description": "Filter from date", "schema": { "example": "2024-01-01", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "Filter to date", "schema": { "example": "2024-12-31", "type": "string" } }, { "name": "minAmount", "required": false, "in": "query", "description": "Minimum amount", "schema": { "example": 0, "type": "number" } }, { "name": "maxAmount", "required": false, "in": "query", "description": "Maximum amount", "schema": { "example": 10000, "type": "number" } }, { "name": "transactionType", "required": false, "in": "query", "description": "Transaction type filter", "schema": { "example": "SaleInvoice", "type": "string" } } ], "responses": { "200": { "description": "Matched transactions (perfect and possible matches).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetMatchedTransactionsResponseDto" } } } } }, "tags": [ "Banking Transactions Matching" ] } }, "/api/banking/matching/match": { "post": { "operationId": "BankingMatchingController_matchTransaction", "summary": "Match the given uncategorized transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchBankTransactionDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Banking Transactions Matching" ] } }, "/api/banking/matching/unmatch/{uncategorizedTransactionId}": { "patch": { "operationId": "BankingMatchingController_unmatchMatchedTransaction", "summary": "Unmatch the given uncategorized transaction.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "uncategorizedTransactionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Banking Transactions Matching" ] } }, "/api/transactions-locking/lock": { "put": { "operationId": "TransactionsLockingController_commandTransactionsLocking", "summary": "Lock all transactions for a module or all modules", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsLockingDto" } } } }, "responses": { "200": { "description": "The transactions have been successfully locked.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionLockingResponseDto" } } } } }, "tags": [ "Transactions Locking" ] } }, "/api/transactions-locking/cancel-lock": { "put": { "operationId": "TransactionsLockingController_cancelTransactionLocking", "summary": "Cancel all transactions locking for a module or all modules", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelTransactionsLockingDto" } } } }, "responses": { "200": { "description": "The transactions locking has been successfully canceled.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionLockingResponseDto" } } } } }, "tags": [ "Transactions Locking" ] } }, "/api/transactions-locking/unlock-partial": { "put": { "operationId": "TransactionsLockingController_unlockTransactionsLockingBetweenPeriod", "summary": "Partial unlock all transactions locking for a module or all modules", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully partially unlocked.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionLockingResponseDto" } } } } }, "tags": [ "Transactions Locking" ] } }, "/api/transactions-locking/cancel-unlock-partial": { "put": { "operationId": "TransactionsLockingController_cancelPartialUnlocking", "summary": "Cancel partial unlocking all transactions locking for a module or all modules", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The partial transaction unlocking has been successfully canceled.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionLockingResponseDto" } } } } }, "tags": [ "Transactions Locking" ] } }, "/api/transactions-locking": { "get": { "operationId": "TransactionsLockingController_getTransactionLockingMetaList", "summary": "Get all transactions locking meta", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transactions locking meta has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionLockingResponseDto" } } } } }, "tags": [ "Transactions Locking" ] } }, "/api/transactions-locking/{module}": { "get": { "operationId": "TransactionsLockingController_getTransactionLockingMeta", "summary": "Get transactions locking meta for a module", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "module", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The module transactions locking meta has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionLockingResponseDto" } } } } }, "tags": [ "Transactions Locking" ] } }, "/api/settings": { "put": { "operationId": "SettingsController_saveSettings", "summary": "Save the given settings.", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Settings" ] }, "get": { "operationId": "SettingsController_getSettings", "summary": "Retrieves the settings.", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Settings" ] } }, "/api/reports/balance-sheet": { "get": { "operationId": "BalanceSheetStatementController_balanceSheet", "summary": "Get balance sheet statement", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "displayColumnsType", "required": true, "in": "query", "description": "Type of columns to display in the balance sheet", "schema": { "default": "total", "enum": [ "total", "date_periods" ], "type": "string" } }, { "name": "displayColumnsBy", "required": true, "in": "query", "description": "Time period for column display", "schema": { "default": "year", "enum": [ "day", "month", "year", "quarter" ], "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Start date for the balance sheet period", "schema": { "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "End date for the balance sheet period", "schema": { "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to include accounts with no transactions", "schema": { "default": false, "type": "boolean" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero balance accounts", "schema": { "default": false, "type": "boolean" } }, { "name": "basis", "required": false, "in": "query", "description": "Accounting basis for the balance sheet", "schema": { "enum": [ "cash", "accrual" ], "type": "string" } }, { "name": "accountIds", "required": true, "in": "query", "description": "Array of account IDs to include in the balance sheet", "schema": { "type": "array", "items": { "type": "number" } } }, { "name": "percentageOfColumn", "required": false, "in": "query", "description": "Whether to show percentage of column total", "schema": { "default": false, "type": "boolean" } }, { "name": "percentageOfRow", "required": false, "in": "query", "description": "Whether to show percentage of row total", "schema": { "default": false, "type": "boolean" } }, { "name": "previousPeriod", "required": false, "in": "query", "description": "Whether to include previous period data", "schema": { "default": false, "type": "boolean" } }, { "name": "previousPeriodAmountChange", "required": false, "in": "query", "description": "Whether to show amount change from previous period", "schema": { "default": false, "type": "boolean" } }, { "name": "previousPeriodPercentageChange", "required": false, "in": "query", "description": "Whether to show percentage change from previous period", "schema": { "default": false, "type": "boolean" } }, { "name": "previousYear", "required": false, "in": "query", "description": "Whether to include previous year data", "schema": { "default": false, "type": "boolean" } }, { "name": "previousYearAmountChange", "required": false, "in": "query", "description": "Whether to show amount change from previous year", "schema": { "default": false, "type": "boolean" } }, { "name": "previousYearPercentageChange", "required": false, "in": "query", "description": "Whether to show percentage change from previous year", "schema": { "default": false, "type": "boolean" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Balance sheet statement", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BalanceSheetResponseDto" }, "example": { "query": { "display_columns_type": "total", "display_columns_by": "year", "from_date": "2025-01-01", "to_date": "2025-06-16", "number_format": { "precision": 2, "divide_on1000": false, "show_zero": false, "format_money": "total", "negative_format": "mines" }, "none_zero": false, "none_transactions": false, "basis": "cash", "account_ids": [], "percentage_of_column": false, "percentage_of_row": false, "previous_period": false, "previous_period_amount_change": false, "previous_period_percentage_change": false, "previous_year": false, "previous_year_amount_change": false, "previous_year_percentage_change": false }, "data": [ { "name": "Assets", "id": "ASSETS", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -122623, "formatted_amount": "-$122,623.00", "currency_code": "USD" }, "children": [ { "name": "Current Asset", "id": "CURRENT_ASSETS", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -122623, "formatted_amount": "-$122,623.00", "currency_code": "USD" }, "children": [ { "name": "Cash and cash equivalents", "id": "CASH_EQUIVALENTS", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -500, "formatted_amount": "-$500.00", "currency_code": "USD" }, "children": [ { "id": 1002, "index": 1, "name": "Undeposited Funds", "code": "10003", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1003, "index": 1, "name": "Petty Cash", "code": "10004", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1000, "index": 1, "name": "Bank Account", "code": "10001", "total": { "amount": -500, "formatted_amount": "-500.00", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1001, "index": 1, "name": "Saving Bank Account", "code": "10002", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1034, "index": null, "name": "Chase - Plaid Checking", "code": "", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] } ] }, { "name": "Accounts Receivable", "id": "ACCOUNTS_RECEIVABLE", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" }, "children": [ { "id": 1006, "index": 1, "name": "Accounts Receivable (A/R)", "code": "10007", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] } ] }, { "name": "Inventory", "id": "INVENTORY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": 1000, "formatted_amount": "$1,000.00", "currency_code": "USD" }, "children": [ { "id": 1007, "index": 1, "name": "Inventory Asset", "code": "10008", "total": { "amount": 1000, "formatted_amount": "1,000.00", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] } ] }, { "name": "Other current assets", "id": "OTHER_CURRENT_ASSET", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -123123, "formatted_amount": "-$123,123.00", "currency_code": "USD" }, "children": [ { "id": 1030, "index": 1, "name": "Prepaid Expenses", "code": "100010", "total": { "amount": -123123, "formatted_amount": "-123,123.00", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] } ] } ] }, { "name": "Fixed Asset", "id": "FIXED_ASSET", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" }, "children": [ { "id": 1004, "index": 1, "name": "Computer Equipment", "code": "10005", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1005, "index": 1, "name": "Office Equipment", "code": "10006", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] } ] }, { "name": "Non-Current Assets", "id": "NON_CURRENT_ASSET", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" }, "children": [] } ] }, { "name": "Liabilities and Equity", "id": "LIABILITY_EQUITY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -122623, "formatted_amount": "-$122,623.00", "currency_code": "USD" }, "children": [ { "name": "Liabilities", "id": "LIABILITY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -8700, "formatted_amount": "-$8,700.00", "currency_code": "USD" }, "children": [ { "name": "Current Liabilties", "id": "CURRENT_LIABILITY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -8700, "formatted_amount": "-$8,700.00", "currency_code": "USD" }, "children": [ { "id": 1008, "index": 1, "name": "Accounts Payable (A/P)", "code": "20001", "total": { "amount": 1300, "formatted_amount": "1,300.00", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1013, "index": 1, "name": "Tax Payable", "code": "20006", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1009, "index": 1, "name": "Owner A Drawings", "code": "20002", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1010, "index": 1, "name": "Loan", "code": "20003", "total": { "amount": -10000, "formatted_amount": "-10,000.00", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1011, "index": 1, "name": "Opening Balance Liabilities", "code": "20004", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1012, "index": 1, "name": "Revenue Received in Advance", "code": "20005", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1029, "index": 1, "name": "Unearned Revenue", "code": "50005", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] } ] }, { "name": "Long-Term Liabilities", "id": "LOGN_TERM_LIABILITY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" }, "children": [] }, { "name": "Non-Current Liabilities", "id": "NON_CURRENT_LIABILITY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" }, "children": [] } ] }, { "name": "Equity", "id": "EQUITY", "node_type": "AGGREGATE", "type": "AGGREGATE", "total": { "amount": -113923, "formatted_amount": "-$113,923.00", "currency_code": "USD" }, "children": [ { "id": 1014, "index": 1, "name": "Retained Earnings", "code": "30001", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1015, "index": 1, "name": "Opening Balance Equity", "code": "30002", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1016, "index": 1, "name": "Owner's Equity", "code": "30003", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": 1017, "index": 1, "name": "Drawings", "code": "30003", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "node_type": "ACCOUNT", "children": [] }, { "id": "NET_INCOME", "name": "Net Income", "node_type": "NET_INCOME", "total": { "amount": -113923, "formatted_amount": "-$113,923.00", "currency_code": "USD" }, "children": [] } ] } ] } ], "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "Balance Sheet Statement", "formatted_as_date": "2025/06/16", "formatted_date_range": "As 2025/06/16" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/BalanceSheetTableResponseDto" }, "example": { "table": { "columns": [ { "key": "name", "label": "Account name", "cell_index": 0 }, { "key": "total", "label": "Total", "children": [], "cell_index": 1 } ], "rows": [ { "cells": [ { "key": "name", "value": "Assets" }, { "key": "total", "value": "-$122,623.00" } ], "row_types": [ "AGGREGATE" ], "id": "ASSETS", "children": [ { "cells": [ { "key": "name", "value": "Current Asset" }, { "key": "total", "value": "-$122,623.00" } ], "row_types": [ "AGGREGATE" ], "id": "CURRENT_ASSETS", "children": [ { "cells": [ { "key": "name", "value": "Cash and cash equivalents" }, { "key": "total", "value": "-$500.00" } ], "row_types": [ "AGGREGATE" ], "id": "CASH_EQUIVALENTS", "children": [ { "cells": [ { "key": "name", "value": "Undeposited Funds" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1002 }, { "cells": [ { "key": "name", "value": "Petty Cash" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1003 }, { "cells": [ { "key": "name", "value": "Bank Account" }, { "key": "total", "value": "-500.00" } ], "row_types": [ "ACCOUNT" ], "id": 1000 }, { "cells": [ { "key": "name", "value": "Saving Bank Account" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1001 }, { "cells": [ { "key": "name", "value": "Chase - Plaid Checking" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1034 }, { "cells": [ { "key": "name", "value": "Total Cash and cash equivalents" }, { "key": "total", "value": "-$500.00" } ], "row_types": [ "TOTAL" ], "id": "CASH_EQUIVALENTS" } ] }, { "cells": [ { "key": "name", "value": "Accounts Receivable" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "AGGREGATE" ], "id": "ACCOUNTS_RECEIVABLE", "children": [ { "cells": [ { "key": "name", "value": "Accounts Receivable (A/R)" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1006 }, { "cells": [ { "key": "name", "value": "Total Accounts Receivable" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "TOTAL" ], "id": "ACCOUNTS_RECEIVABLE" } ] }, { "cells": [ { "key": "name", "value": "Inventory" }, { "key": "total", "value": "$1,000.00" } ], "row_types": [ "AGGREGATE" ], "id": "INVENTORY", "children": [ { "cells": [ { "key": "name", "value": "Inventory Asset" }, { "key": "total", "value": "1,000.00" } ], "row_types": [ "ACCOUNT" ], "id": 1007 }, { "cells": [ { "key": "name", "value": "Total Inventory" }, { "key": "total", "value": "$1,000.00" } ], "row_types": [ "TOTAL" ], "id": "INVENTORY" } ] }, { "cells": [ { "key": "name", "value": "Other current assets" }, { "key": "total", "value": "-$123,123.00" } ], "row_types": [ "AGGREGATE" ], "id": "OTHER_CURRENT_ASSET", "children": [ { "cells": [ { "key": "name", "value": "Prepaid Expenses" }, { "key": "total", "value": "-123,123.00" } ], "row_types": [ "ACCOUNT" ], "id": 1030 }, { "cells": [ { "key": "name", "value": "Total Other current assets" }, { "key": "total", "value": "-$123,123.00" } ], "row_types": [ "TOTAL" ], "id": "OTHER_CURRENT_ASSET" } ] }, { "cells": [ { "key": "name", "value": "Total Current Asset" }, { "key": "total", "value": "-$122,623.00" } ], "row_types": [ "TOTAL" ], "id": "CURRENT_ASSETS" } ] }, { "cells": [ { "key": "name", "value": "Fixed Asset" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "AGGREGATE" ], "id": "FIXED_ASSET", "children": [ { "cells": [ { "key": "name", "value": "Computer Equipment" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1004 }, { "cells": [ { "key": "name", "value": "Office Equipment" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1005 }, { "cells": [ { "key": "name", "value": "Total Fixed Asset" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "TOTAL" ], "id": "FIXED_ASSET" } ] }, { "cells": [ { "key": "name", "value": "Non-Current Assets" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "AGGREGATE" ], "id": "NON_CURRENT_ASSET" }, { "cells": [ { "key": "name", "value": "Total Assets" }, { "key": "total", "value": "-$122,623.00" } ], "row_types": [ "TOTAL" ], "id": "ASSETS" } ] }, { "cells": [ { "key": "name", "value": "Liabilities and Equity" }, { "key": "total", "value": "-$122,623.00" } ], "row_types": [ "AGGREGATE" ], "id": "LIABILITY_EQUITY", "children": [ { "cells": [ { "key": "name", "value": "Liabilities" }, { "key": "total", "value": "-$8,700.00" } ], "row_types": [ "AGGREGATE" ], "id": "LIABILITY", "children": [ { "cells": [ { "key": "name", "value": "Current Liabilties" }, { "key": "total", "value": "-$8,700.00" } ], "row_types": [ "AGGREGATE" ], "id": "CURRENT_LIABILITY", "children": [ { "cells": [ { "key": "name", "value": "Accounts Payable (A/P)" }, { "key": "total", "value": "1,300.00" } ], "row_types": [ "ACCOUNT" ], "id": 1008 }, { "cells": [ { "key": "name", "value": "Tax Payable" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1013 }, { "cells": [ { "key": "name", "value": "Owner A Drawings" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1009 }, { "cells": [ { "key": "name", "value": "Loan" }, { "key": "total", "value": "-10,000.00" } ], "row_types": [ "ACCOUNT" ], "id": 1010 }, { "cells": [ { "key": "name", "value": "Opening Balance Liabilities" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1011 }, { "cells": [ { "key": "name", "value": "Revenue Received in Advance" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1012 }, { "cells": [ { "key": "name", "value": "Unearned Revenue" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1029 }, { "cells": [ { "key": "name", "value": "Total Current Liabilties" }, { "key": "total", "value": "-$8,700.00" } ], "row_types": [ "TOTAL" ], "id": "CURRENT_LIABILITY" } ] }, { "cells": [ { "key": "name", "value": "Long-Term Liabilities" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "AGGREGATE" ], "id": "LOGN_TERM_LIABILITY" }, { "cells": [ { "key": "name", "value": "Non-Current Liabilities" }, { "key": "total", "value": "$0.00" } ], "row_types": [ "AGGREGATE" ], "id": "NON_CURRENT_LIABILITY" }, { "cells": [ { "key": "name", "value": "Total Liabilities" }, { "key": "total", "value": "-$8,700.00" } ], "row_types": [ "TOTAL" ], "id": "LIABILITY" } ] }, { "cells": [ { "key": "name", "value": "Equity" }, { "key": "total", "value": "-$113,923.00" } ], "row_types": [ "AGGREGATE" ], "id": "EQUITY", "children": [ { "cells": [ { "key": "name", "value": "Retained Earnings" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1014 }, { "cells": [ { "key": "name", "value": "Opening Balance Equity" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1015 }, { "cells": [ { "key": "name", "value": "Owner's Equity" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1016 }, { "cells": [ { "key": "name", "value": "Drawings" }, { "key": "total", "value": "" } ], "row_types": [ "ACCOUNT" ], "id": 1017 }, { "cells": [ { "key": "name", "value": "Net Income" }, { "key": "total", "value": "-$113,923.00" } ], "row_types": [ "NET_INCOME" ], "id": "NET_INCOME" }, { "cells": [ { "key": "name", "value": "Total Equity" }, { "key": "total", "value": "-$113,923.00" } ], "row_types": [ "TOTAL" ], "id": "EQUITY" } ] }, { "cells": [ { "key": "name", "value": "Total Liabilities and Equity" }, { "key": "total", "value": "-$122,623.00" } ], "row_types": [ "TOTAL" ], "id": "LIABILITY_EQUITY" } ] } ] }, "query": { "display_columns_type": "total", "display_columns_by": "year", "from_date": "2025-01-01", "to_date": "2025-06-21", "number_format": { "precision": 2, "divide_on1000": false, "show_zero": false, "format_money": "total", "negative_format": "mines" }, "none_zero": false, "none_transactions": false, "basis": "cash", "account_ids": [], "percentage_of_column": false, "percentage_of_row": false, "previous_period": false, "previous_period_amount_change": false, "previous_period_percentage_change": false, "previous_year": false, "previous_year_amount_change": false, "previous_year_percentage_change": false }, "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "Balance Sheet Statement", "formatted_as_date": "2025/06/21", "formatted_date_range": "As 2025/06/21" } } } } } }, "tags": [ "Reports" ] } }, "/api/reports/purchases-by-items": { "get": { "operationId": "PurchasesByItemReportController_purchasesByItems", "summary": "Get purchases by items report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Start date for the purchases by items report", "schema": { "example": "2024-01-01", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "End date for the purchases by items report", "schema": { "example": "2024-01-31", "type": "string" } }, { "name": "itemsIds", "required": false, "in": "query", "description": "Array of item IDs to filter the purchases report", "schema": { "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude items with no transactions", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "onlyActive", "required": false, "in": "query", "description": "Whether to include only active items", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Purchases by items report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurchasesByItemsResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/PurchasesByItemsTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/customer-balance-summary": { "get": { "operationId": "CustomerBalanceSummaryController_customerBalanceSummary", "summary": "Get customer balance summary report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "asDate", "required": false, "in": "query", "description": "The date as of which the balance summary is calculated", "schema": { "example": "2024-01-01", "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "percentageColumn", "required": false, "in": "query", "description": "Whether to show the percentage column in the summary", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude contacts with no transactions", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude contacts with zero balance", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "customersIds", "required": false, "in": "query", "description": "Array of customer IDs to filter the summary", "schema": { "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Customer balance summary report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerBalanceSummaryResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/CustomerBalanceSummaryTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/vendor-balance-summary": { "get": { "operationId": "VendorBalanceSummaryController_vendorBalanceSummary", "summary": "Get vendor balance summary", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "asDate", "required": false, "in": "query", "description": "The date as of which the balance summary is calculated", "schema": { "example": "2024-01-01", "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "percentageColumn", "required": false, "in": "query", "description": "Whether to show the percentage column in the summary", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude contacts with no transactions", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude contacts with zero balance", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "vendorsIds", "required": false, "in": "query", "description": "Array of vendor IDs to filter the summary", "schema": { "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Vendor balance summary", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VendorBalanceSummaryResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/VendorBalanceSummaryTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/sales-by-items": { "get": { "operationId": "SalesByItemsController_salesByitems", "summary": "Sales by items report", "description": "Retrieves the sales by items report.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Start date for the sales by items report", "schema": { "example": "2024-01-01", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "End date for the sales by items report", "schema": { "example": "2024-01-31", "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude items with no transactions", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "onlyActive", "required": false, "in": "query", "description": "Whether to include only active items", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "itemsIds", "required": false, "in": "query", "description": "Array of item IDs to filter the sales report", "schema": { "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Sales by items report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SalesByItemsResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/SalesByItemsTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/general-ledger": { "get": { "operationId": "GeneralLedgerController_getGeneralLedger", "summary": "Get general ledger report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "basis", "required": false, "in": "query", "description": "Accounting basis for the report (e.g., cash, accrual)", "schema": { "example": "accrual", "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude transactions from the report", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "accountsIds", "required": false, "in": "query", "description": "Array of account IDs to filter the report", "schema": { "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "General ledger report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GeneralLedgerResponseDto" }, "example": { "query": { "from_date": "2025-06-01", "to_date": "2025-06-16", "basis": "cash", "number_format": { "no_cents": false, "divide_on1000": false }, "none_zero": false, "accounts_ids": [] }, "data": [ { "id": 1008, "name": "Accounts Payable (A/P)", "code": "20001", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [ { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "Bill", "reference_id": 4, "transaction_number": null, "transaction_type_formatted": "Bill", "contact_name": "business", "contact_type": "customer", "transaction_type": "Bill", "index": 1, "note": null, "credit": 1000, "debit": 0, "amount": 1000, "running_balance": 1000, "formatted_amount": "1,000.00", "formatted_credit": "1,000.00", "formatted_debit": "0.00", "formatted_running_balance": "1,000.00", "currency_code": "USD" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "Bill", "reference_id": 5, "transaction_number": null, "transaction_type_formatted": "Bill", "contact_name": "business", "contact_type": "customer", "transaction_type": "Bill", "index": 1, "note": null, "credit": 1000, "debit": 0, "amount": 1000, "running_balance": 2000, "formatted_amount": "1,000.00", "formatted_credit": "1,000.00", "formatted_debit": "0.00", "formatted_running_balance": "2,000.00", "currency_code": "USD" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "BillPayment", "reference_id": 3, "transaction_number": "", "transaction_type_formatted": "transaction_type.payment_made", "contact_name": "business", "contact_type": "customer", "transaction_type": "BillPayment", "index": 1, "note": null, "credit": 0, "debit": 500, "amount": -500, "running_balance": 1500, "formatted_amount": "-500.00", "formatted_credit": "0.00", "formatted_debit": "500.00", "formatted_running_balance": "1,500.00", "currency_code": "USD" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "VendorCredit", "reference_id": 3, "transaction_number": "VC-00001", "transaction_type_formatted": "Vendor Credit", "contact_name": "business", "contact_type": "customer", "transaction_type": "VendorCredit", "index": 1, "note": null, "credit": 0, "debit": 100, "amount": -100, "running_balance": 1400, "formatted_amount": "-100.00", "formatted_credit": "0.00", "formatted_debit": "100.00", "formatted_running_balance": "1,400.00", "currency_code": "USD" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "VendorCredit", "reference_id": 4, "transaction_number": "VC-00001", "transaction_type_formatted": "Vendor Credit", "contact_name": "business", "contact_type": "customer", "transaction_type": "VendorCredit", "index": 1, "note": null, "credit": 0, "debit": 100, "amount": -100, "running_balance": 1300, "formatted_amount": "-100.00", "formatted_credit": "0.00", "formatted_debit": "100.00", "formatted_running_balance": "1,300.00", "currency_code": "USD" } ], "closing_balance": { "amount": 1300, "formatted_amount": "$1,300.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 1300, "formatted_amount": "$1,300.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1006, "name": "Accounts Receivable (A/R)", "code": "10007", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1000, "name": "Bank Account", "code": "10001", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [ { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "BillPayment", "reference_id": 3, "transaction_number": "", "transaction_type_formatted": "transaction_type.payment_made", "transaction_type": "BillPayment", "index": 2, "note": null, "credit": 500, "debit": 0, "amount": -500, "running_balance": -500, "formatted_amount": "-500.00", "formatted_credit": "500.00", "formatted_debit": "0.00", "formatted_running_balance": "-500.00", "currency_code": "USD" } ], "closing_balance": { "amount": -500, "formatted_amount": "-$500.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": -500, "formatted_amount": "-$500.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1023, "name": "Bank Fees and Charges", "code": "40006", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1034, "name": "Chase - Plaid Checking", "code": "", "index": null, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1004, "name": "Computer Equipment", "code": "10005", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1019, "name": "Cost of Goods Sold", "code": "40002", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [ { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "Bill", "reference_id": 4, "transaction_number": null, "transaction_type_formatted": "Bill", "transaction_type": "Bill", "index": 1, "note": null, "credit": 0, "debit": 1000, "amount": 1000, "running_balance": 1000, "formatted_amount": "1,000.00", "formatted_credit": "0.00", "formatted_debit": "1,000.00", "formatted_running_balance": "1,000.00", "currency_code": "USD" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "VendorCredit", "reference_id": 3, "transaction_number": "VC-00001", "transaction_type_formatted": "Vendor Credit", "transaction_type": "VendorCredit", "index": 2, "note": null, "credit": 100, "debit": 0, "amount": -100, "running_balance": 900, "formatted_amount": "-100.00", "formatted_credit": "100.00", "formatted_debit": "0.00", "formatted_running_balance": "900.00", "currency_code": "USD" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "VendorCredit", "reference_id": 4, "transaction_number": "VC-00001", "transaction_type_formatted": "Vendor Credit", "transaction_type": "VendorCredit", "index": 2, "note": null, "credit": 100, "debit": 0, "amount": -100, "running_balance": 800, "formatted_amount": "-100.00", "formatted_credit": "100.00", "formatted_debit": "0.00", "formatted_running_balance": "800.00", "currency_code": "USD" } ], "closing_balance": { "amount": 800, "formatted_amount": "$800.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 800, "formatted_amount": "$800.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1024, "name": "Depreciation Expense", "code": "40007", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [ { "date": "2025-06-15T22:00:00.000Z", "date_formatted": "2025 Jun 16", "reference_type": "Journal", "reference_id": 1017, "transaction_number": "REF", "transaction_type_formatted": "Manual journal", "transaction_type": "Journal", "index": 2, "note": "", "credit": 10000, "debit": 0, "amount": -10000, "running_balance": -10000, "formatted_amount": "-10,000.00", "formatted_credit": "10,000.00", "formatted_debit": "0.00", "formatted_running_balance": "-10,000.00", "currency_code": "USD" } ], "closing_balance": { "amount": -10000, "formatted_amount": "-$10,000.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": -10000, "formatted_amount": "-$10,000.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1031, "name": "Discount", "code": "40008", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1017, "name": "Drawings", "code": "30003", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1022, "name": "Exchange Gain or Loss", "code": "40005", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 123123, "formatted_amount": "$123,123.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 123123, "formatted_amount": "$123,123.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 123123, "formatted_amount": "$123,123.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1007, "name": "Inventory Asset", "code": "10008", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [ { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "reference_type": "Bill", "reference_id": 5, "transaction_number": null, "transaction_type_formatted": "Bill", "transaction_type": "Bill", "index": 1, "note": null, "credit": 0, "debit": 1000, "amount": 1000, "running_balance": 1000, "formatted_amount": "1,000.00", "formatted_credit": "0.00", "formatted_debit": "1,000.00", "formatted_running_balance": "1,000.00", "currency_code": "USD" } ], "closing_balance": { "amount": 1000, "formatted_amount": "$1,000.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 1000, "formatted_amount": "$1,000.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1010, "name": "Loan", "code": "20003", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [ { "date": "2025-06-15T22:00:00.000Z", "date_formatted": "2025 Jun 16", "reference_type": "Journal", "reference_id": 1017, "transaction_number": "REF", "transaction_type_formatted": "Manual journal", "transaction_type": "Journal", "index": 1, "note": "", "credit": 0, "debit": 10000, "amount": -10000, "running_balance": -10000, "formatted_amount": "-10,000.00", "formatted_credit": "0.00", "formatted_debit": "10,000.00", "formatted_running_balance": "-10,000.00", "currency_code": "USD" } ], "closing_balance": { "amount": -10000, "formatted_amount": "-$10,000.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": -10000, "formatted_amount": "-$10,000.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1005, "name": "Office Equipment", "code": "10006", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1020, "name": "Office expenses", "code": "40003", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1015, "name": "Opening Balance Equity", "code": "30002", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1011, "name": "Opening Balance Liabilities", "code": "20004", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1033, "name": "Other Charges", "code": "40010", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1018, "name": "Other Expenses", "code": "40011", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1009, "name": "Owner A Drawings", "code": "20002", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1016, "name": "Owner's Equity", "code": "30003", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1003, "name": "Petty Cash", "code": "10004", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1030, "name": "Prepaid Expenses", "code": "100010", "index": 1, "parent_account_id": null, "opening_balance": { "amount": -123123, "formatted_amount": "-$123,123.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": -123123, "formatted_amount": "-$123,123.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": -123123, "formatted_amount": "-$123,123.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1032, "name": "Purchase Discount", "code": "40009", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1021, "name": "Rent", "code": "40004", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1014, "name": "Retained Earnings", "code": "30001", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1012, "name": "Revenue Received in Advance", "code": "20005", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1025, "name": "Sales of Product Income", "code": "50001", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1026, "name": "Sales of Service Income", "code": "50002", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1001, "name": "Saving Bank Account", "code": "10002", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1013, "name": "Tax Payable", "code": "20006", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1027, "name": "Uncategorized Income", "code": "50003", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1002, "name": "Undeposited Funds", "code": "10003", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } }, { "id": 1029, "name": "Unearned Revenue", "code": "50005", "index": 1, "parent_account_id": null, "opening_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-01" }, "transactions": [], "closing_balance": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" }, "closing_balance_subaccounts": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD", "date": "2025-06-16" } } ], "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "Balance Sheet", "formatted_from_date": "2025/06/01", "formatted_to_date": "2025/06/16", "formatted_date_range": "From 2025/06/01 | To 2025/06/16" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/GeneralLedgerTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/trial-balance-sheet": { "get": { "operationId": "TrialBalanceSheetController_getTrialBalanceSheet", "summary": "Get trial balance sheet", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Start date for the trial balance sheet", "schema": { "format": "date-time", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "End date for the trial balance sheet", "schema": { "format": "date-time", "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "basis", "required": false, "in": "query", "description": "Accounting basis for the report", "schema": { "enum": [ "cash", "accrual" ], "type": "string" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Filter out zero balance accounts", "schema": { "default": false, "type": "boolean" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Filter out accounts with no transactions", "schema": { "default": false, "type": "boolean" } }, { "name": "onlyActive", "required": false, "in": "query", "description": "Show only active accounts", "schema": { "default": false, "type": "boolean" } }, { "name": "accountIds", "required": false, "in": "query", "description": "Filter by specific account IDs", "schema": { "type": "array", "items": { "type": "number" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Trial balance sheet", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TrialBalanceSheetResponseDto" }, "example": { "data": { "accounts": [ { "id": 1000, "parent_account_id": null, "name": "Bank Account", "formatted_name": "Bank Account - 10001", "code": "10001", "account_normal": "debit", "credit": 500, "debit": 0, "balance": -500, "currency_code": "USD", "formatted_credit": "500.00", "formatted_debit": "", "formatted_balance": "-500.00", "children": [] }, { "id": 1001, "parent_account_id": null, "name": "Saving Bank Account", "formatted_name": "Saving Bank Account - 10002", "code": "10002", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1002, "parent_account_id": null, "name": "Undeposited Funds", "formatted_name": "Undeposited Funds - 10003", "code": "10003", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1003, "parent_account_id": null, "name": "Petty Cash", "formatted_name": "Petty Cash - 10004", "code": "10004", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1004, "parent_account_id": null, "name": "Computer Equipment", "formatted_name": "Computer Equipment - 10005", "code": "10005", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1005, "parent_account_id": null, "name": "Office Equipment", "formatted_name": "Office Equipment - 10006", "code": "10006", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1006, "parent_account_id": null, "name": "Accounts Receivable (A/R)", "formatted_name": "Accounts Receivable (A/R) - 10007", "code": "10007", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1007, "parent_account_id": null, "name": "Inventory Asset", "formatted_name": "Inventory Asset - 10008", "code": "10008", "account_normal": "debit", "credit": 0, "debit": 1000, "balance": 1000, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "1,000.00", "formatted_balance": "1,000.00", "children": [] }, { "id": 1008, "parent_account_id": null, "name": "Accounts Payable (A/P)", "formatted_name": "Accounts Payable (A/P) - 20001", "code": "20001", "account_normal": "credit", "credit": 2000, "debit": 700, "balance": -1300, "currency_code": "USD", "formatted_credit": "2,000.00", "formatted_debit": "700.00", "formatted_balance": "-1,300.00", "children": [] }, { "id": 1009, "parent_account_id": null, "name": "Owner A Drawings", "formatted_name": "Owner A Drawings - 20002", "code": "20002", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1010, "parent_account_id": null, "name": "Loan", "formatted_name": "Loan - 20003", "code": "20003", "account_normal": "credit", "credit": 0, "debit": 10000, "balance": 10000, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "10,000.00", "formatted_balance": "10,000.00", "children": [] }, { "id": 1011, "parent_account_id": null, "name": "Opening Balance Liabilities", "formatted_name": "Opening Balance Liabilities - 20004", "code": "20004", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1012, "parent_account_id": null, "name": "Revenue Received in Advance", "formatted_name": "Revenue Received in Advance - 20005", "code": "20005", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1013, "parent_account_id": null, "name": "Tax Payable", "formatted_name": "Tax Payable - 20006", "code": "20006", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1014, "parent_account_id": null, "name": "Retained Earnings", "formatted_name": "Retained Earnings - 30001", "code": "30001", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1015, "parent_account_id": null, "name": "Opening Balance Equity", "formatted_name": "Opening Balance Equity - 30002", "code": "30002", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1016, "parent_account_id": null, "name": "Owner's Equity", "formatted_name": "Owner's Equity - 30003", "code": "30003", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1017, "parent_account_id": null, "name": "Drawings", "formatted_name": "Drawings - 30003", "code": "30003", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1018, "parent_account_id": null, "name": "Other Expenses", "formatted_name": "Other Expenses - 40011", "code": "40011", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1019, "parent_account_id": null, "name": "Cost of Goods Sold", "formatted_name": "Cost of Goods Sold - 40002", "code": "40002", "account_normal": "debit", "credit": 200, "debit": 1000, "balance": 800, "currency_code": "USD", "formatted_credit": "200.00", "formatted_debit": "1,000.00", "formatted_balance": "800.00", "children": [] }, { "id": 1020, "parent_account_id": null, "name": "Office expenses", "formatted_name": "Office expenses - 40003", "code": "40003", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1021, "parent_account_id": null, "name": "Rent", "formatted_name": "Rent - 40004", "code": "40004", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1022, "parent_account_id": null, "name": "Exchange Gain or Loss", "formatted_name": "Exchange Gain or Loss - 40005", "code": "40005", "account_normal": "debit", "credit": 0, "debit": 123123, "balance": 123123, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "123,123.00", "formatted_balance": "123,123.00", "children": [] }, { "id": 1023, "parent_account_id": null, "name": "Bank Fees and Charges", "formatted_name": "Bank Fees and Charges - 40006", "code": "40006", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1024, "parent_account_id": null, "name": "Depreciation Expense", "formatted_name": "Depreciation Expense - 40007", "code": "40007", "account_normal": "debit", "credit": 10000, "debit": 0, "balance": -10000, "currency_code": "USD", "formatted_credit": "10,000.00", "formatted_debit": "", "formatted_balance": "-10,000.00", "children": [] }, { "id": 1025, "parent_account_id": null, "name": "Sales of Product Income", "formatted_name": "Sales of Product Income - 50001", "code": "50001", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1026, "parent_account_id": null, "name": "Sales of Service Income", "formatted_name": "Sales of Service Income - 50002", "code": "50002", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1027, "parent_account_id": null, "name": "Uncategorized Income", "formatted_name": "Uncategorized Income - 50003", "code": "50003", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1029, "parent_account_id": null, "name": "Unearned Revenue", "formatted_name": "Unearned Revenue - 50005", "code": "50005", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1030, "parent_account_id": null, "name": "Prepaid Expenses", "formatted_name": "Prepaid Expenses - 100010", "code": "100010", "account_normal": "debit", "credit": 123123, "debit": 0, "balance": -123123, "currency_code": "USD", "formatted_credit": "123,123.00", "formatted_debit": "", "formatted_balance": "-123,123.00", "children": [] }, { "id": 1031, "parent_account_id": null, "name": "Discount", "formatted_name": "Discount - 40008", "code": "40008", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1032, "parent_account_id": null, "name": "Purchase Discount", "formatted_name": "Purchase Discount - 40009", "code": "40009", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1033, "parent_account_id": null, "name": "Other Charges", "formatted_name": "Other Charges - 40010", "code": "40010", "account_normal": "credit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] }, { "id": 1034, "parent_account_id": null, "name": "Chase - Plaid Checking", "formatted_name": "Chase - Plaid Checking", "code": "", "account_normal": "debit", "credit": 0, "debit": 0, "balance": 0, "currency_code": "USD", "formatted_credit": "", "formatted_debit": "", "formatted_balance": "", "children": [] } ], "total": { "credit": 135823, "debit": 135823, "balance": 0, "currency_code": "USD", "formatted_credit": "$135,823.00", "formatted_debit": "$135,823.00", "formatted_balance": "$0.00" } }, "query": { "from_date": "2025-01-01", "to_date": "2025-06-16", "number_format": { "divide_on1000": false, "negative_format": "mines", "show_zero": false, "format_money": "total", "precision": 2 }, "basis": "accrual", "none_zero": false, "none_transactions": true, "only_active": false, "account_ids": [ null ] }, "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "Trial Balance Sheet", "formatted_from_date": "2025/01/01", "formatted_to_date": "2025/06/16", "formatted_date_range": "From 2025/01/01 to 2025/06/16" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/TrialBalanceSheetTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/transactions-by-vendors": { "get": { "operationId": "TransactionsByVendorController_transactionsByVendor", "summary": "Get transactions by vendor", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude transactions", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero values", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "vendorsIds", "required": false, "in": "query", "description": "Array of vendor IDs to include", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Transactions by vendor", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsByVendorResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/TransactionsByVendorTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/transactions-by-customers": { "get": { "operationId": "TransactionsByCustomerController_transactionsByCustomer", "summary": "Get transactions by customer", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude transactions", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero values", "schema": { "default": false, "example": false, "type": "boolean" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Transactions by customer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsByCustomerResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/TransactionsByCustomerTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/transactions-by-reference": { "get": { "operationId": "TransactionsByReferenceController_getTransactionsByReference", "summary": "Get transactions by reference", "parameters": [ { "name": "referenceType", "required": true, "in": "query", "description": "The type of the reference (e.g., SaleInvoice, Bill, etc.)", "schema": { "example": "SaleInvoice", "type": "string" } }, { "name": "referenceId", "required": true, "in": "query", "description": "The ID of the reference", "schema": { "example": "1", "type": "number" } } ], "responses": { "200": { "description": "Transactions by reference" } }, "tags": [ "Reports" ] } }, "/api/reports/receivable-aging-summary": { "get": { "operationId": "ARAgingSummaryController_get", "summary": "Get receivable aging summary", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "agingDaysBefore", "required": false, "in": "query", "description": "Number of days before the aging period starts", "schema": { "example": 30, "type": "number" } }, { "name": "agingPeriods", "required": false, "in": "query", "description": "Number of aging periods to calculate", "schema": { "example": 4, "type": "number" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero values", "schema": { "example": false, "type": "boolean" } }, { "name": "customersIds", "required": false, "in": "query", "description": "Array of customer IDs to include", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Receivable aging summary response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ARAgingSummaryResponseDto" }, "example": { "query": { "as_date": "2025-06-30", "aging_days_before": 30, "aging_periods": 3, "number_format": { "divide_on1000": false, "negative_format": "mines", "show_zero": false, "format_money": "total", "precision": 2 }, "customers_ids": [], "branches_ids": [], "none_zero": false }, "columns": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30 }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60 }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null } ], "data": { "customers": [ { "customer_name": "business", "current": { "amount": 0, "formatted_amount": "" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 5000, "formatted_amount": "5,000.00" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "" } } ], "total": { "amount": 5000, "formatted_amount": "$5,000.00" } }, { "customer_name": "business", "current": { "amount": 0, "formatted_amount": "" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "" } } ], "total": { "amount": 0, "formatted_amount": "$0.00" } }, { "customer_name": "asdsadasd, asd", "current": { "amount": 0, "formatted_amount": "" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "" } } ], "total": { "amount": 0, "formatted_amount": "$0.00" } }, { "customer_name": "Ahmed Bouhuolia", "current": { "amount": 300000, "formatted_amount": "300,000.00" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "" } } ], "total": { "amount": 300000, "formatted_amount": "$300,000.00" } } ], "total": { "current": { "amount": 300000, "formatted_amount": "$300,000.00" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 5000, "formatted_amount": "$5,000.00" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "$0.00" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "$0.00" } } ], "total": { "amount": 305000, "formatted_amount": "$305,000.00" } } }, "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "A/R Aging Summary", "formatted_as_date": "2025/06/30", "formatted_date_range": "As 2025/06/30" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/ARAgingSummaryTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/payable-aging-summary": { "get": { "operationId": "APAgingSummaryController_get", "summary": "Get payable aging summary", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "agingDaysBefore", "required": false, "in": "query", "description": "Number of days before the aging period starts", "schema": { "example": 30, "type": "number" } }, { "name": "agingPeriods", "required": false, "in": "query", "description": "Number of aging periods to calculate", "schema": { "example": 4, "type": "number" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero values", "schema": { "example": false, "type": "boolean" } }, { "name": "vendorsIds", "required": false, "in": "query", "description": "Array of vendor IDs to include", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "A/P aging summary response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APAgingSummaryResponseDto" }, "example": { "data": { "vendors": [ { "vendor_name": "asdasd, asdasd", "current": { "amount": 0, "formatted_amount": "" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "" } } ], "total": { "amount": 0, "formatted_amount": "$0.00" } }, { "vendor_name": "Ahmed Bouhuolia", "current": { "amount": 32000, "formatted_amount": "32,000.00" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "" } } ], "total": { "amount": 32000, "formatted_amount": "$32,000.00" } } ], "total": { "current": { "amount": 32000, "formatted_amount": "$32,000.00" }, "aging": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30, "total": { "amount": 0, "formatted_amount": "$0.00" } }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60, "total": { "amount": 0, "formatted_amount": "$0.00" } }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null, "total": { "amount": 0, "formatted_amount": "$0.00" } } ], "total": { "amount": 32000, "formatted_amount": "$32,000.00" } } }, "columns": [ { "from_period": "2025-06-30", "to_period": "2025-05-31", "before_days": 0, "to_days": 30 }, { "from_period": "2025-05-31", "to_period": "2025-05-01", "before_days": 31, "to_days": 60 }, { "from_period": "2025-05-01", "to_period": null, "before_days": 61, "to_days": null } ], "query": { "as_date": "2025-06-30", "aging_days_before": 30, "aging_periods": 3, "number_format": { "precision": 2, "divide_on1000": false, "show_zero": false, "format_money": "total", "negative_format": "mines" }, "vendors_ids": [], "branches_ids": [], "none_zero": false }, "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "A/P Aging Summary", "formatted_as_date": "2025/06/30", "formatted_date_range": "As 2025/06/30" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/APAgingSummaryTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/inventory-item-details": { "get": { "operationId": "InventoryItemDetailsController_inventoryItemDetails", "summary": "Get inventory item details", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude transactions", "schema": { "type": "boolean" } }, { "name": "itemsIds", "required": false, "in": "query", "description": "Items IDs for the inventory item details", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "warehousesIds", "required": false, "in": "query", "description": "Warehouses IDs for the inventory item details", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "branchesIds", "required": false, "in": "query", "description": "Branches IDs for the inventory item details", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Inventory item details report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryItemDetailsResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/InventoryItemDetailsTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/inventory-valuation": { "get": { "operationId": "InventoryValuationController_getInventoryValuationSheet", "summary": "Retrieves the inventory valuation sheet", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "asDate", "required": false, "in": "query", "description": "The date for which the inventory valuation is requested", "schema": { "example": "2024-01-01T00:00:00.000Z", "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude transactions", "schema": { "example": false, "type": "boolean" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero values", "schema": { "example": false, "type": "boolean" } }, { "name": "onlyActive", "required": false, "in": "query", "description": "Whether to include only active items", "schema": { "example": true, "type": "boolean" } }, { "name": "itemsIds", "required": false, "in": "query", "description": "Array of item IDs to filter", "schema": { "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, { "name": "warehousesIds", "required": false, "in": "query", "description": "Array of warehouse IDs to filter", "schema": { "example": [ 10, 20 ], "type": "array", "items": { "type": "number" } } }, { "name": "branchesIds", "required": false, "in": "query", "description": "Array of branch IDs to filter", "schema": { "example": [ 100, 200 ], "type": "array", "items": { "type": "number" } } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The inventory valuation sheet", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryValuationResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/InventoryValuationTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/sales-tax-liability-summary": { "get": { "operationId": "SalesTaxLiabilitySummaryController_getSalesTaxLiabilitySummary", "summary": "Get sales tax liability summary report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "fromDate", "required": true, "in": "query", "description": "Start date for the sales tax liability summary", "schema": { "format": "date-time", "example": "2024-01-01", "type": "string" } }, { "name": "toDate", "required": true, "in": "query", "description": "End date for the sales tax liability summary", "schema": { "format": "date-time", "example": "2024-01-31", "type": "string" } }, { "name": "basis", "required": true, "in": "query", "description": "Accounting basis for the summary", "schema": { "example": "accrual", "enum": [ "cash", "accrual" ], "type": "string" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Sales tax liability summary report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SalesTaxLiabilitySummaryResponseDto" } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/SalesTaxLiabilitySummaryTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/journal": { "get": { "operationId": "JournalSheetController_journalSheet", "summary": "Journal report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "description": "Whether to hide cents in the number format", "required": false, "name": "noCents", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to divide numbers by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "name": "transactionType", "required": false, "in": "query", "description": "Type of transaction to filter", "schema": { "example": "payment", "type": "string" } }, { "name": "transactionId", "required": false, "in": "query", "description": "ID of the transaction to filter", "schema": { "example": "TXN-12345", "type": "string" } }, { "name": "fromRange", "required": false, "in": "query", "description": "Start range for filtering", "schema": { "example": 100, "type": "number" } }, { "name": "toRange", "required": false, "in": "query", "description": "End range for filtering", "schema": { "example": 200, "type": "number" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Journal report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JournalSheetResponseDto" }, "example": { "query": { "from_date": "2025-06-01", "to_date": "2025-06-21", "from_range": null, "to_range": null, "accounts_ids": [], "number_format": { "no_cents": false, "divide_on1000": false } }, "data": [ { "date": "2025-05-24T22:00:00.000Z", "date_formatted": "2025 May 25", "transaction_type": "Expense", "reference_id": 1000, "reference_type_formatted": "Expense", "entries": [ { "index": 1, "note": null, "account_name": "Prepaid Expenses", "account_code": "100010", "transaction_number": null, "formatted_credit": "123,123.00", "formatted_debit": "", "credit": 123123, "debit": 0 }, { "index": 2, "note": "", "account_name": "Exchange Gain or Loss", "account_code": "40005", "transaction_number": null, "formatted_credit": "", "formatted_debit": "123,123.00", "credit": 0, "debit": 123123 } ], "credit": 123123, "debit": 123123, "formatted_credit": "$123,123.00", "formatted_debit": "$123,123.00" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "transaction_type": "BillPayment", "reference_id": 3, "reference_type_formatted": "BillPayment", "entries": [ { "index": 1, "note": null, "contact_name": "business", "contact_type": "customer", "account_name": "Accounts Payable (A/P)", "account_code": "20001", "transaction_number": "", "formatted_credit": "", "formatted_debit": "500.00", "credit": 0, "debit": 500 }, { "index": 2, "note": null, "account_name": "Bank Account", "account_code": "10001", "transaction_number": "", "formatted_credit": "500.00", "formatted_debit": "", "credit": 500, "debit": 0 } ], "credit": 500, "debit": 500, "formatted_credit": "$500.00", "formatted_debit": "$500.00" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "transaction_type": "VendorCredit", "reference_id": 3, "reference_type_formatted": "VendorCredit", "entries": [ { "index": 1, "note": null, "contact_name": "business", "contact_type": "customer", "account_name": "Accounts Payable (A/P)", "account_code": "20001", "transaction_number": "VC-00001", "formatted_credit": "", "formatted_debit": "100.00", "credit": 0, "debit": 100 }, { "index": 2, "note": null, "account_name": "Cost of Goods Sold", "account_code": "40002", "transaction_number": "VC-00001", "formatted_credit": "100.00", "formatted_debit": "", "credit": 100, "debit": 0 } ], "credit": 100, "debit": 100, "formatted_credit": "$100.00", "formatted_debit": "$100.00" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "transaction_type": "VendorCredit", "reference_id": 4, "reference_type_formatted": "VendorCredit", "entries": [ { "index": 1, "note": null, "contact_name": "business", "contact_type": "customer", "account_name": "Accounts Payable (A/P)", "account_code": "20001", "transaction_number": "VC-00001", "formatted_credit": "", "formatted_debit": "100.00", "credit": 0, "debit": 100 }, { "index": 2, "note": null, "account_name": "Cost of Goods Sold", "account_code": "40002", "transaction_number": "VC-00001", "formatted_credit": "100.00", "formatted_debit": "", "credit": 100, "debit": 0 } ], "credit": 100, "debit": 100, "formatted_credit": "$100.00", "formatted_debit": "$100.00" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "transaction_type": "Bill", "reference_id": 4, "reference_type_formatted": "Bill", "entries": [ { "index": 1, "note": null, "contact_name": "business", "contact_type": "customer", "account_name": "Accounts Payable (A/P)", "account_code": "20001", "transaction_number": null, "formatted_credit": "1,000.00", "formatted_debit": "", "credit": 1000, "debit": 0 }, { "index": 1, "note": null, "account_name": "Cost of Goods Sold", "account_code": "40002", "transaction_number": null, "formatted_credit": "", "formatted_debit": "1,000.00", "credit": 0, "debit": 1000 } ], "credit": 1000, "debit": 1000, "formatted_credit": "$1,000.00", "formatted_debit": "$1,000.00" }, { "date": "2025-06-09T22:00:00.000Z", "date_formatted": "2025 Jun 10", "transaction_type": "Bill", "reference_id": 5, "reference_type_formatted": "Bill", "entries": [ { "index": 1, "note": null, "contact_name": "business", "contact_type": "customer", "account_name": "Accounts Payable (A/P)", "account_code": "20001", "transaction_number": null, "formatted_credit": "1,000.00", "formatted_debit": "", "credit": 1000, "debit": 0 }, { "index": 1, "note": null, "account_name": "Inventory Asset", "account_code": "10008", "transaction_number": null, "formatted_credit": "", "formatted_debit": "1,000.00", "credit": 0, "debit": 1000 } ], "credit": 1000, "debit": 1000, "formatted_credit": "$1,000.00", "formatted_debit": "$1,000.00" }, { "date": "2025-06-15T22:00:00.000Z", "date_formatted": "2025 Jun 16", "transaction_type": "Journal", "reference_id": 1017, "reference_type_formatted": "Journal", "entries": [ { "index": 1, "note": "", "account_name": "Loan", "account_code": "20003", "transaction_number": "REF", "formatted_credit": "", "formatted_debit": "10,000.00", "credit": 0, "debit": 10000 }, { "index": 2, "note": "", "account_name": "Depreciation Expense", "account_code": "40007", "transaction_number": "REF", "formatted_credit": "10,000.00", "formatted_debit": "", "credit": 10000, "debit": 0 } ], "credit": 10000, "debit": 10000, "formatted_credit": "$10,000.00", "formatted_debit": "$10,000.00" } ], "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "", "formatted_date_range": "From 2025/06/01 | To 2025/06/21", "formatted_from_date": "2025/06/01", "formatted_to_date": "2025/06/21" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/JournalSheetTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/profit-loss-sheet": { "get": { "operationId": "ProfitLossSheetController_profitLossSheet", "summary": "Get profit/loss statement report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "basis", "required": true, "in": "query", "description": "The basis for the profit and loss sheet", "schema": { "type": "string" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Whether to exclude zero values", "schema": { "type": "boolean" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Whether to exclude transactions", "schema": { "type": "boolean" } }, { "name": "accountsIds", "required": false, "in": "query", "description": "Array of account IDs to include", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "displayColumnsType", "required": true, "in": "query", "description": "Type of columns to display", "schema": { "enum": [ "total", "date_periods" ], "type": "string" } }, { "name": "displayColumnsBy", "required": true, "in": "query", "description": "How to display columns", "schema": { "type": "string" } }, { "name": "percentageColumn", "required": false, "in": "query", "description": "Whether to show percentage column", "schema": { "type": "boolean" } }, { "name": "percentageRow", "required": false, "in": "query", "description": "Whether to show percentage row", "schema": { "type": "boolean" } }, { "name": "percentageIncome", "required": false, "in": "query", "description": "Whether to show income percentage", "schema": { "type": "boolean" } }, { "name": "percentageExpense", "required": false, "in": "query", "description": "Whether to show expense percentage", "schema": { "type": "boolean" } }, { "name": "previousPeriod", "required": false, "in": "query", "description": "Whether to include previous period", "schema": { "type": "boolean" } }, { "name": "previousPeriodAmountChange", "required": false, "in": "query", "description": "Whether to show previous period amount change", "schema": { "type": "boolean" } }, { "name": "previousPeriodPercentageChange", "required": false, "in": "query", "description": "Whether to show previous period percentage change", "schema": { "type": "boolean" } }, { "name": "previousYear", "required": false, "in": "query", "description": "Whether to include previous year", "schema": { "type": "boolean" } }, { "name": "previousYearAmountChange", "required": false, "in": "query", "description": "Whether to show previous year amount change", "schema": { "type": "boolean" } }, { "name": "previousYearPercentageChange", "required": false, "in": "query", "description": "Whether to show previous year percentage change", "schema": { "type": "boolean" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Profit & loss statement", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProfitLossSheetResponseDto" }, "example": { "query": { "from_date": "2025-01-01", "to_date": "2025-06-22", "number_format": { "divide_on1000": false, "negative_format": "mines", "show_zero": false, "format_money": "total", "precision": 2 }, "basis": "accrual", "none_zero": false, "none_transactions": false, "display_columns_type": "total", "display_columns_by": "year", "accounts_ids": [], "percentage_column": false, "percentage_row": false, "percentage_income": false, "percentage_expense": false, "previous_period": false, "previous_period_amount_change": false, "previous_period_percentage_change": false, "previous_year": false, "previous_year_amount_change": false, "previous_year_percentage_change": false }, "data": [ { "id": "INCOME", "name": "Income", "node_type": "ACCOUNTS", "total": { "amount": 3931, "formatted_amount": "$3,931.00" }, "children": [ { "id": 1025, "name": "Sales of Product Income", "node_type": "ACCOUNT", "total": { "amount": 3931, "formatted_amount": "3,931.00" } }, { "id": 1026, "name": "Sales of Service Income", "node_type": "ACCOUNT", "total": { "amount": 0, "formatted_amount": "" } }, { "id": 1027, "name": "Uncategorized Income", "node_type": "ACCOUNT", "total": { "amount": 0, "formatted_amount": "" } } ] }, { "id": "COST_OF_SALES", "name": "Cost of sales", "node_type": "ACCOUNTS", "total": { "amount": 800, "formatted_amount": "$800.00" }, "children": [ { "id": 1019, "name": "Cost of Goods Sold", "node_type": "ACCOUNT", "total": { "amount": 800, "formatted_amount": "800.00" } } ] }, { "id": "GROSS_PROFIT", "name": "GROSS PROFIT", "node_type": "EQUATION", "total": { "amount": 3131, "formatted_amount": "$3,131.00" } }, { "id": "EXPENSES", "name": "Expenses", "node_type": "ACCOUNTS", "total": { "amount": -111563, "formatted_amount": "-$111,563.00" }, "children": [ { "id": 1020, "name": "Office expenses", "node_type": "ACCOUNT", "total": { "amount": 0, "formatted_amount": "" } }, { "id": 1021, "name": "Rent", "node_type": "ACCOUNT", "total": { "amount": -92831, "formatted_amount": "-92,831.00" } }, { "id": 1023, "name": "Bank Fees and Charges", "node_type": "ACCOUNT", "total": { "amount": -8732, "formatted_amount": "-8,732.00" } }, { "id": 1024, "name": "Depreciation Expense", "node_type": "ACCOUNT", "total": { "amount": -10000, "formatted_amount": "-10,000.00" } } ] }, { "id": "NET_OPERATING_INCOME", "name": "NET OPERATING INCOME", "node_type": "EQUATION", "total": { "amount": 114694, "formatted_amount": "$114,694.00" } }, { "id": "OTHER_INCOME", "name": "Other income", "node_type": "ACCOUNTS", "total": { "amount": 0, "formatted_amount": "$0.00" }, "children": [ { "id": 1031, "name": "Discount", "node_type": "ACCOUNT", "total": { "amount": 0, "formatted_amount": "" } }, { "id": 1033, "name": "Other Charges", "node_type": "ACCOUNT", "total": { "amount": 0, "formatted_amount": "" } } ] }, { "id": "OTHER_EXPENSES", "name": "Other expenses", "node_type": "ACCOUNTS", "total": { "amount": 119149, "formatted_amount": "$119,149.00" }, "children": [ { "id": 1018, "name": "Other Expenses", "node_type": "ACCOUNT", "total": { "amount": -1243, "formatted_amount": "-1,243.00" } }, { "id": 1022, "name": "Exchange Gain or Loss", "node_type": "ACCOUNT", "total": { "amount": 123123, "formatted_amount": "123,123.00" } }, { "id": 1032, "name": "Purchase Discount", "node_type": "ACCOUNT", "total": { "amount": -2731, "formatted_amount": "-2,731.00" } } ] }, { "id": "NET_INCOME", "name": "NET INCOME", "node_type": "EQUATION", "total": { "amount": -4455, "formatted_amount": "-$4,455.00" } } ], "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "Cashflow Statement", "formatted_from_date": "2025/01/01", "formatted_to_date": "2025/06/22", "formatted_date_range": "From 2025/01/01 | To 2025/06/22" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/ProfitLossSheetTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/reports/cashflow-statement": { "get": { "operationId": "CashflowController_getCashflow", "summary": "Get cashflow statement report", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Start date for the cash flow statement period", "schema": { "format": "date-time", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "End date for the cash flow statement period", "schema": { "format": "date-time", "type": "string" } }, { "name": "displayColumnsBy", "required": false, "in": "query", "description": "Display columns by time period", "schema": { "default": "year", "enum": [ "day", "month", "year", "quarter" ], "type": "string" } }, { "name": "displayColumnsType", "required": false, "in": "query", "description": "Type of column display", "schema": { "default": "total", "enum": [ "total", "date_periods" ], "type": "string" } }, { "name": "noneZero", "required": false, "in": "query", "description": "Filter out zero values", "schema": { "default": false, "type": "boolean" } }, { "name": "noneTransactions", "required": false, "in": "query", "description": "Filter out transactions", "schema": { "default": false, "type": "boolean" } }, { "description": "Number of decimal places to display", "required": false, "name": "precision", "in": "query", "schema": { "example": 2, "type": "number" } }, { "description": "Whether to divide the number by 1000", "required": false, "name": "divideOn1000", "in": "query", "schema": { "example": false, "type": "boolean" } }, { "description": "Whether to show zero values", "required": false, "name": "showZero", "in": "query", "schema": { "example": true, "type": "boolean" } }, { "description": "How to format money values", "required": false, "name": "formatMoney", "in": "query", "schema": { "example": "total", "enum": [ "total", "always", "none" ], "type": "string" } }, { "description": "How to format negative numbers", "required": false, "name": "negativeFormat", "in": "query", "schema": { "example": "parentheses", "enum": [ "parentheses", "mines" ], "type": "string" } }, { "name": "basis", "required": false, "in": "query", "description": "Basis for the cash flow statement", "schema": { "type": "string" } }, { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Cashflow statement report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashflowStatementResponseDto" }, "example": { "data": [ { "id": "OPERATING", "label": "OPERATING ACTIVITIES", "footer_label": "Net cash provided by operating activities", "section_type": "AGGREGATE", "children": [ { "id": "NET_INCOME", "label": "Net income", "total": { "amount": -113923, "formatted_amount": "-113,923.00", "currency_code": "USD" }, "section_type": "NET_INCOME", "children": [] }, { "section_type": "ACCOUNTS", "id": "OPERATING_ACCOUNTS", "label": "Adjustments net income by operating activities.", "children": [ { "id": 1006, "code": "10007", "label": "Accounts Receivable (A/R)", "account_type": "accounts-receivable", "adjustment_type": "mines", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1007, "code": "10008", "label": "Inventory Asset", "account_type": "inventory", "adjustment_type": "mines", "total": { "amount": -1000, "formatted_amount": "-1,000.00", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1008, "code": "20001", "label": "Accounts Payable (A/P)", "account_type": "accounts-payable", "adjustment_type": "plus", "total": { "amount": 1300, "formatted_amount": "1,300.00", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1013, "code": "20006", "label": "Tax Payable", "account_type": "tax-payable", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1030, "code": "100010", "label": "Prepaid Expenses", "account_type": "other-current-asset", "adjustment_type": "mines", "total": { "amount": 123123, "formatted_amount": "123,123.00", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1009, "code": "20002", "label": "Owner A Drawings", "account_type": "other-current-liability", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1010, "code": "20003", "label": "Loan", "account_type": "other-current-liability", "adjustment_type": "plus", "total": { "amount": -10000, "formatted_amount": "-10,000.00", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1011, "code": "20004", "label": "Opening Balance Liabilities", "account_type": "other-current-liability", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1012, "code": "20005", "label": "Revenue Received in Advance", "account_type": "other-current-liability", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1029, "code": "50005", "label": "Unearned Revenue", "account_type": "other-current-liability", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" } ], "total": { "amount": 113423, "formatted_amount": "$113,423.00", "currency_code": "USD" } } ], "total": { "amount": -500, "formatted_amount": "-$500.00", "currency_code": "USD" } }, { "section_type": "ACCOUNTS", "id": "INVESTMENT", "label": "INVESTMENT ACTIVITIES", "footer_label": "cash_flow_statement.net_cash_investing", "children": [ { "id": 1004, "code": "10005", "label": "Computer Equipment", "account_type": "fixed-asset", "adjustment_type": "mines", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1005, "code": "10006", "label": "Office Equipment", "account_type": "fixed-asset", "adjustment_type": "mines", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" } ], "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" } }, { "section_type": "ACCOUNTS", "id": "FINANCIAL", "label": "FINANCIAL ACTIVITIES", "footer_label": "cash_flow_statement.net_cash_financing", "children": [ { "id": 1014, "code": "30001", "label": "Retained Earnings", "account_type": "equity", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1015, "code": "30002", "label": "Opening Balance Equity", "account_type": "equity", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1016, "code": "30003", "label": "Owner's Equity", "account_type": "equity", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1017, "code": "30003", "label": "Drawings", "account_type": "equity", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" } ], "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" } }, { "section_type": "CASH_AT_BEGINNING", "id": "CASH_BEGINNING_PERIOD", "label": "Cash at beginning of period", "children": [ { "id": 1002, "code": "10003", "label": "Undeposited Funds", "account_type": "cash", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1003, "code": "10004", "label": "Petty Cash", "account_type": "cash", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1000, "code": "10001", "label": "Bank Account", "account_type": "bank", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1001, "code": "10002", "label": "Saving Bank Account", "account_type": "bank", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" }, { "id": 1034, "code": "", "label": "Chase - Plaid Checking", "account_type": "bank", "adjustment_type": "plus", "total": { "amount": 0, "formatted_amount": "", "currency_code": "USD" }, "section_type": "ACCOUNT" } ], "total": { "amount": 0, "formatted_amount": "$0.00", "currency_code": "USD" } }, { "section_type": "TOTAL", "id": "NET_CASH_INCREASE", "label": "NET CASH INCREASE FOR PERIOD", "total": { "amount": -500, "formatted_amount": "-$500.00", "currency_code": "USD" } }, { "section_type": "TOTAL", "id": "CASH_END_PERIOD", "label": "CASH AT END OF PERIOD", "total": { "amount": -500, "formatted_amount": "-$500.00", "currency_code": "USD" } } ], "query": { "display_columns_type": "total", "display_columns_by": "year", "from_date": "2025-01-01", "to_date": "2025-06-16", "number_format": { "precision": 2, "divide_on1000": false, "show_zero": false, "format_money": "total", "negative_format": "mines" }, "none_zero": false, "none_transactions": false, "basis": "cash" }, "meta": { "organization_name": "BIGCAPITAL, INC", "base_currency": "USD", "date_format": "DD MMM yyyy", "is_cost_compute_running": false, "sheet_name": "Statement of Cash Flow", "formatted_to_date": "2025/06/16", "formatted_from_date": "2025/01/01", "formatted_date_range": "From 2025/01/01 | To 2025/06/16" } } }, "application/json+table": { "schema": { "$ref": "#/components/schemas/CashflowStatementTableResponseDto" } } } } }, "tags": [ "Reports" ] } }, "/api/dashboard/boot": { "get": { "operationId": "DashboardController_getBootMeta", "summary": "Get dashboard boot metadata", "parameters": [], "responses": { "200": { "description": "The dashboard details have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetDashboardBootMetaResponseDto" } } } } }, "tags": [ "Dashboard" ] } }, "/api/roles": { "post": { "operationId": "RolesController_createRole", "summary": "Create a new role", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRoleDto" } } } }, "responses": { "200": { "description": "Role created successfully" } }, "tags": [ "Roles" ] }, "get": { "operationId": "RolesController_getRoles", "summary": "Get all roles", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "List of all roles", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RoleResponseDto" } } } } } }, "tags": [ "Roles" ] } }, "/api/roles/{id}": { "put": { "operationId": "RolesController_editRole", "summary": "Edit an existing role", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Role ID", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditRoleDto" } } } }, "responses": { "200": { "description": "Role updated successfully" } }, "tags": [ "Roles" ] }, "delete": { "operationId": "RolesController_deleteRole", "summary": "Delete a role", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Role ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Role deleted successfully" } }, "tags": [ "Roles" ] }, "get": { "operationId": "RolesController_getRole", "summary": "Get a specific role by ID", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Role ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Role details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleResponseDto" } } } } }, "tags": [ "Roles" ] } }, "/api/roles/permissions/schema": { "get": { "operationId": "RolesController_getRolePermissionsSchema", "summary": "Get role permissions schema", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Role permissions schema" } }, "tags": [ "Roles" ] } }, "/api/subscription": { "get": { "operationId": "SubscriptionsController_getSubscriptions", "summary": "Get all subscriptions for the current tenant", "parameters": [], "responses": { "200": { "description": "List of subscriptions retrieved successfully" } }, "tags": [ "Subscriptions" ] } }, "/api/subscription/lemon/checkout_url": { "post": { "operationId": "SubscriptionsController_getCheckoutUrl", "summary": "Get LemonSqueezy checkout URL", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "variantId": { "type": "string", "description": "The variant ID for the subscription plan" } }, "required": [ "variantId" ] } } } }, "responses": { "200": { "description": "Checkout URL retrieved successfully" } }, "tags": [ "Subscriptions" ] } }, "/api/subscription/cancel": { "post": { "operationId": "SubscriptionsController_cancelSubscription", "summary": "Cancel the current organization subscription", "parameters": [], "responses": { "200": { "description": "Subscription canceled successfully" } }, "tags": [ "Subscriptions" ] } }, "/api/subscription/resume": { "post": { "operationId": "SubscriptionsController_resumeSubscription", "summary": "Resume the current organization subscription", "parameters": [], "responses": { "200": { "description": "Subscription resumed successfully" } }, "tags": [ "Subscriptions" ] } }, "/api/subscription/change": { "post": { "operationId": "SubscriptionsController_changeSubscriptionPlan", "summary": "Change the subscription plan of the current organization", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "variant_id": { "type": "number", "description": "The variant ID for the new subscription plan" } }, "required": [ "variant_id" ] } } } }, "responses": { "200": { "description": "Subscription plan changed successfully" } }, "tags": [ "Subscriptions" ] } }, "/api/webhooks/lemon": { "post": { "operationId": "SubscriptionsLemonWebhook_lemonWebhooks", "parameters": [], "responses": { "201": { "description": "" } }, "tags": [ "Subscriptions" ] } }, "/api/organization/build": { "post": { "operationId": "OrganizationController_build", "summary": "Build organization database", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BuildOrganizationDto" } } } }, "responses": { "200": { "description": "The organization database has been initialized", "content": { "application/json": { "example": { "type": "success", "code": "ORGANIZATION.DATABASE.INITIALIZED", "message": "The organization database has been initialized.", "data": { "job_id": "1" } } } } }, "500": { "description": "", "content": { "application/json": { "example": { "errors": [ { "statusCode": 500, "type": "TENANT_ALREADY_BUILT", "message": null } ] } } } } }, "tags": [ "Organization" ] } }, "/api/organization/build/{buildJobId}": { "get": { "operationId": "OrganizationController_buildJob", "summary": "Gets the organization build job details", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "buildJobId", "required": true, "in": "path", "description": "The build job id", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the organization build job details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationBuildJobResponseDto" } } } } }, "tags": [ "Organization" ] } }, "/api/organization/current": { "get": { "operationId": "OrganizationController_currentOrganization", "summary": "Get current organization", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the current organization", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetCurrentOrganizationResponseDto" } } } } }, "tags": [ "Organization" ] } }, "/api/organization/base-currency-mutate": { "get": { "operationId": "OrganizationController_baseCurrencyMutate", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Organization" ] } }, "/api/organization": { "put": { "operationId": "OrganizationController_updateOrganization", "summary": "Update organization information", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateOrganizationDto" } } } }, "responses": { "200": { "description": "Organization information has been updated successfully" } }, "tags": [ "Organization" ] } }, "/api/payment-services": { "get": { "operationId": "PaymentServicesController_getPaymentServicesSpecificInvoice", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Payment Services" ] } }, "/api/payment-services/state": { "get": { "operationId": "PaymentServicesController_getPaymentMethodsState", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Payment Services" ] } }, "/api/payment-services/{paymentServiceId}": { "get": { "operationId": "PaymentServicesController_getPaymentService", "parameters": [ { "name": "paymentServiceId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Payment Services" ] } }, "/api/payment-services/{paymentMethodId}": { "post": { "operationId": "PaymentServicesController_updatePaymentMethod", "parameters": [ { "name": "paymentMethodId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditPaymentMethodDTO" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Payment Services" ] }, "delete": { "operationId": "PaymentServicesController_deletePaymentMethod", "parameters": [ { "name": "paymentMethodId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Payment Services" ] } }, "/api/export": { "get": { "operationId": "ExportController_export", "summary": "Retrieves exported the given resource.", "parameters": [ { "name": "accept", "required": true, "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Export" ] } }, "/api/views/resource/{resourceModel}": { "get": { "operationId": "ViewsController_getResourceViews", "summary": "Get the given resource views", "parameters": [ { "name": "resourceModel", "required": true, "in": "path", "description": "The resource model to get views for", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Specific resource views", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ViewResponseDto" } } } } }, "tags": [ "Views" ] } }, "/api/currencies": { "post": { "operationId": "CurrenciesController_create", "summary": "Create a new currency", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCurrencyDto" } } } }, "responses": { "201": { "description": "The currency has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseDto" } } } }, "400": { "description": "Invalid input data." } }, "tags": [ "Currencies" ] }, "get": { "operationId": "CurrenciesController_findAll", "summary": "Get all currencies", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "List of all currencies.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyResponseDto" } } } } } }, "tags": [ "Currencies" ] } }, "/api/currencies/{id}": { "put": { "operationId": "CurrenciesController_edit", "summary": "Edit an existing currency", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "description": "Currency ID", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditCurrencyDto" } } } }, "responses": { "200": { "description": "The currency has been successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseDto" } } } }, "400": { "description": "Invalid input data." }, "404": { "description": "Currency not found." } }, "tags": [ "Currencies" ] } }, "/api/currencies/{code}": { "delete": { "operationId": "CurrenciesController_delete", "summary": "Delete a currency by code", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "code", "required": true, "in": "path", "description": "Currency code", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The currency has been successfully deleted." }, "404": { "description": "Currency not found." } }, "tags": [ "Currencies" ] } }, "/api/currencies/{currencyCode}": { "get": { "operationId": "CurrenciesController_findOne", "summary": "Get a currency by code", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "currencyCode", "required": true, "in": "path", "description": "Currency code", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The currency details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseDto" } } } }, "404": { "description": "Currency not found." } }, "tags": [ "Currencies" ] } }, "/api/date-formats": { "get": { "operationId": "MiscellaneousController_getDateFormats", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DateFormatResponseDto" } } } } } }, "tags": [ "misc" ] } }, "/api/users/{id}": { "put": { "operationId": "UsersController_editUser", "summary": "Edit details of the given user.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditUserDto" } } } }, "responses": { "200": { "description": "The user has been edited successfully.", "content": { "application/json": { "schema": { "example": { "id": 1, "message": "The user has been edited successfully." } } } } } }, "tags": [ "Users" ] }, "delete": { "operationId": "UsersController_deleteUser", "summary": "Soft deleting the given user.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The user has been deleted successfully.", "content": { "application/json": { "schema": { "example": { "id": 1, "message": "The user has been deleted successfully." } } } } } }, "tags": [ "Users" ] }, "get": { "operationId": "UsersController_getUser", "summary": "Retrieve user details of the given user id.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "User details retrieved successfully." } }, "tags": [ "Users" ] } }, "/api/users": { "get": { "operationId": "UsersController_listUsers", "summary": "Retrieve the list of users.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "page_size", "required": true, "in": "query", "schema": { "type": "number" } }, { "name": "page", "required": true, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "List of users retrieved successfully." } }, "tags": [ "Users" ] } }, "/api/users/{id}/activate": { "put": { "operationId": "UsersController_activateUser", "summary": "Activate the given user.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The user has been activated successfully.", "content": { "application/json": { "schema": { "example": { "id": 1, "message": "The user has been activated successfully." } } } } } }, "tags": [ "Users" ] } }, "/api/users/{id}/inactivate": { "put": { "operationId": "UsersController_inactivateUser", "summary": "Inactivate the given user.", "parameters": [ { "name": "Authorization", "in": "header", "description": "Value must be 'Bearer ' where is an API key prefixed with 'bc_' or a JWT token.", "required": true, "schema": { "type": "string", "example": "Bearer bc_1234567890abcdef" } }, { "name": "organization-id", "in": "header", "description": "Required if Authorization is a JWT token. The organization ID to operate within.", "required": true, "schema": { "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "The user has been inactivated successfully.", "content": { "application/json": { "schema": { "example": { "id": 1, "message": "The user has been inactivated successfully." } } } } } }, "tags": [ "Users" ] } }, "/api/invite": { "patch": { "operationId": "UsersInviteController_sendInvite", "summary": "Send an invitation to a new user.", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendInviteUserDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Users" ] } }, "/api/invite/users/{id}/resend": { "post": { "operationId": "UsersInviteController_resendInvite", "summary": "Resend an invitation to an existing user.", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Users" ] } }, "/api/invite/accept/{token}": { "post": { "operationId": "UsersInvitePublicController_acceptInvite", "summary": "Accept a user invitation.", "parameters": [ { "name": "token", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InviteUserDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Users" ] } }, "/api/invite/check/{token}": { "get": { "operationId": "UsersInvitePublicController_checkInvite", "summary": "Check if an invitation token is valid.", "parameters": [ { "name": "token", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Users" ] } }, "/api/contacts/auto-complete": { "get": { "operationId": "ContactsController_getAutoComplete", "summary": "Get the auto-complete contacts", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Contacts" ] } }, "/api/contacts/{id}": { "get": { "operationId": "ContactsController_getContact", "summary": "Get contact by ID (customer or vendor)", "parameters": [ { "name": "id", "required": true, "in": "path", "description": "Contact ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Contact details (under \"customer\" key for form/duplicate use)" } }, "tags": [ "Contacts" ] } }, "/api/contacts/{id}/activate": { "patch": { "operationId": "ContactsController_activateContact", "summary": "Activate a contact", "parameters": [ { "name": "id", "required": true, "in": "path", "description": "Contact ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Contacts" ] } }, "/api/contacts/{id}/inactivate": { "patch": { "operationId": "ContactsController_inactivateContact", "summary": "Inactivate a contact", "parameters": [ { "name": "id", "required": true, "in": "path", "description": "Contact ID", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Contacts" ] } }, "/api/exchange-rates/latest": { "get": { "operationId": "ExchangeRatesController_getLatestExchangeRate", "summary": "Get the latest exchange rate", "parameters": [ { "name": "from_currency", "required": false, "in": "query", "description": "Source currency code (ISO 4217)", "schema": { "example": "USD", "type": "string" } }, { "name": "to_currency", "required": false, "in": "query", "description": "Target currency code (ISO 4217)", "schema": { "example": "EUR", "type": "string" } } ], "responses": { "200": { "description": "Successfully retrieved exchange rate", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExchangeRateLatestResponseDto" } } } }, "400": { "description": "Invalid currency code or service error" } }, "tags": [ "Exchange Rates" ] } } }, "info": { "title": "Bigcapital", "description": "Financial accounting software", "version": "1.0", "contact": {} }, "tags": [], "servers": [], "components": { "schemas": { "AuthSigninResponseDto": { "type": "object", "properties": { "accessToken": { "type": "string", "description": "JWT access token" }, "organizationId": { "type": "string", "description": "Organization ID" }, "tenantId": { "type": "number", "description": "Tenant ID" }, "userId": { "type": "number", "description": "User ID" } }, "required": [ "accessToken", "organizationId", "tenantId", "userId" ] }, "AuthMetaResponseDto": { "type": "object", "properties": { "signupDisabled": { "type": "boolean", "description": "Whether signup is disabled" } }, "required": [ "signupDisabled" ] }, "AuthSigninDto": { "type": "object", "properties": { "password": { "type": "string", "example": "password123", "description": "User password" }, "email": { "type": "string", "example": "user@example.com", "description": "User email address" } }, "required": [ "password", "email" ] }, "AuthSignupDto": { "type": "object", "properties": { "firstName": { "type": "string", "example": "John", "description": "User first name" }, "lastName": { "type": "string", "example": "Doe", "description": "User last name" }, "email": { "type": "string", "example": "john.doe@example.com", "description": "User email address" }, "password": { "type": "string", "example": "password123", "description": "User password" } }, "required": [ "firstName", "lastName", "email", "password" ] }, "AuthSignupVerifyDto": { "type": "object", "properties": { "email": { "type": "string", "example": "user@example.com", "description": "User email address" }, "token": { "type": "string", "example": "confirmation-token", "description": "Signup confirmation token from email" } }, "required": [ "email", "token" ] }, "AuthSendResetPasswordDto": { "type": "object", "properties": { "email": { "type": "string", "example": "user@example.com", "description": "User email address to send reset link to" } }, "required": [ "email" ] }, "AuthResetPasswordDto": { "type": "object", "properties": { "password": { "type": "string", "example": "new-password", "description": "New password" } }, "required": [ "password" ] }, "ApiKeyResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "API key ID" }, "key": { "type": "string", "example": "bc_1234567890abcdef", "description": "The API key string" } }, "required": [ "id", "key" ] }, "ApiKeyRevokeResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "API key ID" }, "revoked": { "type": "boolean", "example": true, "description": "Whether the API key was revoked" } }, "required": [ "id", "revoked" ] }, "ApiKeyListItemDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "API key ID" }, "name": { "type": "string", "example": "My API Key", "description": "API key name" }, "token": { "type": "string", "example": "bc_1234...", "description": "First 8 characters of the API key token" }, "createdAt": { "format": "date-time", "type": "string", "example": "2024-01-01T00:00:00.000Z", "description": "Creation date" }, "expiresAt": { "format": "date-time", "type": "string", "example": "2024-12-31T23:59:59.000Z", "description": "Expiration date" }, "revoked": { "type": "boolean", "example": false, "description": "Whether the key is revoked" } }, "required": [ "id", "name", "token", "createdAt", "revoked" ] }, "ApiKeyListResponseDto": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ApiKeyListItemDto" } } }, "required": [ "data" ] }, "GenerateApiKeyDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Optional name for the API key", "example": "My API Key" } } }, "ItemErrorResponseDto": { "type": "object", "properties": { "statusCode": { "type": "number", "description": "HTTP status code", "example": 400 }, "type": { "type": "string", "description": "Error type identifier", "enum": [ "ITEM_NAME_EXISTS", "ITEM_CATEOGRY_NOT_FOUND", "COST_ACCOUNT_NOT_COGS", "COST_ACCOUNT_NOT_FOUMD", "SELL_ACCOUNT_NOT_FOUND", "SELL_ACCOUNT_NOT_INCOME", "INVENTORY_ACCOUNT_NOT_FOUND", "INVENTORY_ACCOUNT_NOT_INVENTORY", "ITEMS_HAVE_ASSOCIATED_TRANSACTIONS", "ITEM_HAS_ASSOCIATED_TRANSACTINS", "ITEM_HAS_ASSOCIATED_INVENTORY_ADJUSTMENT", "ITEM_CANNOT_CHANGE_INVENTORY_TYPE", "TYPE_CANNOT_CHANGE_WITH_ITEM_HAS_TRANSACTIONS", "INVENTORY_ACCOUNT_CANNOT_MODIFIED", "PURCHASE_TAX_RATE_NOT_FOUND", "SELL_TAX_RATE_NOT_FOUND", "INCOME_ACCOUNT_REQUIRED_WITH_SELLABLE_ITEM", "COST_ACCOUNT_REQUIRED_WITH_PURCHASABLE_ITEM", "NOT_FOUND", "ITEMS_NOT_FOUND" ], "example": "ITEM_NAME_EXISTS" }, "message": { "type": "string", "description": "Human-readable error message", "example": "The item name is already exist.", "nullable": true }, "payload": { "type": "object", "description": "Additional error payload data", "nullable": true } }, "required": [ "statusCode", "type" ] }, "ItemApiErrorResponseDto": { "type": "object", "properties": { "errors": { "description": "Array of error details", "type": "array", "items": { "$ref": "#/components/schemas/ItemErrorResponseDto" } } }, "required": [ "errors" ] }, "ValidateBulkDeleteItemsResponseDto": { "type": "object", "properties": { "deletableCount": { "type": "number", "description": "Number of items that can be deleted", "example": 2 }, "nonDeletableCount": { "type": "number", "description": "Number of items that cannot be deleted", "example": 1 }, "deletableIds": { "description": "IDs of items that can be deleted", "example": [ 1, 2 ], "type": "array", "items": { "type": "number" } }, "nonDeletableIds": { "description": "IDs of items that cannot be deleted", "example": [ 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "deletableCount", "nonDeletableCount", "deletableIds", "nonDeletableIds" ] }, "ItemReceiptsResponseDto": { "type": "object", "properties": { "receiptId": { "type": "number", "example": 123, "description": "The unique identifier of the receipt." }, "receipNumber": { "type": "string", "example": "RCPT-2024-001", "description": "The receipt number." }, "referenceNumber": { "type": "string", "example": "REF-2024-001", "description": "The reference number for the receipt." }, "receiptDate": { "type": "string", "example": "2024-06-01", "description": "The date of the receipt." }, "formattedReceiptDate": { "type": "string", "example": "01/06/2024", "description": "The formatted date of the receipt." }, "amount": { "type": "number", "example": 1000, "description": "The amount for the receipt." }, "formattedAmount": { "type": "string", "example": "$1,000.00", "description": "The formatted amount for the receipt." }, "quantity": { "type": "number", "example": 10, "description": "The quantity of items in the receipt." }, "formattedQuantity": { "type": "string", "example": "10", "description": "The formatted quantity of items in the receipt." }, "rate": { "type": "number", "example": 100, "description": "The rate per item in the receipt." }, "formattedRate": { "type": "string", "example": "$100.00", "description": "The formatted rate per item in the receipt." }, "customerDisplayName": { "type": "string", "example": "John Doe", "description": "The display name of the customer." }, "customerCurrencyCode": { "type": "string", "example": "USD", "description": "The currency code of the customer." } }, "required": [ "receiptId", "receipNumber", "referenceNumber", "receiptDate", "formattedReceiptDate", "amount", "formattedAmount", "quantity", "formattedQuantity", "rate", "formattedRate", "customerDisplayName", "customerCurrencyCode" ] }, "ItemEstimatesResponseDto": { "type": "object", "properties": { "estimateId": { "type": "number", "example": 123, "description": "The unique identifier of the estimate." }, "estimateNumber": { "type": "string", "example": "EST-2024-001", "description": "The estimate number." }, "referenceNumber": { "type": "string", "example": "REF-2024-001", "description": "The reference number for the estimate." }, "estimateDate": { "type": "string", "example": "2024-06-01", "description": "The date of the estimate." }, "formattedEstimateDate": { "type": "string", "example": "01/06/2024", "description": "The formatted estimate date." }, "amount": { "type": "number", "example": 1000, "description": "The amount of the estimate." }, "formattedAmount": { "type": "string", "example": "$1,000.00", "description": "The formatted amount of the estimate." }, "quantity": { "type": "number", "example": 5, "description": "The quantity in the estimate." }, "formattedQuantity": { "type": "string", "example": "5", "description": "The formatted quantity in the estimate." }, "rate": { "type": "number", "example": 200, "description": "The rate in the estimate." }, "formattedRate": { "type": "string", "example": "$200.00", "description": "The formatted rate in the estimate." }, "customerDisplayName": { "type": "string", "example": "Acme Corp", "description": "The display name of the customer." }, "customerCurrencyCode": { "type": "string", "example": "USD", "description": "The currency code of the customer." } }, "required": [ "estimateId", "estimateNumber", "referenceNumber", "estimateDate", "formattedEstimateDate", "amount", "formattedAmount", "quantity", "formattedQuantity", "rate", "formattedRate", "customerDisplayName", "customerCurrencyCode" ] }, "ItemBillsResponseDto": { "type": "object", "properties": { "billId": { "type": "number", "example": 123, "description": "The unique identifier of the bill." }, "billNumber": { "type": "string", "example": "BILL-2024-001", "description": "The bill number." }, "referenceNumber": { "type": "string", "example": "REF-2024-001", "description": "The reference number of the bill." }, "billDate": { "type": "string", "example": "2024-06-01", "description": "The date of the bill." }, "formattedBillDate": { "type": "string", "example": "01/06/2024", "description": "The formatted date of the bill." }, "billDueDate": { "type": "string", "example": "2024-06-15", "description": "The due date of the bill." }, "formattedBillDueDate": { "type": "string", "example": "15/06/2024", "description": "The formatted due date of the bill." }, "amount": { "type": "number", "example": 1000, "description": "The amount of the bill item." }, "formattedAmount": { "type": "string", "example": "$1,000.00", "description": "The formatted amount of the bill item." }, "quantity": { "type": "number", "example": 5, "description": "The quantity of the item in the bill." }, "formattedQuantity": { "type": "string", "example": "5", "description": "The formatted quantity of the item in the bill." }, "rate": { "type": "number", "example": 200, "description": "The rate of the item in the bill." }, "formattedRate": { "type": "string", "example": "$200.00", "description": "The formatted rate of the item in the bill." }, "vendorDisplayName": { "type": "string", "example": "Acme Vendor", "description": "The display name of the vendor." }, "vendorCurrencyCode": { "type": "string", "example": "USD", "description": "The currency code of the vendor." } }, "required": [ "billId", "billNumber", "referenceNumber", "billDate", "formattedBillDate", "billDueDate", "formattedBillDueDate", "amount", "formattedAmount", "quantity", "formattedQuantity", "rate", "formattedRate", "vendorDisplayName", "vendorCurrencyCode" ] }, "ItemInvoiceResponseDto": { "type": "object", "properties": { "invoiceId": { "type": "number", "example": 123, "description": "The unique identifier of the invoice." }, "invoiceNumber": { "type": "string", "example": "INV-2024-001", "description": "The invoice number." }, "referenceNumber": { "type": "string", "example": "REF-2024-001", "description": "The reference number of the invoice." }, "invoiceDate": { "type": "string", "example": "2024-06-01", "description": "The date of the invoice." }, "formattedInvoiceDate": { "type": "string", "example": "01/06/2024", "description": "The formatted date of the invoice." }, "amount": { "type": "number", "example": 1000, "description": "The amount of the invoice item." }, "formattedAmount": { "type": "string", "example": "$1,000.00", "description": "The formatted amount of the invoice item." }, "quantity": { "type": "number", "example": 5, "description": "The quantity of the item in the invoice." }, "formattedQuantity": { "type": "string", "example": "5", "description": "The formatted quantity of the item in the invoice." }, "rate": { "type": "number", "example": 200, "description": "The rate of the item in the invoice." }, "formattedRate": { "type": "string", "example": "$200.00", "description": "The formatted rate of the item in the invoice." }, "customerDisplayName": { "type": "string", "example": "Acme Corp", "description": "The display name of the customer." }, "customerCurrencyCode": { "type": "string", "example": "USD", "description": "The currency code of the customer." } }, "required": [ "invoiceId", "invoiceNumber", "referenceNumber", "invoiceDate", "formattedInvoiceDate", "amount", "formattedAmount", "quantity", "formattedQuantity", "rate", "formattedRate", "customerDisplayName", "customerCurrencyCode" ] }, "Pagination": { "type": "object", "properties": { "total": { "type": "number", "description": "Total number of items across all pages", "example": 100 }, "page": { "type": "number", "description": "Current page number (1-based)", "example": 1, "minimum": 1 }, "pageSize": { "type": "number", "description": "Number of items per page", "example": 10, "minimum": 1 } }, "required": [ "total", "page", "pageSize" ] }, "PaginatedResponseDto": { "type": "object", "properties": { "pagination": { "description": "Pagination metadata", "allOf": [ { "$ref": "#/components/schemas/Pagination" } ] } }, "required": [ "pagination" ] }, "ItemResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the item", "example": 1 }, "name": { "type": "string", "description": "The name of the item", "example": "Ergonomic Office Chair Model X-2000" }, "type": { "type": "string", "description": "The type of the item", "enum": [ "service", "non-inventory", "inventory" ], "example": "inventory" }, "typeFormatted": { "type": "string", "description": "The formatted type of the item", "example": "Inventory Item" }, "code": { "type": "string", "description": "The item code/SKU", "example": "CHAIR-X2000" }, "sellable": { "type": "boolean", "description": "Whether the item can be sold", "example": true }, "purchasable": { "type": "boolean", "description": "Whether the item can be purchased", "example": true }, "sellPrice": { "type": "number", "description": "The selling price of the item", "example": 399.99 }, "sellPriceFormatted": { "type": "string", "description": "The formatted selling price of the item", "example": "$399.99" }, "costPrice": { "type": "number", "description": "The cost price of the item", "example": 299.99 }, "costPriceFormatted": { "type": "string", "description": "The formatted cost price of the item", "example": "$299.99" }, "currencyCode": { "type": "string", "description": "The currency code of the item", "example": "USD" }, "costAccountId": { "type": "number", "description": "The ID of the cost account", "example": 1001 }, "costAccount": { "type": "object", "description": "The cost account details" }, "inventoryAccountId": { "type": "number", "description": "The ID of the inventory account", "example": 3001 }, "inventoryAccount": { "type": "object", "description": "The inventory account details" }, "sellAccountId": { "type": "number", "description": "The ID of the sell account", "example": 2001 }, "sellAccount": { "type": "object", "description": "The sell account details" }, "categoryId": { "type": "number", "description": "The ID of the item category", "example": 5 }, "category": { "type": "object", "description": "The category details" }, "sellDescription": { "type": "string", "description": "The description shown on sales documents", "example": "Premium ergonomic office chair with adjustable height and lumbar support" }, "purchaseDescription": { "type": "string", "description": "The description shown on purchase documents", "example": "Ergonomic office chair - Model X-2000 with standard features" }, "quantityOnHand": { "type": "number", "description": "The quantity of the item in stock (for inventory items)", "example": 50 }, "note": { "type": "string", "description": "Additional notes about the item", "example": "Available in black, gray, and navy colors. 5-year warranty included." }, "active": { "type": "boolean", "description": "Whether the item is active", "example": true }, "sellTaxRateId": { "type": "number", "description": "The ID of the tax rate applied to sales", "example": 1 }, "sellTaxRate": { "type": "object", "description": "The tax rate details for sales" }, "purchaseTaxRateId": { "type": "number", "description": "The ID of the tax rate applied to purchases", "example": 1 }, "purchaseTaxRate": { "type": "object", "description": "The tax rate details for purchases" }, "itemWarehouses": { "type": "array", "description": "The warehouse quantities for the item" }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the item was created", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the item was last updated", "example": "2024-03-20T10:00:00Z" } }, "required": [ "id", "name", "type", "typeFormatted", "sellable", "purchasable", "currencyCode", "active", "createdAt", "updatedAt" ] }, "EditItemDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Item name", "example": "Ergonomic Office Chair Model X-2000" }, "type": { "type": "string", "description": "Item type", "enum": [ "service", "non-inventory", "inventory" ], "example": "inventory" }, "code": { "type": "string", "description": "Item code/SKU", "example": "CHAIR-X2000" }, "purchasable": { "type": "boolean", "description": "Whether the item can be purchased", "example": true }, "costPrice": { "type": "number", "description": "Cost price of the item", "minimum": 0, "example": 299.99 }, "costAccountId": { "type": "number", "description": "ID of the cost account", "minimum": 0, "example": 1001 }, "sellable": { "type": "boolean", "description": "Whether the item can be sold", "example": true }, "sellPrice": { "type": "number", "description": "Selling price of the item", "minimum": 0, "example": 399.99 }, "sellAccountId": { "type": "number", "description": "ID of the sell account", "minimum": 0, "example": 2001 }, "inventoryAccountId": { "type": "number", "description": "ID of the inventory account (required for inventory items)", "minimum": 0, "example": 3001 }, "sellDescription": { "type": "string", "description": "Description shown on sales documents", "example": "Premium ergonomic office chair with adjustable height, lumbar support, and breathable mesh back" }, "purchaseDescription": { "type": "string", "description": "Description shown on purchase documents", "example": "Ergonomic office chair - Model X-2000 with standard features" }, "sellTaxRateId": { "type": "number", "description": "ID of the tax rate applied to sales", "example": 1 }, "purchaseTaxRateId": { "type": "number", "description": "ID of the tax rate applied to purchases", "example": 1 }, "categoryId": { "type": "number", "description": "ID of the item category", "minimum": 0, "example": 5 }, "note": { "type": "string", "description": "Additional notes about the item", "example": "Available in black, gray, and navy colors. 5-year warranty included." }, "active": { "type": "boolean", "description": "Whether the item is active", "default": true, "example": true }, "mediaIds": { "description": "IDs of media files associated with the item", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "name", "type" ] }, "BulkDeleteItemsDto": { "type": "object", "properties": { "ids": { "description": "Array of item IDs to delete", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } }, "skipUndeletable": { "type": "boolean", "description": "When true, undeletable items will be skipped and only deletable ones removed.", "default": false } }, "required": [ "ids" ] }, "CreateItemDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Item name", "example": "Ergonomic Office Chair Model X-2000" }, "type": { "type": "string", "description": "Item type", "enum": [ "service", "non-inventory", "inventory" ], "example": "inventory" }, "code": { "type": "string", "description": "Item code/SKU", "example": "CHAIR-X2000" }, "purchasable": { "type": "boolean", "description": "Whether the item can be purchased", "example": true }, "costPrice": { "type": "number", "description": "Cost price of the item", "minimum": 0, "example": 299.99 }, "costAccountId": { "type": "number", "description": "ID of the cost account", "minimum": 0, "example": 1001 }, "sellable": { "type": "boolean", "description": "Whether the item can be sold", "example": true }, "sellPrice": { "type": "number", "description": "Selling price of the item", "minimum": 0, "example": 399.99 }, "sellAccountId": { "type": "number", "description": "ID of the sell account", "minimum": 0, "example": 2001 }, "inventoryAccountId": { "type": "number", "description": "ID of the inventory account (required for inventory items)", "minimum": 0, "example": 3001 }, "sellDescription": { "type": "string", "description": "Description shown on sales documents", "example": "Premium ergonomic office chair with adjustable height, lumbar support, and breathable mesh back" }, "purchaseDescription": { "type": "string", "description": "Description shown on purchase documents", "example": "Ergonomic office chair - Model X-2000 with standard features" }, "sellTaxRateId": { "type": "number", "description": "ID of the tax rate applied to sales", "example": 1 }, "purchaseTaxRateId": { "type": "number", "description": "ID of the tax rate applied to purchases", "example": 1 }, "categoryId": { "type": "number", "description": "ID of the item category", "minimum": 0, "example": 5 }, "note": { "type": "string", "description": "Additional notes about the item", "example": "Available in black, gray, and navy colors. 5-year warranty included." }, "active": { "type": "boolean", "description": "Whether the item is active", "default": true, "example": true }, "mediaIds": { "description": "IDs of media files associated with the item", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "name", "type" ] }, "InventoryAdjustmentResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the inventory adjustment", "example": 1 }, "date": { "type": "string", "description": "The date of the inventory adjustment", "example": "2024-03-20" }, "type": { "type": "string", "description": "The type of adjustment (increment or decrement)", "enum": [ "increment", "decrement" ], "example": "increment" }, "formattedType": { "type": "string", "description": "The formatted type of adjustment", "example": "inventory_adjustment.increment" }, "adjustmentAccountId": { "type": "number", "description": "The ID of the adjustment account", "example": 100 }, "reason": { "type": "string", "description": "The reason for the adjustment", "example": "Stock count discrepancy" }, "referenceNo": { "type": "string", "description": "The reference number for the adjustment", "example": "IA-2024-001" }, "description": { "type": "string", "description": "Additional description of the adjustment", "example": "Year-end inventory reconciliation" }, "userId": { "type": "number", "description": "The ID of the user who created the adjustment", "example": 1 }, "publishedAt": { "type": "string", "description": "The date when the adjustment was published", "example": "2024-03-20T10:00:00Z" }, "branchId": { "type": "number", "description": "The ID of the branch where the adjustment was made", "example": 1 }, "warehouseId": { "type": "number", "description": "The ID of the warehouse where the adjustment was made", "example": 1 }, "createdAt": { "type": "string", "description": "The date when the adjustment was created", "example": "2024-03-20T09:00:00Z" }, "entries": { "description": "The entries associated with this adjustment", "items": { "type": "array" }, "type": "array" } }, "required": [ "id", "date", "type", "formattedType", "adjustmentAccountId", "reason", "referenceNo", "userId", "branchId", "warehouseId", "createdAt", "entries" ] }, "InventoryAdjustmentsPaginationDto": { "type": "object", "properties": { "page": { "type": "number", "example": 1 }, "pageSize": { "type": "number", "example": 12 }, "total": { "type": "number", "example": 42 } }, "required": [ "page", "pageSize", "total" ] }, "InventoryAdjustmentsListResponseDto": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/InventoryAdjustmentResponseDto" } }, "pagination": { "$ref": "#/components/schemas/InventoryAdjustmentsPaginationDto" } }, "required": [ "data", "pagination" ] }, "CreateQuickInventoryAdjustmentDto": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string", "description": "Date of the inventory adjustment" }, "type": { "type": "string", "description": "Type of adjustment", "enum": [ "increment", "decrement" ] }, "adjustmentAccountId": { "type": "number", "description": "ID of the adjustment account" }, "reason": { "type": "string", "description": "Reason for the adjustment" }, "description": { "type": "string", "description": "Description of the adjustment" }, "referenceNo": { "type": "string", "description": "Reference number" }, "itemId": { "type": "number", "description": "ID of the item being adjusted" }, "quantity": { "type": "number", "description": "Quantity to adjust" }, "cost": { "type": "number", "description": "Cost of the item" }, "publish": { "type": "boolean", "description": "Whether to publish the adjustment immediately" }, "warehouseId": { "type": "number", "description": "ID of the warehouse (optional)" }, "branchId": { "type": "number", "description": "ID of the branch (optional)" } }, "required": [ "date", "type", "adjustmentAccountId", "reason", "description", "referenceNo", "itemId", "quantity", "cost", "publish" ] }, "BranchResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Branch ID", "example": 1 }, "name": { "type": "string", "description": "Branch name", "example": "Main Branch" }, "code": { "type": "string", "description": "Branch code", "example": "BR001" }, "address": { "type": "string", "description": "Branch address", "example": "123 Main Street" }, "city": { "type": "string", "description": "Branch city", "example": "New York" }, "country": { "type": "string", "description": "Branch country", "example": "USA" }, "phoneNumber": { "type": "string", "description": "Branch phone number", "example": "+1-555-123-4567" }, "email": { "type": "string", "description": "Branch email", "example": "branch@example.com" }, "website": { "type": "string", "description": "Branch website", "example": "https://www.example.com/branch" }, "primary": { "type": "boolean", "description": "Whether this is the primary branch", "example": true }, "createdAt": { "format": "date-time", "type": "string", "description": "Creation timestamp", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "Last update timestamp", "example": "2024-03-20T10:00:00Z" } }, "required": [ "id", "name", "code", "address", "city", "country", "phoneNumber", "email", "website", "primary", "createdAt", "updatedAt" ] }, "CreateBranchDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Branch name", "example": "Main Branch" }, "primary": { "type": "boolean", "description": "Whether this is the primary branch", "example": true, "default": false }, "code": { "type": "string", "description": "Branch code", "example": "BR001" }, "address": { "type": "string", "description": "Branch address", "example": "123 Main Street" }, "city": { "type": "string", "description": "Branch city", "example": "New York" }, "country": { "type": "string", "description": "Branch country", "example": "USA" }, "phone_number": { "type": "string", "description": "Branch phone number", "example": "+1-555-123-4567" }, "email": { "type": "string", "description": "Branch email", "example": "branch@example.com" }, "website": { "type": "string", "description": "Branch website", "example": "https://www.example.com/branch" } }, "required": [ "name" ] }, "EditBranchDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Branch name", "example": "Main Branch" }, "primary": { "type": "boolean", "description": "Whether this is the primary branch", "example": true, "default": false }, "code": { "type": "string", "description": "Branch code", "example": "BR001" }, "address": { "type": "string", "description": "Branch address", "example": "123 Main Street" }, "city": { "type": "string", "description": "Branch city", "example": "New York" }, "country": { "type": "string", "description": "Branch country", "example": "USA" }, "phone_number": { "type": "string", "description": "Branch phone number", "example": "+1-555-123-4567" }, "email": { "type": "string", "description": "Branch email", "example": "branch@example.com" }, "website": { "type": "string", "description": "Branch website", "example": "https://www.example.com/branch" } }, "required": [ "name" ] }, "WarehouseResponseDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the warehouse", "example": "Main Warehouse" }, "code": { "type": "string", "description": "The unique code identifier for the warehouse", "example": "WH-001" }, "city": { "type": "string", "description": "The city where the warehouse is located", "example": "New York" }, "country": { "type": "string", "description": "The country where the warehouse is located", "example": "United States" }, "address": { "type": "string", "description": "The full address of the warehouse", "example": "123 Warehouse Street, New York, NY 10001" }, "primary": { "type": "boolean", "description": "Indicates if this is the primary warehouse", "example": true } }, "required": [ "name", "code", "city", "country", "address", "primary" ] }, "CreateWarehouseDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the warehouse" }, "primary": { "type": "boolean", "description": "Whether the warehouse is primary" }, "code": { "type": "string", "description": "The code of the warehouse" }, "address": { "type": "string", "description": "The address of the warehouse" }, "city": { "type": "string", "description": "The city of the warehouse" }, "country": { "type": "string", "description": "The country of the warehouse" }, "phoneNumber": { "type": "string", "description": "The phone number of the warehouse" }, "email": { "type": "string", "description": "The email of the warehouse" }, "website": { "type": "string", "description": "The website of the warehouse" } }, "required": [ "name", "primary", "code", "address", "city", "country", "phoneNumber", "email", "website" ] }, "EditWarehouseDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the warehouse" }, "primary": { "type": "boolean", "description": "Whether the warehouse is primary" }, "code": { "type": "string", "description": "The code of the warehouse" }, "address": { "type": "string", "description": "The address of the warehouse" }, "city": { "type": "string", "description": "The city of the warehouse" }, "country": { "type": "string", "description": "The country of the warehouse" }, "phoneNumber": { "type": "string", "description": "The phone number of the warehouse" }, "email": { "type": "string", "description": "The email of the warehouse" }, "website": { "type": "string", "description": "The website of the warehouse" } }, "required": [ "name", "primary", "code", "address", "city", "country", "phoneNumber", "email", "website" ] }, "ValidateBulkDeleteResponseDto": { "type": "object", "properties": { "deletableCount": { "type": "number", "description": "Number of items that can be deleted", "example": 2 }, "nonDeletableCount": { "type": "number", "description": "Number of items that cannot be deleted", "example": 1 }, "deletableIds": { "description": "IDs of items that can be deleted", "example": [ 1, 2 ], "type": "array", "items": { "type": "number" } }, "nonDeletableIds": { "description": "IDs of items that cannot be deleted", "example": [ 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "deletableCount", "nonDeletableCount", "deletableIds", "nonDeletableIds" ] }, "GetAccountTransactionResponseDto": { "type": "object", "properties": { "date": { "type": "object", "description": "The transaction date (ISO string or Date)", "example": "2024-01-01" }, "formattedDate": { "type": "string", "description": "The formatted transaction date", "example": "01 Jan 2024" }, "transactionType": { "type": "string", "description": "The transaction type (referenceType from model)", "example": "INVOICE" }, "transactionId": { "type": "number", "description": "The transaction id (referenceId from model)", "example": 123 }, "transactionTypeFormatted": { "type": "string", "description": "The formatted transaction type (translated string)", "example": "Invoice" }, "credit": { "type": "number", "description": "The credit amount", "example": 100 }, "debit": { "type": "number", "description": "The debit amount", "example": 50 }, "formattedCredit": { "type": "string", "description": "The formatted credit amount (e.g. currency formatted)", "example": "100.00 USD" }, "formattedDebit": { "type": "string", "description": "The formatted debit amount (e.g. currency formatted)", "example": "50.00 USD" }, "fcCredit": { "type": "number", "description": "The foreign currency credit (credit * exchangeRate)", "example": 120 }, "fcDebit": { "type": "number", "description": "The foreign currency debit (debit * exchangeRate)", "example": 60 }, "formattedFcCredit": { "type": "string", "description": "The formatted foreign currency credit", "example": "120.00 EUR" }, "formattedFcDebit": { "type": "string", "description": "The formatted foreign currency debit", "example": "60.00 EUR" } }, "required": [ "date", "formattedDate", "transactionType", "transactionId", "transactionTypeFormatted", "credit", "debit", "formattedCredit", "formattedDebit", "fcCredit", "fcDebit", "formattedFcCredit", "formattedFcDebit" ] }, "AccountTypeResponseDto": { "type": "object", "properties": { "label": { "type": "string", "description": "The display label for the account type", "example": "Cash" }, "key": { "type": "string", "description": "The unique key for the account type", "example": "cash" }, "normal": { "type": "string", "description": "The normal balance type for the account", "example": "debit" }, "parentType": { "type": "string", "description": "The parent type of the account", "example": "current-asset" }, "rootType": { "type": "string", "description": "The root type of the account", "example": "asset" }, "multiCurrency": { "type": "boolean", "description": "Whether the account type supports multiple currencies", "example": true }, "balanceSheet": { "type": "boolean", "description": "Whether the account type appears on the balance sheet", "example": true }, "incomeSheet": { "type": "boolean", "description": "Whether the account type appears on the income sheet", "example": false } }, "required": [ "label", "key", "normal", "parentType", "rootType", "multiCurrency", "balanceSheet", "incomeSheet" ] }, "AccountResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the account", "example": 1 }, "name": { "type": "string", "description": "The name of the account", "example": "Cash Account" }, "slug": { "type": "string", "description": "The slug of the account", "example": "cash-account" }, "code": { "type": "string", "description": "The code of the account", "example": "1001" }, "index": { "type": "number", "description": "The index of the account", "example": 1 }, "accountType": { "type": "string", "description": "The type of the account", "example": "bank" }, "accountTypeLabel": { "type": "string", "description": "The formatted account type label", "example": "Bank Account" }, "parentAccountId": { "type": "number", "description": "The parent account ID", "example": null }, "predefined": { "type": "boolean", "description": "Whether the account is predefined", "example": false }, "currencyCode": { "type": "string", "description": "The currency code of the account", "example": "USD" }, "active": { "type": "boolean", "description": "Whether the account is active", "example": true }, "bankBalance": { "type": "number", "description": "The bank balance of the account", "example": 5000 }, "bankBalanceFormatted": { "type": "string", "description": "The formatted bank balance", "example": "$5,000.00" }, "lastFeedsUpdatedAt": { "type": "object", "description": "The last feeds update timestamp", "example": "2024-03-20T10:30:00Z" }, "lastFeedsUpdatedAtFormatted": { "type": "string", "description": "The formatted last feeds update timestamp", "example": "Mar 20, 2024 10:30 AM" }, "amount": { "type": "number", "description": "The amount of the account", "example": 5000 }, "formattedAmount": { "type": "string", "description": "The formatted amount", "example": "$5,000.00" }, "plaidItemId": { "type": "string", "description": "The Plaid item ID", "example": "plaid-item-123" }, "plaidAccountId": { "type": "string", "description": "The Plaid account ID", "example": "plaid-account-456" }, "isFeedsActive": { "type": "boolean", "description": "Whether the feeds are active", "example": true }, "isSyncingOwner": { "type": "boolean", "description": "Whether the account is syncing owner", "example": true }, "isFeedsPaused": { "type": "boolean", "description": "Whether the feeds are paused", "example": false }, "accountNormal": { "type": "string", "description": "The account normal", "example": "debit" }, "accountNormalFormatted": { "type": "string", "description": "The formatted account normal", "example": "Debit" }, "flattenName": { "type": "string", "description": "The flatten name with all dependant accounts names", "example": "Assets: Cash Account" }, "accountLevel": { "type": "number", "description": "The account level in the hierarchy", "example": 2 }, "createdAt": { "format": "date-time", "type": "string", "description": "The creation timestamp", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The update timestamp", "example": "2024-03-20T10:30:00Z" } }, "required": [ "id", "name", "slug", "code", "index", "accountType", "accountTypeLabel", "parentAccountId", "predefined", "currencyCode", "active", "bankBalance", "bankBalanceFormatted", "lastFeedsUpdatedAt", "lastFeedsUpdatedAtFormatted", "amount", "formattedAmount", "plaidItemId", "plaidAccountId", "isFeedsActive", "isSyncingOwner", "isFeedsPaused", "accountNormal", "accountNormalFormatted", "flattenName", "accountLevel", "createdAt", "updatedAt" ] }, "BulkDeleteDto": { "type": "object", "properties": { "ids": { "description": "Array of IDs to delete", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } }, "skipUndeletable": { "type": "boolean", "description": "When true, undeletable items will be skipped and only deletable ones will be removed.", "default": false } }, "required": [ "ids" ] }, "CreateAccountDTO": { "type": "object", "properties": { "name": { "type": "string", "description": "Account name", "example": "Cash Account", "minLength": 3, "maxLength": 255 }, "code": { "type": "string", "description": "Account code", "example": "CA001", "minLength": 3, "maxLength": 6 }, "currencyCode": { "type": "string", "description": "Currency code for the account", "example": "USD" }, "accountType": { "type": "string", "description": "Type of account", "example": "asset", "minLength": 3, "maxLength": 255 }, "description": { "type": "string", "description": "Account description", "example": "Main cash account for daily operations", "maxLength": 65535 }, "parentAccountId": { "type": "number", "description": "ID of the parent account", "example": 1 }, "active": { "type": "boolean", "description": "Whether the account is active", "example": true, "default": true }, "plaidAccountId": { "type": "string", "description": "Plaid account ID for syncing", "example": "plaid_account_123456" }, "plaidItemId": { "type": "string", "description": "Plaid item ID for syncing", "example": "plaid_item_123456" } }, "required": [ "name", "accountType" ] }, "EditAccountDTO": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the account", "example": "Bank Account" }, "code": { "type": "string", "description": "The code of the account", "example": "123456" }, "accountType": { "type": "string", "description": "The type of the account", "example": "Bank Account" }, "description": { "type": "string", "description": "The description of the account", "example": "This is a description" }, "parentAccountId": { "type": "number", "description": "The parent account ID of the account", "example": 1 } }, "required": [ "name", "code", "accountType", "description", "parentAccountId" ] }, "InventoryItemCostDto": { "type": "object", "properties": { "itemId": { "type": "number", "description": "Item ID" }, "valuation": { "type": "number", "description": "Valuation" }, "quantity": { "type": "number", "description": "Quantity" }, "average": { "type": "number", "description": "Average cost" } }, "required": [ "itemId", "valuation", "quantity", "average" ] }, "GetInventoryItemsCostResponseDto": { "type": "object", "properties": { "costs": { "description": "List of item costs", "type": "array", "items": { "$ref": "#/components/schemas/InventoryItemCostDto" } } }, "required": [ "costs" ] }, "GenerateSaleInvoiceSharableLinkResponseDto": { "type": "object", "properties": { "link": { "type": "string", "description": "Sharable payment link for the sale invoice", "example": "http://localhost:3000/payment/123e4567-e89b-12d3-a456-426614174000" } }, "required": [ "link" ] }, "SaleInvoiceStateResponseDto": { "type": "object", "properties": { "defaultTemplateId": { "type": "number", "description": "The ID of the default PDF template for sale invoices", "example": 1, "nullable": true } }, "required": [ "defaultTemplateId" ] }, "ItemEntryDto": { "type": "object", "properties": { "index": { "type": "number", "description": "The index of the item entry", "example": 1 }, "itemId": { "type": "number", "description": "The id of the item", "example": 1 }, "rate": { "type": "number", "description": "The rate of the item entry", "example": 1 }, "quantity": { "type": "number", "description": "The quantity of the item entry", "example": 1 }, "discount": { "type": "number", "description": "The discount of the item entry", "example": 1 }, "discountType": { "type": "string", "description": "The type of the discount", "example": "percentage" }, "description": { "type": "string", "description": "The description of the item entry", "example": "This is a description" }, "taxCode": { "type": "string", "description": "The tax code of the item entry", "example": "123456" }, "taxRateId": { "type": "number", "description": "The tax rate id of the item entry", "example": 1 }, "warehouseId": { "type": "number", "description": "The warehouse id of the item entry", "example": 1 }, "projectId": { "type": "number", "description": "The project id of the item entry", "example": 1 }, "projectRefId": { "type": "number", "description": "The project ref id of the item entry", "example": 1 }, "projectRefType": { "type": "string", "description": "The project ref type of the item entry", "example": "TASK" }, "projectRefInvoicedAmount": { "type": "number", "description": "The project ref invoiced amount of the item entry", "example": 100 }, "sellAccountId": { "type": "number", "description": "The sell account id of the item entry", "example": 1020 }, "costAccountId": { "type": "number", "description": "The cost account id of the item entry", "example": 1021 } }, "required": [ "index", "itemId", "rate", "quantity", "discount", "discountType", "description", "taxCode", "taxRateId", "warehouseId", "projectId", "projectRefId", "projectRefType", "projectRefInvoicedAmount", "sellAccountId", "costAccountId" ] }, "AttachmentLinkDto": { "type": "object", "properties": {} }, "PaymentMethodDto": { "type": "object", "properties": { "paymentIntegrationId": { "type": "number", "description": "The ID of the payment integration", "example": 1 }, "enable": { "type": "boolean", "description": "Whether the payment method is enabled", "example": true } }, "required": [ "paymentIntegrationId", "enable" ] }, "SaleInvoiceResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the sale invoice", "example": 1 }, "invoiceDate": { "format": "date-time", "type": "string", "description": "The date of the invoice", "example": "2023-01-01T00:00:00Z" }, "dueDate": { "format": "date-time", "type": "string", "description": "The due date of the invoice", "example": "2023-01-15T00:00:00Z" }, "invoiceNo": { "type": "string", "description": "The invoice number", "example": "INV-001" }, "referenceNo": { "type": "string", "description": "The reference number", "example": "REF-001" }, "customerId": { "type": "number", "description": "The ID of the customer", "example": 1 }, "exchangeRate": { "type": "number", "description": "The exchange rate for currency conversion", "example": 1 }, "currencyCode": { "type": "string", "description": "The currency code", "example": "USD" }, "invoiceMessage": { "type": "string", "description": "Custom message on the invoice", "example": "Thank you for your business" }, "termsConditions": { "type": "string", "description": "Terms and conditions of the invoice", "example": "Payment due within 14 days" }, "isInclusiveTax": { "type": "boolean", "description": "Whether tax is inclusive in the item rates", "example": false }, "entries": { "description": "The line items of the invoice", "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "delivered": { "type": "boolean", "description": "Whether the invoice has been delivered", "example": false }, "deliveredAt": { "format": "date-time", "type": "string", "description": "The date when the invoice was delivered", "example": "2023-01-02T00:00:00Z" }, "warehouseId": { "type": "number", "description": "The ID of the warehouse", "example": 1 }, "branchId": { "type": "number", "description": "The ID of the branch", "example": 1 }, "projectId": { "type": "number", "description": "The ID of the project", "example": 1 }, "attachments": { "description": "The attachments of the invoice", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } }, "paymentMethods": { "description": "The payment methods associated with the invoice", "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethodDto" } }, "discount": { "type": "number", "description": "The discount value", "example": 10 }, "discountType": { "type": "string", "description": "The type of discount (percentage or fixed)", "enum": [ "percentage", "amount" ], "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment amount", "example": 5 }, "pdfTemplateId": { "type": "number", "description": "The ID of the PDF template", "example": 1 }, "taxAmountWithheld": { "type": "number", "description": "The total amount of tax withheld", "example": 50 }, "balance": { "type": "number", "description": "The balance of the invoice", "example": 1000 }, "paymentAmount": { "type": "number", "description": "The amount paid", "example": 500 }, "creditedAmount": { "type": "number", "description": "The amount credited", "example": 0 }, "subtotal": { "type": "number", "description": "The subtotal amount before tax and adjustments", "example": 900 }, "total": { "type": "number", "description": "The total amount including tax and adjustments", "example": 1000 }, "dueAmount": { "type": "number", "description": "The due amount remaining to be paid", "example": 500 }, "isOverdue": { "type": "boolean", "description": "Whether the invoice is overdue", "example": false }, "isPartiallyPaid": { "type": "boolean", "description": "Whether the invoice is partially paid", "example": true }, "isFullyPaid": { "type": "boolean", "description": "Whether the invoice is fully paid", "example": false }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the invoice was created", "example": "2023-01-01T00:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the invoice was last updated", "example": "2023-01-02T00:00:00Z" } }, "required": [ "id", "invoiceDate", "dueDate", "invoiceNo", "customerId", "entries", "delivered", "balance", "paymentAmount", "subtotal", "total", "dueAmount", "isOverdue", "isPartiallyPaid", "isFullyPaid", "createdAt" ] }, "CreateSaleInvoiceDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "Customer ID", "example": 1 }, "invoiceDate": { "format": "date-time", "type": "string", "description": "Invoice date", "example": "2023-01-01T00:00:00Z" }, "dueDate": { "format": "date-time", "type": "string", "description": "Due date", "example": "2023-01-15T00:00:00Z" }, "invoiceNo": { "type": "string", "description": "Invoice number", "example": "INV-001" }, "referenceNo": { "type": "string", "description": "Reference number", "example": "REF-001" }, "delivered": { "type": "boolean", "description": "Whether the invoice is delivered", "default": false }, "invoiceMessage": { "type": "string", "description": "Invoice message", "example": "Thank you for your business" }, "termsConditions": { "type": "string", "description": "Terms and conditions", "example": "Payment due within 14 days" }, "exchangeRate": { "type": "number", "description": "Exchange rate", "minimum": 0, "example": 1 }, "warehouseId": { "type": "number", "description": "Warehouse ID", "example": 1 }, "branchId": { "type": "number", "description": "Branch ID", "example": 1 }, "projectId": { "type": "number", "description": "Project ID", "example": 1 }, "isInclusiveTax": { "type": "boolean", "description": "Whether tax is inclusive", "example": false }, "entries": { "description": "Invoice line items", "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "pdfTemplateId": { "type": "number", "description": "PDF template ID", "example": 1 }, "paymentMethods": { "description": "Payment methods", "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethodDto" } }, "discount": { "type": "number", "description": "Discount value", "example": 10 }, "discountType": { "type": "string", "description": "Discount type", "enum": [ "percentage", "amount" ], "example": "percentage" }, "adjustment": { "type": "number", "description": "Adjustment amount", "example": 5 }, "fromEstimateId": { "type": "number", "description": "ID of the estimate this invoice is created from", "example": 1 }, "attachments": { "description": "The attachments of the sale receipt", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "customerId", "invoiceDate", "dueDate", "entries", "attachments" ] }, "EditSaleInvoiceDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "Customer ID", "example": 1 }, "invoiceDate": { "format": "date-time", "type": "string", "description": "Invoice date", "example": "2023-01-01T00:00:00Z" }, "dueDate": { "format": "date-time", "type": "string", "description": "Due date", "example": "2023-01-15T00:00:00Z" }, "invoiceNo": { "type": "string", "description": "Invoice number", "example": "INV-001" }, "referenceNo": { "type": "string", "description": "Reference number", "example": "REF-001" }, "delivered": { "type": "boolean", "description": "Whether the invoice is delivered", "default": false }, "invoiceMessage": { "type": "string", "description": "Invoice message", "example": "Thank you for your business" }, "termsConditions": { "type": "string", "description": "Terms and conditions", "example": "Payment due within 14 days" }, "exchangeRate": { "type": "number", "description": "Exchange rate", "minimum": 0, "example": 1 }, "warehouseId": { "type": "number", "description": "Warehouse ID", "example": 1 }, "branchId": { "type": "number", "description": "Branch ID", "example": 1 }, "projectId": { "type": "number", "description": "Project ID", "example": 1 }, "isInclusiveTax": { "type": "boolean", "description": "Whether tax is inclusive", "example": false }, "entries": { "description": "Invoice line items", "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "pdfTemplateId": { "type": "number", "description": "PDF template ID", "example": 1 }, "paymentMethods": { "description": "Payment methods", "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethodDto" } }, "discount": { "type": "number", "description": "Discount value", "example": 10 }, "discountType": { "type": "string", "description": "Discount type", "enum": [ "percentage", "amount" ], "example": "percentage" }, "adjustment": { "type": "number", "description": "Adjustment amount", "example": 5 }, "fromEstimateId": { "type": "number", "description": "ID of the estimate this invoice is created from", "example": 1 }, "attachments": { "description": "The attachments of the sale receipt", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "customerId", "invoiceDate", "dueDate", "entries", "attachments" ] }, "UploadAttachmentDto": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } }, "required": [ "file" ] }, "LinkAttachmentDto": { "type": "object", "properties": {} }, "UnlinkAttachmentDto": { "type": "object", "properties": {} }, "TaxRateResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the tax rate", "example": 1 }, "name": { "type": "string", "description": "The name of the tax rate", "example": "VAT" }, "nameFormatted": { "type": "string", "description": "The formatted name of the tax rate including the rate percentage", "example": "VAT [10%]" }, "code": { "type": "string", "description": "The code of the tax rate", "example": "VAT" }, "rate": { "type": "number", "description": "The rate of the tax rate as a decimal number", "example": 10 }, "rateFormatted": { "type": "string", "description": "The formatted rate of the tax rate with percentage symbol", "example": "10%" }, "description": { "type": "string", "description": "The description of the tax rate", "example": "Value Added Tax" }, "isNonRecoverable": { "type": "boolean", "description": "Whether the tax is non-recoverable", "example": false }, "isCompound": { "type": "boolean", "description": "Whether the tax is compound", "example": false }, "active": { "type": "boolean", "description": "Whether the tax rate is active", "example": true }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the tax rate was created", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the tax rate was last updated", "example": "2024-03-20T10:00:00Z" } }, "required": [ "id", "name", "nameFormatted", "code", "rate", "rateFormatted", "isNonRecoverable", "isCompound", "active", "createdAt", "updatedAt" ] }, "CreateTaxRateDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the tax rate.", "example": "VAT" }, "code": { "type": "string", "description": "The code of the tax rate.", "example": "VAT" }, "rate": { "type": "number", "description": "The rate of the tax rate.", "example": 10 }, "description": { "type": "string", "description": "The description of the tax rate.", "example": "VAT" }, "isNonRecoverable": { "type": "boolean", "description": "Whether the tax is non-recoverable.", "example": false }, "isCompound": { "type": "boolean", "description": "Whether the tax is compound.", "example": false }, "active": { "type": "boolean", "description": "Whether the tax rate is active.", "example": false } }, "required": [ "name", "code", "rate", "description", "isNonRecoverable", "isCompound", "active" ] }, "EditTaxRateDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the tax rate.", "example": "VAT" }, "code": { "type": "string", "description": "The code of the tax rate.", "example": "VAT" }, "rate": { "type": "number", "description": "The rate of the tax rate.", "example": 10 }, "description": { "type": "string", "description": "The description of the tax rate.", "example": "VAT" }, "isNonRecoverable": { "type": "boolean", "description": "Whether the tax is non-recoverable.", "example": false }, "isCompound": { "type": "boolean", "description": "Whether the tax is compound.", "example": false }, "active": { "type": "boolean", "description": "Whether the tax rate is active.", "example": false } }, "required": [ "name", "code", "rate", "description", "isNonRecoverable", "isCompound", "active" ] }, "PaymentReceivedStateResponseDto": { "type": "object", "properties": { "defaultTemplateId": { "type": "number", "description": "The ID of the default PDF template for payment received", "example": 1, "nullable": true } }, "required": [ "defaultTemplateId" ] }, "PaymentReceivedEntryResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "ID of the entry", "example": 1 }, "index": { "type": "number", "description": "Index of the entry", "example": 0 }, "paymentReceiveId": { "type": "number", "description": "ID of the payment received", "example": 1 }, "invoiceId": { "type": "number", "description": "ID of the invoice", "example": 10 }, "paymentAmount": { "type": "number", "description": "Amount paid for this invoice", "example": 100 }, "paymentAmountFormatted": { "type": "string", "description": "Formatted paid amount", "example": "100.00" }, "invoice": { "type": "object", "description": "Invoice details", "example": { "id": 10, "invoiceNo": "INV-001", "total": 1000, "dueAmount": 500, "customerId": 1 } } }, "required": [ "id", "index", "paymentReceiveId", "invoiceId", "paymentAmount", "paymentAmountFormatted", "invoice" ] }, "PaymentReceivedResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the payment received", "example": 1 }, "paymentReceiveNo": { "type": "string", "description": "The payment receive number", "example": "PR-001" }, "paymentDate": { "type": "object", "description": "The date of the payment", "example": "2023-01-01T00:00:00Z" }, "formattedPaymentDate": { "type": "string", "description": "The formatted payment date", "example": "2023-01-01" }, "customerId": { "type": "number", "description": "The customer ID", "example": 1 }, "referenceNo": { "type": "string", "description": "The reference number", "example": "REF-001" }, "amount": { "type": "number", "description": "The amount received", "example": 100 }, "formattedAmount": { "type": "string", "description": "The formatted amount", "example": "100.00" }, "formattedTotal": { "type": "string", "description": "The formatted total", "example": "100.00 USD" }, "currencyCode": { "type": "string", "description": "The currency code", "example": "USD" }, "exchangeRate": { "type": "number", "description": "The exchange rate", "example": 1 }, "formattedExchangeRate": { "type": "string", "description": "The formatted exchange rate", "example": "1.00" }, "statement": { "type": "string", "description": "The statement or note", "example": "Payment for invoice INV-001" }, "depositAccountId": { "type": "number", "description": "The ID of the deposit account", "example": 2 }, "depositAccount": { "description": "Deposit account details", "allOf": [ { "$ref": "#/components/schemas/AccountResponseDto" } ] }, "branchId": { "type": "number", "description": "The ID of the branch", "example": 1 }, "branch": { "description": "Branch details", "allOf": [ { "$ref": "#/components/schemas/BranchResponseDto" } ] }, "pdfTemplateId": { "type": "number", "description": "The ID of the PDF template", "example": 1 }, "pdfTemplate": { "type": "object", "description": "PDF template details", "example": { "id": 1, "templateName": "Default", "resource": "PaymentReceive", "attributes": { "primaryColor": "#000000" } } }, "userId": { "type": "number", "description": "The user ID who created the payment", "example": 5 }, "createdAt": { "type": "object", "description": "The date when the payment was created", "example": "2023-01-01T00:00:00Z" }, "formattedCreatedAt": { "type": "string", "description": "The formatted created at date", "example": "2023-01-01" }, "updatedAt": { "type": "object", "description": "The date when the payment was last updated", "example": "2023-01-02T00:00:00Z" }, "entries": { "description": "The entries of the payment received", "example": [ { "id": 1, "index": 0, "paymentReceiveId": 1, "invoiceId": 10, "paymentAmount": 100, "paymentAmountFormatted": "100.00", "invoice": { "id": 10, "invoiceNo": "INV-001", "total": 1000, "dueAmount": 500, "customerId": 1 } } ], "type": "array", "items": { "$ref": "#/components/schemas/PaymentReceivedEntryResponseDto" } }, "attachments": { "description": "The attachments of the payment received", "example": [ { "key": "file-uuid-1" }, { "key": "file-uuid-2" } ], "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } } }, "required": [ "id", "paymentReceiveNo", "paymentDate", "formattedPaymentDate", "customerId", "amount", "formattedAmount", "formattedTotal", "currencyCode", "exchangeRate", "formattedExchangeRate", "depositAccountId", "depositAccount", "userId", "createdAt", "formattedCreatedAt", "entries" ] }, "CreatePaymentReceivedDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "The id of the customer", "example": 1 }, "paymentDate": { "type": "object", "description": "The payment date of the payment received", "example": "2021-01-01" }, "amount": { "type": "number", "description": "The amount of the payment received", "example": 100 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the payment received", "example": 1 }, "referenceNo": { "type": "string", "description": "The reference number of the payment received", "example": "123456" }, "depositAccountId": { "type": "number", "description": "The id of the deposit account", "example": 1 }, "paymentReceiveNo": { "type": "string", "description": "The payment receive number of the payment received", "example": "123456" }, "statement": { "type": "string", "description": "The statement of the payment received", "example": "123456" }, "entries": { "description": "The entries of the payment received", "example": [ { "invoiceId": 1, "paymentAmount": 100 } ], "type": "array", "items": { "type": "string" } }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "attachments": { "description": "The attachments of the payment received", "example": [ { "id": 1, "type": "bill" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "customerId", "paymentDate", "amount", "exchangeRate", "referenceNo", "depositAccountId", "paymentReceiveNo", "statement", "entries", "branchId", "attachments" ] }, "EditPaymentReceivedDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "The id of the customer", "example": 1 }, "paymentDate": { "type": "object", "description": "The payment date of the payment received", "example": "2021-01-01" }, "amount": { "type": "number", "description": "The amount of the payment received", "example": 100 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the payment received", "example": 1 }, "referenceNo": { "type": "string", "description": "The reference number of the payment received", "example": "123456" }, "depositAccountId": { "type": "number", "description": "The id of the deposit account", "example": 1 }, "paymentReceiveNo": { "type": "string", "description": "The payment receive number of the payment received", "example": "123456" }, "statement": { "type": "string", "description": "The statement of the payment received", "example": "123456" }, "entries": { "description": "The entries of the payment received", "example": [ { "invoiceId": 1, "paymentAmount": 100 } ], "type": "array", "items": { "type": "string" } }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "attachments": { "description": "The attachments of the payment received", "example": [ { "id": 1, "type": "bill" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "customerId", "paymentDate", "amount", "exchangeRate", "referenceNo", "depositAccountId", "paymentReceiveNo", "statement", "entries", "branchId", "attachments" ] }, "ModelMetaDefaultSortDto": { "type": "object", "properties": { "sortOrder": { "type": "string", "description": "The sort order", "example": "DESC", "enum": [ "DESC", "ASC" ] }, "sortField": { "type": "string", "description": "The sort field", "example": "createdAt" } }, "required": [ "sortOrder", "sortField" ] }, "ModelPrintMetaDto": { "type": "object", "properties": { "pageTitle": { "type": "string", "description": "The page title for print", "example": "Invoice INV-0001" } }, "required": [ "pageTitle" ] }, "ResourceMetaResponseDto": { "type": "object", "properties": { "defaultFilterField": { "type": "string", "description": "The default filter field", "example": "query" }, "defaultSort": { "description": "The default sort configuration", "allOf": [ { "$ref": "#/components/schemas/ModelMetaDefaultSortDto" } ] }, "exportable": { "type": "boolean", "description": "Whether the resource is exportable", "example": true }, "exportFlattenOn": { "type": "string", "description": "The field to flatten on during export", "example": "entries" }, "importable": { "type": "boolean", "description": "Whether the resource is importable", "example": true }, "importAggregator": { "type": "string", "description": "The import aggregator field", "example": "entries" }, "importAggregateOn": { "type": "string", "description": "The field to aggregate on during import", "example": "referenceNo" }, "importAggregateBy": { "type": "string", "description": "The field to aggregate by during import", "example": "id" }, "print": { "description": "The print metadata", "allOf": [ { "$ref": "#/components/schemas/ModelPrintMetaDto" } ] }, "fields": { "type": "object", "description": "The resource fields (legacy format)", "additionalProperties": true }, "fields2": { "type": "object", "description": "The resource fields (new format)", "additionalProperties": true }, "columns": { "type": "object", "description": "The resource columns", "additionalProperties": true } }, "required": [ "defaultFilterField", "defaultSort", "fields", "fields2", "columns" ] }, "PaymentLinkEntryDto": { "type": "object", "properties": { "description": { "type": "string", "description": "Line item description" }, "itemName": { "type": "string", "description": "Item name" }, "quantity": { "type": "number", "description": "Quantity" }, "quantityFormatted": { "type": "string", "description": "Formatted quantity" }, "rate": { "type": "number", "description": "Unit rate" }, "rateFormatted": { "type": "string", "description": "Formatted rate" }, "total": { "type": "number", "description": "Line total" }, "totalFormatted": { "type": "string", "description": "Formatted total" } }, "required": [ "description", "itemName", "quantity", "quantityFormatted", "rate", "rateFormatted", "total", "totalFormatted" ] }, "PaymentLinkTaxEntryDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Tax name" }, "taxRateAmount": { "type": "number", "description": "Tax rate amount" }, "taxRateAmountFormatted": { "type": "string", "description": "Formatted tax rate amount" }, "taxRateCode": { "type": "string", "description": "Tax rate code" } }, "required": [ "name", "taxRateAmount", "taxRateAmountFormatted", "taxRateCode" ] }, "PaymentLinkBrandingTemplateDto": { "type": "object", "properties": { "companyLogoUri": { "type": "string", "description": "Company logo URI" }, "primaryColor": { "type": "string", "description": "Primary color" }, "secondaryColor": { "type": "string", "description": "Secondary color" } }, "required": [ "companyLogoUri", "primaryColor" ] }, "PaymentLinkOrganizationDto": { "type": "object", "properties": { "address": { "type": "object", "description": "Organization address" }, "name": { "type": "string", "description": "Organization name" }, "primaryColor": { "type": "string", "description": "Primary brand color" }, "logoUri": { "type": "string", "description": "Logo URI" }, "addressTextFormatted": { "type": "string", "description": "Formatted address text" } }, "required": [ "address", "name", "primaryColor", "logoUri", "addressTextFormatted" ] }, "GetInvoicePaymentLinkResponseDto": { "type": "object", "properties": { "dueAmount": { "type": "number", "description": "Amount due" }, "dueAmountFormatted": { "type": "string", "description": "Formatted amount due" }, "dueDate": { "type": "string", "description": "Due date" }, "dueDateFormatted": { "type": "string", "description": "Formatted due date" }, "invoiceDateFormatted": { "type": "string", "description": "Formatted invoice date" }, "invoiceNo": { "type": "string", "description": "Invoice number" }, "paymentAmount": { "type": "number", "description": "Payment amount" }, "paymentAmountFormatted": { "type": "string", "description": "Formatted payment amount" }, "subtotal": { "type": "number", "description": "Subtotal" }, "subtotalFormatted": { "type": "string", "description": "Formatted subtotal" }, "subtotalLocalFormatted": { "type": "string", "description": "Formatted subtotal in local currency" }, "total": { "type": "number", "description": "Total amount" }, "totalFormatted": { "type": "string", "description": "Formatted total" }, "totalLocalFormatted": { "type": "string", "description": "Formatted total in local currency" }, "customerName": { "type": "string", "description": "Customer name" }, "invoiceMessage": { "type": "string", "description": "Invoice message" }, "termsConditions": { "type": "string", "description": "Terms and conditions" }, "entries": { "description": "Invoice line entries", "type": "array", "items": { "$ref": "#/components/schemas/PaymentLinkEntryDto" } }, "taxes": { "description": "Tax entries", "type": "array", "items": { "$ref": "#/components/schemas/PaymentLinkTaxEntryDto" } }, "brandingTemplate": { "description": "Branding template", "allOf": [ { "$ref": "#/components/schemas/PaymentLinkBrandingTemplateDto" } ] }, "organization": { "description": "Organization metadata", "allOf": [ { "$ref": "#/components/schemas/PaymentLinkOrganizationDto" } ] }, "hasStripePaymentMethod": { "type": "boolean", "description": "Whether Stripe is available as payment method" }, "isReceivable": { "type": "boolean", "description": "Whether invoice has receivable balance" }, "formattedCustomerAddress": { "type": "string", "description": "Formatted customer address" } }, "required": [ "dueAmount", "dueAmountFormatted", "dueDate", "dueDateFormatted", "invoiceDateFormatted", "invoiceNo", "paymentAmount", "paymentAmountFormatted", "subtotal", "subtotalFormatted", "subtotalLocalFormatted", "total", "totalFormatted", "totalLocalFormatted", "customerName", "invoiceMessage", "termsConditions", "entries", "taxes", "brandingTemplate", "organization", "hasStripePaymentMethod", "isReceivable", "formattedCustomerAddress" ] }, "GetInvoicePaymentLinkResponseWrapperDto": { "type": "object", "properties": { "data": { "description": "Payment link invoice metadata", "allOf": [ { "$ref": "#/components/schemas/GetInvoicePaymentLinkResponseDto" } ] } }, "required": [ "data" ] }, "CreateStripeCheckoutSessionResponseDto": { "type": "object", "properties": { "sessionId": { "type": "string", "description": "Stripe checkout session ID", "example": "cs_test_xxx" }, "publishableKey": { "type": "string", "description": "Stripe publishable key for the client", "example": "pk_test_xxx" }, "redirectTo": { "type": "string", "description": "URL to redirect the customer to complete checkout", "example": "https://checkout.stripe.com/c/pay/cs_test_xxx" } }, "required": [ "sessionId", "publishableKey", "redirectTo" ] }, "GetStripeConnectLinkResponseDto": { "type": "object", "properties": { "url": { "type": "string", "description": "Stripe OAuth2 Connect authorization URL", "example": "https://connect.stripe.com/oauth/authorize?response_type=code&client_id=..." } }, "required": [ "url" ] }, "ExchangeStripeOAuthBodyDto": { "type": "object", "properties": { "code": { "type": "string", "description": "Authorization code returned by Stripe OAuth", "example": "ac_xxx" } }, "required": [ "code" ] }, "CreateStripeAccountResponseDto": { "type": "object", "properties": { "account_id": { "type": "string", "description": "The Stripe Connect account ID", "example": "acct_1234567890" } }, "required": [ "account_id" ] }, "CreateStripeAccountSessionBodyDto": { "type": "object", "properties": { "account": { "type": "string", "description": "Stripe Connect account ID to create a session for", "example": "acct_1234567890" } } }, "CreateStripeAccountSessionResponseDto": { "type": "object", "properties": { "client_secret": { "type": "string", "description": "Stripe Account Session client secret for the Connect embedded component", "example": "acs_xxx_secret_xxx" } }, "required": [ "client_secret" ] }, "CreateStripeAccountLinkBodyDto": { "type": "object", "properties": { "stripeAccountId": { "type": "string", "description": "Stripe Connect account ID", "example": "acct_xxx" } }, "required": [ "stripeAccountId" ] }, "StripeAccountLinkResponseDto": { "type": "object", "properties": { "url": { "type": "string", "description": "URL for the account onboarding flow", "example": "https://connect.stripe.com/setup/xxx" }, "created": { "type": "number", "description": "Unix timestamp when the link was created", "example": 1234567890 }, "expires_at": { "type": "number", "description": "Unix timestamp when the link expires", "example": 1234567890 }, "object": { "type": "string", "description": "Stripe object type", "example": "account_link" } }, "required": [ "url", "created", "expires_at", "object" ] }, "CreateStripeAccountLinkResponseDto": { "type": "object", "properties": { "clientSecret": { "description": "Stripe AccountLink object for onboarding", "allOf": [ { "$ref": "#/components/schemas/StripeAccountLinkResponseDto" } ] } }, "required": [ "clientSecret" ] }, "ItemCategoryResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "The unique identifier of the item category" }, "name": { "type": "string", "example": "Electronics", "description": "The name of the item category" }, "description": { "type": "string", "example": "Electronic devices and accessories", "description": "The description of the item category" }, "costAccountId": { "type": "number", "example": 1, "description": "The cost account ID" }, "sellAccountId": { "type": "number", "example": 1, "description": "The sell account ID" }, "inventoryAccountId": { "type": "number", "example": 1, "description": "The inventory account ID" }, "costMethod": { "type": "string", "example": "FIFO", "description": "The cost method" }, "userId": { "type": "number", "example": 1, "description": "The user ID who created the category" }, "createdAt": { "format": "date-time", "type": "string", "example": "2024-03-20T10:00:00Z", "description": "The creation date of the category" }, "updatedAt": { "format": "date-time", "type": "string", "example": "2024-03-20T10:00:00Z", "description": "The last update date of the category" }, "count": { "type": "number", "example": 5, "description": "The number of items in this category" } }, "required": [ "id", "name", "userId", "createdAt", "updatedAt", "count" ] }, "CreateItemCategoryDto": { "type": "object", "properties": { "name": { "type": "string", "example": "Category name", "description": "The category name" }, "description": { "type": "string", "example": "Category description", "description": "The category description" }, "costAccountId": { "type": "number", "example": 1, "description": "The cost account ID" }, "sellAccountId": { "type": "number", "example": 1, "description": "The sell account ID" }, "inventoryAccountId": { "type": "number", "example": 1, "description": "The inventory account ID" }, "costMethod": { "type": "string", "example": "FIFO", "description": "The cost method" } }, "required": [ "name", "description", "costAccountId", "sellAccountId", "inventoryAccountId", "costMethod" ] }, "EditItemCategoryDto": { "type": "object", "properties": { "name": { "type": "string", "example": "Category name", "description": "The category name" }, "description": { "type": "string", "example": "Category description", "description": "The category description" }, "costAccountId": { "type": "number", "example": 1, "description": "The cost account ID" }, "sellAccountId": { "type": "number", "example": 1, "description": "The sell account ID" }, "inventoryAccountId": { "type": "number", "example": 1, "description": "The inventory account ID" }, "costMethod": { "type": "string", "example": "FIFO", "description": "The cost method" } }, "required": [ "name", "description", "costAccountId", "sellAccountId", "inventoryAccountId", "costMethod" ] }, "ExpenseCategoryResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "The unique identifier of the expense category" }, "amount": { "type": "number", "example": 100, "description": "The amount of the expense category" }, "allocatedCostAmount": { "type": "number", "example": 50, "description": "The allocated cost amount of the expense category" }, "expenseAccountId": { "type": "number", "example": 1, "description": "The expense account ID associated with this category" }, "projectId": { "type": "number", "example": 1, "description": "The project ID associated with this category" }, "description": { "type": "string", "example": "Office supplies for Q1", "description": "The description of the expense category" }, "unallocatedCostAmount": { "type": "number", "example": 50, "description": "The unallocated cost amount of the expense category" } }, "required": [ "id", "amount", "allocatedCostAmount", "expenseAccountId", "description", "unallocatedCostAmount" ] }, "ExpenseResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "The unique identifier of the expense" }, "totalAmount": { "type": "number", "example": 1000, "description": "The total amount of the expense" }, "currencyCode": { "type": "string", "example": "USD", "description": "The currency code of the expense" }, "exchangeRate": { "type": "number", "example": 1.2, "description": "The exchange rate used for the expense" }, "description": { "type": "string", "example": "Office supplies and equipment", "description": "The description of the expense" }, "paymentAccountId": { "type": "number", "example": 1, "description": "The ID of the payment account used for this expense" }, "referenceNo": { "type": "string", "example": "EXP-2024-001", "description": "The reference number of the expense" }, "publishedAt": { "format": "date-time", "type": "string", "example": "2024-03-20T10:00:00Z", "description": "The date when the expense was published" }, "userId": { "type": "number", "example": 1, "description": "The ID of the user who created the expense" }, "paymentDate": { "format": "date-time", "type": "string", "example": "2024-03-20T10:00:00Z", "description": "The payment date of the expense" }, "payeeId": { "type": "number", "example": 1, "description": "The ID of the payee" }, "landedCostAmount": { "type": "number", "example": 800, "description": "The landed cost amount of the expense" }, "allocatedCostAmount": { "type": "number", "example": 200, "description": "The allocated cost amount of the expense" }, "invoicedAmount": { "type": "number", "example": 0, "description": "The invoiced amount of the expense" }, "branchId": { "type": "number", "example": 1, "description": "The ID of the branch associated with the expense" }, "createdAt": { "format": "date-time", "type": "string", "example": "2024-03-20T10:00:00Z", "description": "The creation date of the expense" }, "isPublished": { "type": "boolean", "example": true, "description": "Whether the expense is published" }, "unallocatedCostAmount": { "type": "number", "example": 200, "description": "The unallocated cost amount of the expense" }, "localAmount": { "type": "number", "example": 1200, "description": "The local amount of the expense (total amount * exchange rate)" }, "localLandedCostAmount": { "type": "number", "example": 960, "description": "The local landed cost amount of the expense" }, "localAllocatedCostAmount": { "type": "number", "example": 240, "description": "The local allocated cost amount of the expense" }, "localUnallocatedCostAmount": { "type": "number", "example": 240, "description": "The local unallocated cost amount of the expense" }, "billableAmount": { "type": "number", "example": 1000, "description": "The billable amount of the expense" }, "categories": { "description": "The categories associated with this expense", "type": "array", "items": { "$ref": "#/components/schemas/ExpenseCategoryResponseDto" } } }, "required": [ "id", "totalAmount", "currencyCode", "exchangeRate", "paymentAccountId", "referenceNo", "userId", "paymentDate", "payeeId", "landedCostAmount", "allocatedCostAmount", "invoicedAmount", "branchId", "createdAt", "isPublished", "unallocatedCostAmount", "localAmount", "localLandedCostAmount", "localAllocatedCostAmount", "localUnallocatedCostAmount", "billableAmount", "categories" ] }, "CreateExpenseDto": { "type": "object", "properties": { "referenceNo": { "type": "string", "description": "The reference number of the expense", "example": "INV-123456" }, "paymentDate": { "format": "date-time", "type": "string", "description": "The payment date of the expense", "example": "2021-01-01" }, "paymentAccountId": { "type": "number", "description": "The payment account id of the expense", "example": 1 }, "description": { "type": "string", "description": "The description of the expense", "example": "This is a description" }, "exchangeRate": { "type": "number", "description": "The exchange rate of the expense", "example": 1 }, "currencyCode": { "type": "string", "description": "The currency code of the expense", "example": "USD" }, "publish": { "type": "boolean", "description": "The publish status of the expense", "example": true }, "payeeId": { "type": "number", "description": "The payee id of the expense", "example": 1 }, "branchId": { "type": "number", "description": "The branch id of the expense", "example": 1 }, "categories": { "description": "The categories of the expense", "example": [ { "index": 1, "expenseAccountId": 1, "amount": 100, "description": "This is a description", "landedCost": true, "projectId": 1 } ], "type": "array", "items": { "type": "string" } }, "attachments": { "description": "The attachments of the expense", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "referenceNo", "paymentDate", "paymentAccountId", "description", "exchangeRate", "currencyCode", "publish", "payeeId", "branchId", "categories", "attachments" ] }, "EditExpenseDto": { "type": "object", "properties": { "referenceNo": { "type": "string", "description": "The reference number of the expense", "example": "INV-123456" }, "paymentDate": { "format": "date-time", "type": "string", "description": "The payment date of the expense", "example": "2021-01-01" }, "paymentAccountId": { "type": "number", "description": "The payment account id of the expense", "example": 1 }, "description": { "type": "string", "description": "The description of the expense", "example": "This is a description" }, "exchangeRate": { "type": "number", "description": "The exchange rate of the expense", "example": 1 }, "currencyCode": { "type": "string", "description": "The currency code of the expense", "example": "USD" }, "publish": { "type": "boolean", "description": "The publish status of the expense", "example": true }, "payeeId": { "type": "number", "description": "The payee id of the expense", "example": 1 }, "branchId": { "type": "number", "description": "The branch id of the expense", "example": 1 }, "categories": { "description": "The categories of the expense", "example": [ { "index": 1, "expenseAccountId": 1, "amount": 100, "description": "This is a description", "landedCost": true, "projectId": 1 } ], "type": "array", "items": { "type": "string" } }, "attachments": { "description": "The attachments of the expense", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "referenceNo", "paymentDate", "paymentAccountId", "description", "exchangeRate", "currencyCode", "publish", "payeeId", "branchId", "categories", "attachments" ] }, "WarehouseTransferEntryResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The ID of the warehouse transfer entry", "example": 1 }, "itemId": { "type": "number", "description": "The ID of the item being transferred", "example": 1 }, "quantity": { "type": "number", "description": "The quantity of items being transferred", "example": 100 }, "cost": { "type": "number", "description": "The cost per unit of the item", "example": 10.5 }, "total": { "type": "number", "description": "The total cost of the transfer entry", "example": 1050 }, "formattedQuantity": { "type": "string", "description": "The formatted quantity of items being transferred", "example": "100.00" }, "formattedCost": { "type": "string", "description": "The formatted cost per unit of the item", "example": "$10.50" }, "formattedTotal": { "type": "string", "description": "The formatted total cost of the transfer entry", "example": "$1,050.00" }, "item": { "type": "object", "description": "The item details" } }, "required": [ "id", "itemId", "quantity", "cost", "total", "formattedQuantity", "formattedCost", "formattedTotal", "item" ] }, "WarehouseTransferResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The ID of the warehouse transfer", "example": 1 }, "date": { "format": "date-time", "type": "string", "description": "The date of the warehouse transfer", "example": "2024-03-20" }, "formattedDate": { "type": "string", "description": "The formatted date of the warehouse transfer", "example": "Mar 20, 2024" }, "transactionNumber": { "type": "string", "description": "The transaction number of the warehouse transfer", "example": "WT-2024-001" }, "fromWarehouseId": { "type": "number", "description": "The ID of the source warehouse", "example": 1 }, "toWarehouseId": { "type": "number", "description": "The ID of the destination warehouse", "example": 2 }, "transferInitiatedAt": { "format": "date-time", "type": "string", "description": "The date when the transfer was initiated", "example": "2024-03-20T10:00:00Z" }, "transferDeliveredAt": { "format": "date-time", "type": "string", "description": "The date when the transfer was delivered", "example": "2024-03-21T15:00:00Z" }, "isInitiated": { "type": "boolean", "description": "Whether the transfer has been initiated", "example": true }, "isTransferred": { "type": "boolean", "description": "Whether the transfer has been completed", "example": true }, "fromWarehouse": { "type": "object", "description": "The source warehouse details" }, "toWarehouse": { "type": "object", "description": "The destination warehouse details" }, "entries": { "description": "The entries of the warehouse transfer", "type": "array", "items": { "$ref": "#/components/schemas/WarehouseTransferEntryResponseDto" } }, "createdAt": { "format": "date-time", "type": "string", "description": "The creation date of the warehouse transfer", "example": "2024-03-20T09:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The last update date of the warehouse transfer", "example": "2024-03-21T15:00:00Z" } }, "required": [ "id", "date", "formattedDate", "transactionNumber", "fromWarehouseId", "toWarehouseId", "transferInitiatedAt", "transferDeliveredAt", "isInitiated", "isTransferred", "fromWarehouse", "toWarehouse", "entries", "createdAt", "updatedAt" ] }, "CreateWarehouseTransferDto": { "type": "object", "properties": { "fromWarehouseId": { "type": "number", "description": "The id of the warehouse to transfer from", "example": 1 }, "toWarehouseId": { "type": "number", "description": "The id of the warehouse to transfer to", "example": 2 }, "date": { "format": "date-time", "type": "string", "description": "The date of the warehouse transfer", "example": "2021-01-01" }, "transactionNumber": { "type": "string", "description": "The transaction number of the warehouse transfer", "example": "123456" }, "transferInitiated": { "type": "boolean", "description": "Whether the warehouse transfer has been initiated", "example": false }, "transferDelivered": { "type": "boolean", "description": "Whether the warehouse transfer has been delivered", "example": false }, "entries": { "description": "The entries of the warehouse transfer", "example": [ { "index": 1, "itemId": 1, "description": "This is a description", "quantity": 100, "cost": 100 } ], "type": "array", "items": { "type": "string" } } }, "required": [ "fromWarehouseId", "toWarehouseId", "date", "transactionNumber", "transferInitiated", "transferDelivered", "entries" ] }, "EditWarehouseTransferDto": { "type": "object", "properties": { "fromWarehouseId": { "type": "number", "description": "The id of the warehouse to transfer from", "example": 1 }, "toWarehouseId": { "type": "number", "description": "The id of the warehouse to transfer to", "example": 2 }, "date": { "format": "date-time", "type": "string", "description": "The date of the warehouse transfer", "example": "2021-01-01" }, "transactionNumber": { "type": "string", "description": "The transaction number of the warehouse transfer", "example": "123456" }, "transferInitiated": { "type": "boolean", "description": "Whether the warehouse transfer has been initiated", "example": false }, "transferDelivered": { "type": "boolean", "description": "Whether the warehouse transfer has been delivered", "example": false }, "entries": { "description": "The entries of the warehouse transfer", "example": [ { "index": 1, "itemId": 1, "description": "This is a description", "quantity": 100, "cost": 100 } ], "type": "array", "items": { "type": "string" } } }, "required": [ "fromWarehouseId", "toWarehouseId", "date", "transactionNumber", "transferInitiated", "transferDelivered", "entries" ] }, "ValidateBulkDeleteCustomersResponseDto": { "type": "object", "properties": { "deletableCount": { "type": "number", "description": "Number of customers that can be deleted", "example": 2 }, "nonDeletableCount": { "type": "number", "description": "Number of customers that cannot be deleted", "example": 1 }, "deletableIds": { "description": "IDs of customers that can be deleted", "example": [ 1, 2 ], "type": "array", "items": { "type": "number" } }, "nonDeletableIds": { "description": "IDs of customers that cannot be deleted", "example": [ 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "deletableCount", "nonDeletableCount", "deletableIds", "nonDeletableIds" ] }, "CustomerResponseDto": { "type": "object", "properties": { "balance": { "type": "number", "example": 1500 }, "currencyCode": { "type": "string", "example": "USD" }, "openingBalance": { "type": "number", "example": 1000 }, "openingBalanceAt": { "format": "date-time", "type": "string", "example": "2024-01-01T00:00:00Z" }, "openingBalanceExchangeRate": { "type": "number", "example": 1 }, "openingBalanceBranchId": { "type": "number", "example": 1 }, "salutation": { "type": "string", "example": "Mr." }, "firstName": { "type": "string", "example": "John" }, "lastName": { "type": "string", "example": "Doe" }, "companyName": { "type": "string", "example": "Acme Corporation" }, "displayName": { "type": "string", "example": "John Doe - Acme Corporation" }, "email": { "type": "string", "example": "john.doe@acme.com" }, "workPhone": { "type": "string", "example": "+1 (555) 123-4567" }, "personalPhone": { "type": "string", "example": "+1 (555) 987-6543" }, "website": { "type": "string", "example": "https://www.acme.com" }, "billingAddress1": { "type": "string", "example": "123 Business Ave" }, "billingAddress2": { "type": "string", "example": "Suite 100" }, "billingAddressCity": { "type": "string", "example": "New York" }, "billingAddressCountry": { "type": "string", "example": "United States" }, "billingAddressEmail": { "type": "string", "example": "billing@acme.com" }, "billingAddressPostcode": { "type": "string", "example": "10001" }, "billingAddressPhone": { "type": "string", "example": "+1 (555) 111-2222" }, "billingAddressState": { "type": "string", "example": "NY" }, "shippingAddress1": { "type": "string", "example": "456 Shipping St" }, "shippingAddress2": { "type": "string", "example": "Unit 200" }, "shippingAddressCity": { "type": "string", "example": "Los Angeles" }, "shippingAddressCountry": { "type": "string", "example": "United States" }, "shippingAddressEmail": { "type": "string", "example": "shipping@acme.com" }, "shippingAddressPostcode": { "type": "string", "example": "90001" }, "shippingAddressPhone": { "type": "string", "example": "+1 (555) 333-4444" }, "shippingAddressState": { "type": "string", "example": "CA" }, "note": { "type": "string", "example": "Important client with regular monthly orders" }, "active": { "type": "boolean", "example": true }, "createdAt": { "format": "date-time", "type": "string", "example": "2024-01-01T00:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "example": "2024-01-01T00:00:00Z" }, "localOpeningBalance": { "type": "number", "example": 1000 }, "closingBalance": { "type": "number", "example": 1500 } }, "required": [ "balance", "currencyCode", "openingBalance", "openingBalanceAt", "openingBalanceExchangeRate", "displayName", "note", "active", "createdAt", "updatedAt", "localOpeningBalance", "closingBalance" ] }, "CreateCustomerDto": { "type": "object", "properties": { "billingAddress1": { "type": "string", "description": "Billing address line 1" }, "billingAddress2": { "type": "string", "description": "Billing address line 2" }, "billingAddressCity": { "type": "string", "description": "Billing address city" }, "billingAddressCountry": { "type": "string", "description": "Billing address country" }, "billingAddressEmail": { "type": "string", "description": "Billing address email" }, "billingAddressPostcode": { "type": "string", "description": "Billing address postcode" }, "billingAddressPhone": { "type": "string", "description": "Billing address phone" }, "billingAddressState": { "type": "string", "description": "Billing address state" }, "shippingAddress1": { "type": "string", "description": "Shipping address line 1" }, "shippingAddress2": { "type": "string", "description": "Shipping address line 2" }, "shippingAddressCity": { "type": "string", "description": "Shipping address city" }, "shippingAddressCountry": { "type": "string", "description": "Shipping address country" }, "shippingAddressEmail": { "type": "string", "description": "Shipping address email" }, "shippingAddressPostcode": { "type": "string", "description": "Shipping address postcode" }, "shippingAddressPhone": { "type": "string", "description": "Shipping address phone" }, "shippingAddressState": { "type": "string", "description": "Shipping address state" }, "customerType": { "type": "string", "description": "Customer type", "example": "business" }, "currencyCode": { "type": "string", "description": "Currency code", "example": "USD" }, "openingBalance": { "type": "number", "description": "Opening balance", "example": 5000 }, "openingBalanceAt": { "type": "string", "description": "Opening balance date (required when openingBalance is provided)", "example": "2024-01-01" }, "openingBalanceExchangeRate": { "type": "number", "description": "Opening balance exchange rate", "example": 1 }, "openingBalanceBranchId": { "type": "number", "description": "Opening balance branch ID", "example": 101 }, "salutation": { "type": "string", "description": "Salutation", "example": "Mr." }, "firstName": { "type": "string", "description": "First name", "example": "John" }, "lastName": { "type": "string", "description": "Last name", "example": "Smith" }, "companyName": { "type": "string", "description": "Company name", "example": "Acme Corporation" }, "displayName": { "type": "string", "description": "Display name", "example": "Acme Corporation" }, "website": { "type": "string", "description": "Website", "example": "https://www.acmecorp.com" }, "email": { "type": "string", "description": "Email", "example": "contact@acmecorp.com" }, "workPhone": { "type": "string", "description": "Work phone", "example": "+1 (555) 123-4567" }, "personalPhone": { "type": "string", "description": "Personal phone" }, "note": { "type": "string", "description": "Note" }, "active": { "type": "boolean", "description": "Active status", "default": true }, "code": { "type": "string", "description": "Customer code", "example": "CUST-001" } }, "required": [ "customerType", "currencyCode", "displayName" ] }, "EditCustomerDto": { "type": "object", "properties": { "billingAddress1": { "type": "string", "description": "Billing address line 1" }, "billingAddress2": { "type": "string", "description": "Billing address line 2" }, "billingAddressCity": { "type": "string", "description": "Billing address city" }, "billingAddressCountry": { "type": "string", "description": "Billing address country" }, "billingAddressEmail": { "type": "string", "description": "Billing address email" }, "billingAddressPostcode": { "type": "string", "description": "Billing address postcode" }, "billingAddressPhone": { "type": "string", "description": "Billing address phone" }, "billingAddressState": { "type": "string", "description": "Billing address state" }, "shippingAddress1": { "type": "string", "description": "Shipping address line 1" }, "shippingAddress2": { "type": "string", "description": "Shipping address line 2" }, "shippingAddressCity": { "type": "string", "description": "Shipping address city" }, "shippingAddressCountry": { "type": "string", "description": "Shipping address country" }, "shippingAddressEmail": { "type": "string", "description": "Shipping address email" }, "shippingAddressPostcode": { "type": "string", "description": "Shipping address postcode" }, "shippingAddressPhone": { "type": "string", "description": "Shipping address phone" }, "shippingAddressState": { "type": "string", "description": "Shipping address state" }, "customerType": { "type": "string", "description": "Customer type" }, "salutation": { "type": "string", "description": "Salutation" }, "firstName": { "type": "string", "description": "First name" }, "lastName": { "type": "string", "description": "Last name" }, "companyName": { "type": "string", "description": "Company name" }, "displayName": { "type": "string", "description": "Display name" }, "website": { "type": "string", "description": "Website" }, "email": { "type": "string", "description": "Email" }, "workPhone": { "type": "string", "description": "Work phone" }, "personalPhone": { "type": "string", "description": "Personal phone" }, "note": { "type": "string", "description": "Note" }, "active": { "type": "boolean", "description": "Active status" }, "code": { "type": "string", "description": "Customer code" } }, "required": [ "customerType", "displayName" ] }, "CustomerOpeningBalanceEditDto": { "type": "object", "properties": { "openingBalance": { "type": "number", "description": "Opening balance", "example": 5000 }, "openingBalanceAt": { "type": "string", "description": "Opening balance date", "example": "2024-01-01" }, "openingBalanceExchangeRate": { "type": "number", "description": "Opening balance exchange rate", "example": 1 }, "openingBalanceBranchId": { "type": "number", "description": "Opening balance branch ID", "example": 101 } }, "required": [ "openingBalance" ] }, "BulkDeleteCustomersDto": { "type": "object", "properties": { "ids": { "description": "Array of customer IDs to delete", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } }, "skipUndeletable": { "type": "boolean", "description": "When true, undeletable customers will be skipped and only deletable ones removed.", "default": false } }, "required": [ "ids" ] }, "ValidateBulkDeleteVendorsResponseDto": { "type": "object", "properties": { "deletableCount": { "type": "number", "description": "Number of vendors that can be deleted", "example": 2 }, "nonDeletableCount": { "type": "number", "description": "Number of vendors that cannot be deleted", "example": 1 }, "deletableIds": { "description": "IDs of vendors that can be deleted", "example": [ 1, 2 ], "type": "array", "items": { "type": "number" } }, "nonDeletableIds": { "description": "IDs of vendors that cannot be deleted", "example": [ 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "deletableCount", "nonDeletableCount", "deletableIds", "nonDeletableIds" ] }, "CreateVendorDto": { "type": "object", "properties": { "billingAddress1": { "type": "string", "description": "Billing address line 1" }, "billingAddress2": { "type": "string", "description": "Billing address line 2" }, "billingAddressCity": { "type": "string", "description": "Billing address city" }, "billingAddressCountry": { "type": "string", "description": "Billing address country" }, "billingAddressEmail": { "type": "string", "description": "Billing address email" }, "billingAddressPostcode": { "type": "string", "description": "Billing address postcode" }, "billingAddressPhone": { "type": "string", "description": "Billing address phone" }, "billingAddressState": { "type": "string", "description": "Billing address state" }, "shippingAddress1": { "type": "string", "description": "Shipping address line 1" }, "shippingAddress2": { "type": "string", "description": "Shipping address line 2" }, "shippingAddressCity": { "type": "string", "description": "Shipping address city" }, "shippingAddressCountry": { "type": "string", "description": "Shipping address country" }, "shippingAddressEmail": { "type": "string", "description": "Shipping address email" }, "shippingAddressPostcode": { "type": "string", "description": "Shipping address postcode" }, "shippingAddressPhone": { "type": "string", "description": "Shipping address phone" }, "shippingAddressState": { "type": "string", "description": "Shipping address state" }, "openingBalance": { "type": "number", "description": "Vendor opening balance" }, "openingBalanceExchangeRate": { "type": "number", "description": "Vendor opening balance exchange rate", "default": 1 }, "openingBalanceAt": { "format": "date-time", "type": "string", "description": "Date of the opening balance (required when openingBalance is provided)" }, "openingBalanceBranchId": { "type": "number", "description": "Branch ID for the opening balance" }, "currencyCode": { "type": "string", "description": "Currency code for the vendor" }, "salutation": { "type": "string", "description": "Vendor salutation" }, "firstName": { "type": "string", "description": "Vendor first name" }, "lastName": { "type": "string", "description": "Vendor last name" }, "companyName": { "type": "string", "description": "Vendor company name" }, "displayName": { "type": "string", "description": "Vendor display name" }, "website": { "type": "string", "description": "Vendor website" }, "email": { "type": "string", "description": "Vendor email address" }, "workPhone": { "type": "string", "description": "Vendor work phone number" }, "personalPhone": { "type": "string", "description": "Vendor personal phone number" }, "note": { "type": "string", "description": "Additional notes about the vendor" }, "active": { "type": "boolean", "description": "Whether the vendor is active", "default": true }, "code": { "type": "string", "description": "Vendor code", "example": "VEND-001" } }, "required": [ "currencyCode" ] }, "EditVendorDto": { "type": "object", "properties": { "billingAddress1": { "type": "string", "description": "Billing address line 1" }, "billingAddress2": { "type": "string", "description": "Billing address line 2" }, "billingAddressCity": { "type": "string", "description": "Billing address city" }, "billingAddressCountry": { "type": "string", "description": "Billing address country" }, "billingAddressEmail": { "type": "string", "description": "Billing address email" }, "billingAddressPostcode": { "type": "string", "description": "Billing address postcode" }, "billingAddressPhone": { "type": "string", "description": "Billing address phone" }, "billingAddressState": { "type": "string", "description": "Billing address state" }, "shippingAddress1": { "type": "string", "description": "Shipping address line 1" }, "shippingAddress2": { "type": "string", "description": "Shipping address line 2" }, "shippingAddressCity": { "type": "string", "description": "Shipping address city" }, "shippingAddressCountry": { "type": "string", "description": "Shipping address country" }, "shippingAddressEmail": { "type": "string", "description": "Shipping address email" }, "shippingAddressPostcode": { "type": "string", "description": "Shipping address postcode" }, "shippingAddressPhone": { "type": "string", "description": "Shipping address phone" }, "shippingAddressState": { "type": "string", "description": "Shipping address state" }, "salutation": { "type": "string", "description": "Vendor salutation" }, "firstName": { "type": "string", "description": "Vendor first name" }, "lastName": { "type": "string", "description": "Vendor last name" }, "companyName": { "type": "string", "description": "Vendor company name" }, "displayName": { "type": "string", "description": "Vendor display name" }, "website": { "type": "string", "description": "Vendor website" }, "email": { "type": "string", "description": "Vendor email address" }, "workPhone": { "type": "string", "description": "Vendor work phone number" }, "personalPhone": { "type": "string", "description": "Vendor personal phone number" }, "note": { "type": "string", "description": "Additional notes about the vendor" }, "active": { "type": "boolean", "description": "Whether the vendor is active" }, "code": { "type": "string", "description": "Vendor code" } } }, "VendorOpeningBalanceEditDto": { "type": "object", "properties": { "openingBalance": { "type": "number", "description": "Opening balance", "example": 5000 }, "openingBalanceAt": { "type": "string", "description": "Opening balance date", "example": "2024-01-01" }, "openingBalanceExchangeRate": { "type": "number", "description": "Opening balance exchange rate", "example": 1 }, "openingBalanceBranchId": { "type": "number", "description": "Opening balance branch ID", "example": 101 } }, "required": [ "openingBalance" ] }, "BulkDeleteVendorsDto": { "type": "object", "properties": { "ids": { "description": "Array of vendor IDs to delete", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } }, "skipUndeletable": { "type": "boolean", "description": "When true, undeletable vendors will be skipped and only deletable ones removed.", "default": false } }, "required": [ "ids" ] }, "SaleEstiamteStateResponseDto": { "type": "object", "properties": { "defaultTemplateId": { "type": "number", "description": "The ID of the default PDF template for sale estimates", "example": 1, "nullable": true } }, "required": [ "defaultTemplateId" ] }, "SaleEstimateResponseDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "Unique identifier of the customer", "example": 1 }, "estimateDate": { "type": "string", "description": "Date of the estimate", "example": "2024-01-01" }, "expirationDate": { "type": "string", "description": "Expiration date of the estimate", "example": "2024-01-31" }, "reference": { "type": "string", "description": "Reference number of the estimate", "example": "EST-2024-001" }, "estimateNumber": { "type": "string", "description": "Estimate number", "example": "EST-2024-001" }, "note": { "type": "string", "description": "Note for the estimate", "example": "This is a note." }, "termsConditions": { "type": "string", "description": "Terms and conditions for the estimate", "example": "Payment due in 30 days." }, "sendToEmail": { "type": "string", "description": "Email to send the estimate to", "example": "customer@email.com" }, "exchangeRate": { "type": "number", "description": "Exchange rate used for the estimate", "example": 1 }, "amount": { "type": "number", "description": "Amount of the estimate", "example": 1000 }, "currencyCode": { "type": "string", "description": "Currency code", "example": "USD" }, "deliveredAt": { "type": "string", "description": "Delivered at date", "example": "2024-01-05" }, "approvedAt": { "type": "string", "description": "Approved at date", "example": "2024-01-10" }, "rejectedAt": { "type": "string", "description": "Rejected at date", "example": "2024-01-15" }, "userId": { "type": "number", "description": "User ID who created the estimate", "example": 42 }, "convertedToInvoiceId": { "type": "number", "description": "Converted to invoice ID", "example": 100 }, "convertedToInvoiceAt": { "type": "string", "description": "Converted to invoice at date", "example": "2024-02-01" }, "createdAt": { "type": "string", "description": "Created at date", "example": "2024-01-01" }, "updatedAt": { "type": "string", "description": "Updated at date", "example": "2024-01-10" }, "branchId": { "type": "number", "description": "Branch ID", "example": 2 }, "warehouseId": { "type": "number", "description": "Warehouse ID", "example": 3 }, "discount": { "type": "number", "description": "Discount value", "example": 100 }, "discountType": { "type": "string", "description": "Discount type", "example": "amount" }, "adjustment": { "type": "number", "description": "Adjustment value", "example": 50 }, "formattedSubtotal": { "type": "string", "description": "Formatted subtotal of the estimate", "example": "1,000.00" }, "formattedAmount": { "type": "string", "description": "Formatted total amount of the estimate", "example": "1,200.00" }, "formattedEstimateDate": { "type": "string", "description": "Formatted estimate date", "example": "2024-01-01" }, "formattedExpirationDate": { "type": "string", "description": "Formatted expiration date", "example": "2024-01-31" }, "formattedDeliveredAtDate": { "type": "string", "description": "Formatted delivered at date", "example": "2024-01-05" }, "formattedApprovedAtDate": { "type": "string", "description": "Formatted approved at date", "example": "2024-01-10" }, "formattedRejectedAtDate": { "type": "string", "description": "Formatted rejected at date", "example": "2024-01-15" }, "discountAmountFormatted": { "type": "string", "description": "Formatted discount amount", "example": "100.00" }, "discountPercentageFormatted": { "type": "string", "description": "Formatted discount percentage", "example": "10%" }, "adjustmentFormatted": { "type": "string", "description": "Formatted adjustment amount", "example": "50.00" }, "totalFormatted": { "type": "string", "description": "Formatted total", "example": "1,150.00" }, "totalLocalFormatted": { "type": "string", "description": "Formatted total in local currency", "example": "1,200.00" }, "formattedCreatedAt": { "type": "string", "description": "Formatted created at date", "example": "2024-01-01" }, "entries": { "description": "Entries of the sale estimate", "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "attachments": { "description": "Attachments of the sale estimate", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } } }, "required": [ "customerId", "estimateDate", "expirationDate", "reference", "estimateNumber", "note", "termsConditions", "sendToEmail", "exchangeRate", "amount", "currencyCode", "userId", "discount", "discountType", "adjustment", "formattedSubtotal", "formattedAmount", "formattedEstimateDate", "formattedExpirationDate", "formattedDeliveredAtDate", "formattedApprovedAtDate", "formattedRejectedAtDate", "discountAmountFormatted", "discountPercentageFormatted", "adjustmentFormatted", "totalFormatted", "totalLocalFormatted", "formattedCreatedAt", "entries", "attachments" ] }, "CreateSaleEstimateDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "The id of the customer", "example": 1 }, "estimateDate": { "format": "date-time", "type": "string", "description": "The date of the estimate", "example": "2021-01-01" }, "expirationDate": { "format": "date-time", "type": "string", "description": "The expiration date of the estimate", "example": "2021-01-01" }, "reference": { "type": "string", "description": "The reference of the estimate", "example": "123456" }, "exchangeRate": { "type": "number", "description": "The exchange rate of the estimate", "example": 1 }, "warehouseId": { "type": "number", "description": "The id of the warehouse", "example": 1 }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "entries": { "description": "The entries of the estimate", "example": [ { "index": 1, "itemId": 1, "description": "This is a description", "quantity": 100, "cost": 100 } ], "type": "array", "items": { "type": "string" } }, "note": { "type": "string", "description": "The note of the estimate", "example": "This is a note" }, "termsConditions": { "type": "string", "description": "The terms and conditions of the estimate", "example": "This is a terms and conditions" }, "sendToEmail": { "type": "string", "description": "The email to send the estimate to", "example": "test@test.com" }, "attachments": { "description": "The attachments of the estimate", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "pdfTemplateId": { "type": "number", "description": "The id of the pdf template", "example": 1 }, "discount": { "type": "number", "description": "The discount of the estimate", "example": 1 }, "discountType": { "type": "string", "description": "The type of the discount", "example": "amount" }, "adjustment": { "type": "number", "description": "The adjustment of the estimate", "example": 1 } }, "required": [ "customerId", "estimateDate", "expirationDate", "reference", "exchangeRate", "warehouseId", "branchId", "entries", "note", "termsConditions", "sendToEmail", "attachments", "pdfTemplateId", "discount", "discountType", "adjustment" ] }, "EditSaleEstimateDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "The id of the customer", "example": 1 }, "estimateDate": { "format": "date-time", "type": "string", "description": "The date of the estimate", "example": "2021-01-01" }, "expirationDate": { "format": "date-time", "type": "string", "description": "The expiration date of the estimate", "example": "2021-01-01" }, "reference": { "type": "string", "description": "The reference of the estimate", "example": "123456" }, "exchangeRate": { "type": "number", "description": "The exchange rate of the estimate", "example": 1 }, "warehouseId": { "type": "number", "description": "The id of the warehouse", "example": 1 }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "entries": { "description": "The entries of the estimate", "example": [ { "index": 1, "itemId": 1, "description": "This is a description", "quantity": 100, "cost": 100 } ], "type": "array", "items": { "type": "string" } }, "note": { "type": "string", "description": "The note of the estimate", "example": "This is a note" }, "termsConditions": { "type": "string", "description": "The terms and conditions of the estimate", "example": "This is a terms and conditions" }, "sendToEmail": { "type": "string", "description": "The email to send the estimate to", "example": "test@test.com" }, "attachments": { "description": "The attachments of the estimate", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "pdfTemplateId": { "type": "number", "description": "The id of the pdf template", "example": 1 }, "discount": { "type": "number", "description": "The discount of the estimate", "example": 1 }, "discountType": { "type": "string", "description": "The type of the discount", "example": "amount" }, "adjustment": { "type": "number", "description": "The adjustment of the estimate", "example": 1 } }, "required": [ "customerId", "estimateDate", "expirationDate", "reference", "exchangeRate", "warehouseId", "branchId", "entries", "note", "termsConditions", "sendToEmail", "attachments", "pdfTemplateId", "discount", "discountType", "adjustment" ] }, "SaleReceiptStateResponseDto": { "type": "object", "properties": { "defaultTemplateId": { "type": "number", "description": "The ID of the default PDF template for sale invoices", "example": 1, "nullable": true } }, "required": [ "defaultTemplateId" ] }, "SaleReceiptResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the sale receipt", "example": 1 }, "receiptDate": { "format": "date-time", "type": "string", "description": "The date of the sale receipt", "example": "2024-01-01T00:00:00Z" }, "receiptNumber": { "type": "string", "description": "The receipt number", "example": "SR-2024-001" }, "referenceNo": { "type": "string", "description": "The reference number", "example": "REF-001" }, "customerId": { "type": "number", "description": "The ID of the customer", "example": 1 }, "customer": { "description": "The customer details", "allOf": [ { "$ref": "#/components/schemas/CustomerResponseDto" } ] }, "depositAccountId": { "type": "number", "description": "The ID of the deposit account", "example": 1 }, "depositAccount": { "description": "The deposit account details", "allOf": [ { "$ref": "#/components/schemas/AccountResponseDto" } ] }, "exchangeRate": { "type": "number", "description": "The exchange rate for currency conversion", "example": 1 }, "currencyCode": { "type": "string", "description": "The currency code", "example": "USD" }, "receiptMessage": { "type": "string", "description": "The message on the receipt", "example": "Thank you for your payment" }, "statement": { "type": "string", "description": "The statement on the receipt", "example": "Paid in full" }, "closed": { "type": "boolean", "description": "Whether the receipt is closed", "example": false }, "closedAt": { "type": "object", "description": "The date when the receipt was closed", "example": "2024-01-02T00:00:00Z" }, "warehouseId": { "type": "number", "description": "The ID of the warehouse", "example": 1 }, "warehouse": { "description": "The warehouse details", "allOf": [ { "$ref": "#/components/schemas/WarehouseResponseDto" } ] }, "branchId": { "type": "number", "description": "The ID of the branch", "example": 1 }, "branch": { "description": "The branch details", "allOf": [ { "$ref": "#/components/schemas/BranchResponseDto" } ] }, "entries": { "description": "The entries of the sale receipt", "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "attachments": { "description": "The attachments of the sale receipt", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } }, "discount": { "type": "number", "description": "The discount value", "example": 100 }, "discountType": { "type": "string", "description": "The type of discount (percentage or fixed)", "enum": [ "percentage", "amount" ], "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment amount", "example": 50 }, "subtotal": { "type": "number", "description": "The subtotal amount before discount and adjustments", "example": 900 }, "subtotalLocal": { "type": "number", "description": "The subtotal in local currency", "example": 900 }, "subtotalFormatted": { "type": "string", "description": "The formatted subtotal", "example": "900.00" }, "subtotalLocalFormatted": { "type": "string", "description": "The formatted subtotal in local currency", "example": "900.00" }, "total": { "type": "number", "description": "The total amount after discount and adjustments", "example": 1000 }, "totalLocal": { "type": "number", "description": "The total in local currency", "example": 1000 }, "totalFormatted": { "type": "string", "description": "The formatted total", "example": "1,000.00" }, "totalLocalFormatted": { "type": "string", "description": "The formatted total in local currency", "example": "1,000.00" }, "formattedAmount": { "type": "string", "description": "The formatted amount", "example": "1,000.00" }, "formattedReceiptDate": { "type": "string", "description": "The formatted receipt date", "example": "2024-01-01" }, "formattedClosedAtDate": { "type": "string", "description": "The formatted closed at date", "example": "2024-01-02" }, "formattedCreatedAt": { "type": "string", "description": "The formatted created at date", "example": "2024-01-01" }, "discountAmountFormatted": { "type": "string", "description": "The formatted discount amount", "example": "100.00" }, "discountPercentageFormatted": { "type": "string", "description": "The formatted discount percentage", "example": "10%" }, "adjustmentFormatted": { "type": "string", "description": "The formatted adjustment amount", "example": "50.00" }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the receipt was created", "example": "2024-01-01T00:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the receipt was last updated", "example": "2024-01-02T00:00:00Z" } }, "required": [ "id", "receiptDate", "receiptNumber", "customerId", "customer", "depositAccountId", "depositAccount", "closed", "entries", "subtotal", "subtotalLocal", "subtotalFormatted", "subtotalLocalFormatted", "total", "totalLocal", "totalFormatted", "totalLocalFormatted", "formattedAmount", "formattedReceiptDate", "formattedClosedAtDate", "formattedCreatedAt", "discountAmountFormatted", "discountPercentageFormatted", "adjustmentFormatted", "createdAt" ] }, "CreateSaleReceiptDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "The id of the customer", "example": 1 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the sale receipt", "example": 1 }, "depositAccountId": { "type": "number", "description": "The id of the deposit account", "example": 1 }, "receiptDate": { "format": "date-time", "type": "string", "description": "The date of the sale receipt", "example": "2021-01-01" }, "receiptNumber": { "type": "string", "description": "The receipt number of the sale receipt", "example": "123456" }, "referenceNo": { "type": "string", "description": "The reference number of the sale receipt", "example": "123456" }, "closed": { "type": "boolean", "description": "Whether the sale receipt is closed", "example": false }, "warehouseId": { "type": "number", "description": "The id of the warehouse", "example": 1 }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "entries": { "description": "The entries of the sale receipt", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "receiptMessage": { "type": "string", "description": "The receipt message of the sale receipt", "example": "123456" }, "statement": { "type": "string", "description": "The statement of the sale receipt", "example": "123456" }, "attachments": { "description": "The attachments of the sale receipt", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "pdfTemplateId": { "type": "number", "description": "The id of the pdf template", "example": 1 }, "discount": { "type": "number", "description": "The discount of the sale receipt", "example": 1 }, "discountType": { "type": "string", "description": "The discount type of the sale receipt", "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment of the sale receipt", "example": 1 } }, "required": [ "customerId", "exchangeRate", "depositAccountId", "receiptDate", "receiptNumber", "referenceNo", "closed", "warehouseId", "branchId", "entries", "receiptMessage", "statement", "attachments", "pdfTemplateId", "discount", "discountType", "adjustment" ] }, "EditSaleReceiptDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "The id of the customer", "example": 1 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the sale receipt", "example": 1 }, "depositAccountId": { "type": "number", "description": "The id of the deposit account", "example": 1 }, "receiptDate": { "format": "date-time", "type": "string", "description": "The date of the sale receipt", "example": "2021-01-01" }, "receiptNumber": { "type": "string", "description": "The receipt number of the sale receipt", "example": "123456" }, "referenceNo": { "type": "string", "description": "The reference number of the sale receipt", "example": "123456" }, "closed": { "type": "boolean", "description": "Whether the sale receipt is closed", "example": false }, "warehouseId": { "type": "number", "description": "The id of the warehouse", "example": 1 }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "entries": { "description": "The entries of the sale receipt", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "receiptMessage": { "type": "string", "description": "The receipt message of the sale receipt", "example": "123456" }, "statement": { "type": "string", "description": "The statement of the sale receipt", "example": "123456" }, "attachments": { "description": "The attachments of the sale receipt", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "pdfTemplateId": { "type": "number", "description": "The id of the pdf template", "example": 1 }, "discount": { "type": "number", "description": "The discount of the sale receipt", "example": 1 }, "discountType": { "type": "string", "description": "The discount type of the sale receipt", "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment of the sale receipt", "example": 1 } }, "required": [ "customerId", "exchangeRate", "depositAccountId", "receiptDate", "receiptNumber", "referenceNo", "closed", "warehouseId", "branchId", "entries", "receiptMessage", "statement", "attachments", "pdfTemplateId", "discount", "discountType", "adjustment" ] }, "BillResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the bill", "example": 1 }, "billNumber": { "type": "string", "description": "The bill number", "example": "BILL-2024-001" }, "billDate": { "format": "date-time", "type": "string", "description": "The date the bill was issued", "example": "2024-03-15T00:00:00Z" }, "dueDate": { "format": "date-time", "type": "string", "description": "The due date of the bill", "example": "2024-04-15T00:00:00Z" }, "referenceNo": { "type": "string", "description": "The reference number", "example": "PO-2024-001" }, "vendorId": { "type": "number", "description": "The ID of the vendor", "example": 1001 }, "exchangeRate": { "type": "number", "description": "The exchange rate for currency conversion", "example": 1.25 }, "currencyCode": { "type": "string", "description": "The currency code", "example": "USD" }, "note": { "type": "string", "description": "Additional notes about the bill", "example": "Office supplies and equipment for Q2 2024" }, "isInclusiveTax": { "type": "boolean", "description": "Whether tax is inclusive in the item rates", "example": false }, "entries": { "description": "The line items of the bill", "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "warehouseId": { "type": "number", "description": "The ID of the warehouse", "example": 101 }, "branchId": { "type": "number", "description": "The ID of the branch", "example": 201 }, "branch": { "description": "Branch details", "allOf": [ { "$ref": "#/components/schemas/BranchResponseDto" } ] }, "projectId": { "type": "number", "description": "The ID of the project", "example": 301 }, "attachments": { "description": "The attachments of the bill", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } }, "discount": { "type": "number", "description": "The discount value", "example": 100 }, "discountType": { "type": "string", "description": "The type of discount (percentage or fixed)", "enum": [ "percentage", "amount" ], "example": "amount" }, "adjustment": { "type": "number", "description": "The adjustment amount", "example": 50 }, "taxAmountWithheld": { "type": "number", "description": "The total amount of tax withheld", "example": 50 }, "balance": { "type": "number", "description": "The balance of the bill", "example": 1000 }, "paymentAmount": { "type": "number", "description": "The amount paid", "example": 500 }, "creditedAmount": { "type": "number", "description": "The amount credited", "example": 0 }, "subtotal": { "type": "number", "description": "The subtotal amount before tax and adjustments", "example": 900 }, "total": { "type": "number", "description": "The total amount including tax and adjustments", "example": 1000 }, "dueAmount": { "type": "number", "description": "The due amount remaining to be paid", "example": 500 }, "isOverdue": { "type": "boolean", "description": "Whether the bill is overdue", "example": false }, "isPartiallyPaid": { "type": "boolean", "description": "Whether the bill is partially paid", "example": true }, "isFullyPaid": { "type": "boolean", "description": "Whether the bill is fully paid", "example": false }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the bill was created", "example": "2024-03-15T00:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the bill was last updated", "example": "2024-03-16T00:00:00Z" } }, "required": [ "id", "billNumber", "billDate", "dueDate", "vendorId", "entries", "balance", "paymentAmount", "subtotal", "total", "dueAmount", "isOverdue", "isPartiallyPaid", "isFullyPaid", "createdAt" ] }, "BillEntryDto": { "type": "object", "properties": { "index": { "type": "number", "description": "The index of the item entry", "example": 1 }, "itemId": { "type": "number", "description": "The id of the item", "example": 1 }, "rate": { "type": "number", "description": "The rate of the item entry", "example": 1 }, "quantity": { "type": "number", "description": "The quantity of the item entry", "example": 1 }, "discount": { "type": "number", "description": "The discount of the item entry", "example": 1 }, "discountType": { "type": "string", "description": "The type of the discount", "example": "percentage" }, "description": { "type": "string", "description": "The description of the item entry", "example": "This is a description" }, "taxCode": { "type": "string", "description": "The tax code of the item entry", "example": "123456" }, "taxRateId": { "type": "number", "description": "The tax rate id of the item entry", "example": 1 }, "warehouseId": { "type": "number", "description": "The warehouse id of the item entry", "example": 1 }, "projectId": { "type": "number", "description": "The project id of the item entry", "example": 1 }, "projectRefId": { "type": "number", "description": "The project ref id of the item entry", "example": 1 }, "projectRefType": { "type": "string", "description": "The project ref type of the item entry", "example": "TASK" }, "projectRefInvoicedAmount": { "type": "number", "description": "The project ref invoiced amount of the item entry", "example": 100 }, "sellAccountId": { "type": "number", "description": "The sell account id of the item entry", "example": 1020 }, "costAccountId": { "type": "number", "description": "The cost account id of the item entry", "example": 1021 }, "landedCost": { "type": "boolean", "description": "Flag indicating whether the entry contributes to landed cost", "example": true } }, "required": [ "index", "itemId", "rate", "quantity", "discount", "discountType", "description", "taxCode", "taxRateId", "warehouseId", "projectId", "projectRefId", "projectRefType", "projectRefInvoicedAmount", "sellAccountId", "costAccountId" ] }, "AttachmentDto": { "type": "object", "properties": { "key": { "type": "string", "description": "Storage key of the attachment file", "example": "attachments/bills/receipt.pdf" } }, "required": [ "key" ] }, "CreateBillDto": { "type": "object", "properties": { "billNumber": { "type": "string", "description": "Unique bill number", "example": "BILL-2024-001" }, "referenceNo": { "type": "string", "description": "Reference number", "example": "PO-2024-001" }, "billDate": { "format": "date-time", "type": "string", "description": "Date the bill was issued", "example": "2024-03-15" }, "dueDate": { "format": "date-time", "type": "string", "description": "Date the bill is due", "example": "2024-04-15" }, "vendorId": { "type": "number", "description": "Vendor identifier", "example": 1001 }, "exchangeRate": { "type": "number", "description": "Exchange rate applied to bill amounts", "example": 1.25 }, "warehouseId": { "type": "number", "description": "Warehouse identifier", "example": 101 }, "branchId": { "type": "number", "description": "Branch identifier", "example": 201 }, "projectId": { "type": "number", "description": "Project identifier", "example": 301 }, "note": { "type": "string", "description": "Additional notes about the bill", "example": "Office supplies and equipment for Q2 2024" }, "open": { "type": "boolean", "description": "Indicates if the bill is open", "example": true }, "isInclusiveTax": { "type": "boolean", "description": "Indicates if tax is inclusive in prices", "example": false }, "entries": { "description": "Bill line items", "type": "array", "items": { "$ref": "#/components/schemas/BillEntryDto" } }, "attachments": { "description": "File attachments associated with the bill", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentDto" } }, "discountType": { "type": "string", "description": "Type of discount applied", "example": "amount", "enum": [ "percentage", "amount" ] }, "discount": { "type": "number", "description": "Discount value", "example": 100 }, "adjustment": { "type": "number", "description": "Adjustment value", "example": 50 } }, "required": [ "billDate", "vendorId", "entries" ] }, "EditBillDto": { "type": "object", "properties": { "billNumber": { "type": "string", "description": "Unique bill number", "example": "BILL-2024-001" }, "referenceNo": { "type": "string", "description": "Reference number", "example": "PO-2024-001" }, "billDate": { "format": "date-time", "type": "string", "description": "Date the bill was issued", "example": "2024-03-15" }, "dueDate": { "format": "date-time", "type": "string", "description": "Date the bill is due", "example": "2024-04-15" }, "vendorId": { "type": "number", "description": "Vendor identifier", "example": 1001 }, "exchangeRate": { "type": "number", "description": "Exchange rate applied to bill amounts", "example": 1.25 }, "warehouseId": { "type": "number", "description": "Warehouse identifier", "example": 101 }, "branchId": { "type": "number", "description": "Branch identifier", "example": 201 }, "projectId": { "type": "number", "description": "Project identifier", "example": 301 }, "note": { "type": "string", "description": "Additional notes about the bill", "example": "Office supplies and equipment for Q2 2024" }, "open": { "type": "boolean", "description": "Indicates if the bill is open", "example": true }, "isInclusiveTax": { "type": "boolean", "description": "Indicates if tax is inclusive in prices", "example": false }, "entries": { "description": "Bill line items", "type": "array", "items": { "$ref": "#/components/schemas/BillEntryDto" } }, "attachments": { "description": "File attachments associated with the bill", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentDto" } }, "discountType": { "type": "string", "description": "Type of discount applied", "example": "amount", "enum": [ "percentage", "amount" ] }, "discount": { "type": "number", "description": "Discount value", "example": 100 }, "adjustment": { "type": "number", "description": "Adjustment value", "example": 50 } }, "required": [ "billDate", "vendorId", "entries" ] }, "AllocateBillLandedCostDto": { "type": "object", "properties": {} }, "ManualJournalEntryResponseDto": { "type": "object", "properties": { "index": { "type": "number", "description": "Entry index", "example": 1 }, "credit": { "type": "number", "description": "Credit amount", "example": 1000 }, "debit": { "type": "number", "description": "Debit amount", "example": 0 }, "accountId": { "type": "number", "description": "Account ID", "example": 1 }, "note": { "type": "string", "description": "Entry note", "example": "Payment for services" }, "contactId": { "type": "number", "description": "Contact ID", "example": 1 }, "branchId": { "type": "number", "description": "Branch ID", "example": 1 }, "projectId": { "type": "number", "description": "Project ID", "example": 1 }, "account": { "type": "object", "description": "Account details" }, "contact": { "type": "object", "description": "Contact details" }, "branch": { "type": "object", "description": "Branch details" } }, "required": [ "index", "accountId" ] }, "ManualJournalResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Manual Journal ID", "example": 1 }, "date": { "format": "date-time", "type": "string", "description": "Journal date", "example": "2024-03-20" }, "journalNumber": { "type": "string", "description": "Journal number", "example": "MJ-2024-001" }, "journalType": { "type": "string", "description": "Journal type", "example": "General" }, "reference": { "type": "string", "description": "Reference number", "example": "REF-001" }, "amount": { "type": "number", "description": "Total amount", "example": 1000 }, "currencyCode": { "type": "string", "description": "Currency code", "example": "USD" }, "exchangeRate": { "type": "number", "description": "Exchange rate", "example": 1 }, "description": { "type": "string", "description": "Description", "example": "Monthly journal entry" }, "isPublished": { "type": "boolean", "description": "Published status", "example": false }, "publishedAt": { "format": "date-time", "type": "string", "description": "Published date", "example": "2024-03-20T10:00:00Z" }, "createdAt": { "format": "date-time", "type": "string", "description": "Created date", "example": "2024-03-20T09:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "Updated date", "example": "2024-03-20T09:30:00Z" }, "branchId": { "type": "number", "description": "Branch ID", "example": 1 }, "formattedAmount": { "type": "string", "description": "Formatted amount", "example": "$1,000.00" }, "formattedDate": { "type": "string", "description": "Formatted date", "example": "Mar 20, 2024" }, "formattedPublishedAt": { "type": "string", "description": "Formatted published date", "example": "Mar 20, 2024" }, "formattedCreatedAt": { "type": "string", "description": "Formatted created date", "example": "Mar 20, 2024" }, "entries": { "description": "Journal entries", "type": "array", "items": { "$ref": "#/components/schemas/ManualJournalEntryResponseDto" } }, "attachments": { "description": "Attachments", "type": "array", "items": { "type": "string" } } }, "required": [ "id", "date", "journalNumber", "amount", "isPublished", "createdAt", "formattedAmount", "formattedDate", "formattedCreatedAt", "entries" ] }, "ManualJournalEntryDto": { "type": "object", "properties": { "index": { "type": "number", "description": "Entry index" }, "credit": { "type": "number", "description": "Credit amount" }, "debit": { "type": "number", "description": "Debit amount" }, "accountId": { "type": "number", "description": "Account ID" }, "note": { "type": "string", "description": "Entry note" }, "contactId": { "type": "number", "description": "Contact ID" }, "branchId": { "type": "number", "description": "Branch ID" }, "projectId": { "type": "number", "description": "Project ID" } }, "required": [ "index", "accountId" ] }, "CreateManualJournalDto": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string", "description": "Journal date" }, "currencyCode": { "type": "string", "description": "Currency code" }, "exchangeRate": { "type": "number", "description": "Exchange rate" }, "journalNumber": { "type": "string", "description": "Journal number" }, "journalType": { "type": "string", "description": "Journal type" }, "reference": { "type": "string", "description": "Reference" }, "description": { "type": "string", "description": "Description" }, "branchId": { "type": "number", "description": "Branch ID" }, "publish": { "type": "boolean", "description": "Publish status" }, "entries": { "description": "Journal entries", "type": "array", "items": { "$ref": "#/components/schemas/ManualJournalEntryDto" } }, "attachments": { "description": "Attachments", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentDto" } } }, "required": [ "date", "entries" ] }, "EditManualJournalDto": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string", "description": "Journal date" }, "currencyCode": { "type": "string", "description": "Currency code" }, "exchangeRate": { "type": "number", "description": "Exchange rate" }, "journalNumber": { "type": "string", "description": "Journal number" }, "journalType": { "type": "string", "description": "Journal type" }, "reference": { "type": "string", "description": "Reference" }, "description": { "type": "string", "description": "Description" }, "branchId": { "type": "number", "description": "Branch ID" }, "publish": { "type": "boolean", "description": "Publish status" }, "entries": { "description": "Journal entries", "type": "array", "items": { "$ref": "#/components/schemas/ManualJournalEntryDto" } }, "attachments": { "description": "Attachments", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentDto" } } }, "required": [ "date", "entries" ] }, "CreditNoteResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the credit note", "example": 1 }, "creditNoteDate": { "format": "date-time", "type": "string", "description": "The date of the credit note", "example": "2023-01-01T00:00:00Z" }, "creditNoteNumber": { "type": "string", "description": "The credit note number", "example": "CN-001" }, "referenceNo": { "type": "string", "description": "The reference number", "example": "REF-001" }, "customerId": { "type": "number", "description": "The ID of the customer", "example": 1 }, "exchangeRate": { "type": "number", "description": "The exchange rate for currency conversion", "example": 1 }, "currencyCode": { "type": "string", "description": "The currency code", "example": "USD" }, "note": { "type": "string", "description": "Custom note on the credit note", "example": "Thank you for your business" }, "termsConditions": { "type": "string", "description": "Terms and conditions of the credit note", "example": "Valid for 30 days" }, "isOpen": { "type": "boolean", "description": "Whether the credit note is open", "example": true }, "isClosed": { "type": "boolean", "description": "Whether the credit note is closed", "example": false }, "entries": { "description": "The line items of the credit note", "type": "array", "items": { "$ref": "#/components/schemas/ItemEntryDto" } }, "warehouseId": { "type": "number", "description": "The ID of the warehouse", "example": 1 }, "branchId": { "type": "number", "description": "The ID of the branch", "example": 1 }, "attachments": { "description": "The attachments of the credit note", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } }, "discount": { "type": "number", "description": "The discount value", "example": 10 }, "discountType": { "type": "string", "description": "The type of discount (percentage or fixed)", "enum": [ "percentage", "amount" ], "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment amount", "example": 5 }, "pdfTemplateId": { "type": "number", "description": "The ID of the PDF template", "example": 1 }, "creditsRemaining": { "type": "number", "description": "The total amount of credits remaining", "example": 100 }, "creditsUsed": { "type": "number", "description": "The total amount of credits used", "example": 50 }, "subtotal": { "type": "number", "description": "The subtotal amount before discount and adjustments", "example": 900 }, "subtotalLocal": { "type": "number", "description": "The subtotal amount in local currency", "example": 900 }, "discountAmount": { "type": "number", "description": "The discount amount", "example": 10 }, "discountAmountLocal": { "type": "number", "description": "The discount amount in local currency", "example": 10 }, "discountPercentage": { "type": "number", "description": "The discount percentage", "example": 10 }, "adjustmentLocal": { "type": "number", "description": "The adjustment amount in local currency", "example": 5 }, "total": { "type": "number", "description": "The total amount after discount and adjustments", "example": 1000 }, "totalLocal": { "type": "number", "description": "The total amount in local currency", "example": 1000 }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the credit note was created", "example": "2023-01-01T00:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the credit note was last updated", "example": "2023-01-02T00:00:00Z" }, "formattedCreditNoteDate": { "type": "string", "description": "Formatted credit note date", "example": "2023-01-01" }, "formattedCreatedAt": { "type": "string", "description": "Formatted created at date", "example": "2023-01-01" }, "formattedAmount": { "type": "string", "description": "Formatted amount", "example": "$1,000.00" }, "formattedCreditsRemaining": { "type": "string", "description": "Formatted credits remaining", "example": "$100.00" }, "formattedCreditsUsed": { "type": "string", "description": "Formatted credits used", "example": "$50.00" }, "formattedSubtotal": { "type": "string", "description": "Formatted subtotal", "example": "$900.00" }, "discountAmountFormatted": { "type": "string", "description": "Formatted discount amount", "example": "$10.00" }, "discountAmountLocalFormatted": { "type": "string", "description": "Formatted discount amount in local currency", "example": "$10.00" }, "discountPercentageFormatted": { "type": "string", "description": "Formatted discount percentage", "example": "10%" }, "adjustmentFormatted": { "type": "string", "description": "Formatted adjustment", "example": "$5.00" }, "adjustmentLocalFormatted": { "type": "string", "description": "Formatted adjustment in local currency", "example": "$5.00" }, "totalFormatted": { "type": "string", "description": "Formatted total", "example": "$1,000.00" }, "totalLocalFormatted": { "type": "string", "description": "Formatted total in local currency", "example": "$1,000.00" } }, "required": [ "id", "creditNoteDate", "creditNoteNumber", "customerId", "isOpen", "isClosed", "entries", "subtotal", "total", "createdAt", "formattedCreditNoteDate", "formattedCreatedAt", "formattedAmount", "formattedCreditsRemaining", "formattedCreditsUsed", "formattedSubtotal", "discountAmountFormatted", "discountAmountLocalFormatted", "discountPercentageFormatted", "adjustmentFormatted", "adjustmentLocalFormatted", "totalFormatted", "totalLocalFormatted" ] }, "CreateCreditNoteDto": { "type": "object", "properties": { "customerId": { "type": "number", "example": 1, "description": "The customer ID" }, "exchangeRate": { "type": "number", "example": 3.43, "description": "The exchange rate" }, "creditNoteDate": { "format": "date-time", "type": "string", "example": "2021-09-01", "description": "The credit note date" }, "referenceNo": { "type": "string", "example": "123", "description": "The reference number" }, "creditNoteNumber": { "type": "string", "example": "123", "description": "The credit note number" }, "note": { "type": "string", "example": "123", "description": "The note" }, "termsConditions": { "type": "string", "example": "123", "description": "The terms and conditions" }, "open": { "type": "boolean", "example": false, "description": "The credit note is open" }, "warehouseId": { "type": "number", "example": 1, "description": "The warehouse ID" }, "branchId": { "type": "number", "example": 1, "description": "The branch ID" }, "entries": { "example": [ { "itemId": 1, "quantity": 1, "rate": 10, "taxRateId": 1 } ], "description": "The credit note entries", "type": "array", "items": { "type": "string" } }, "pdfTemplateId": { "type": "number", "example": 1, "description": "The pdf template ID" }, "discount": { "type": "number", "example": 10, "description": "The discount amount" }, "discountType": { "type": "string", "example": "percentage", "description": "The discount type", "enum": [ "percentage", "amount" ] } }, "required": [ "customerId", "exchangeRate", "creditNoteDate", "referenceNo", "creditNoteNumber", "note", "termsConditions", "open", "warehouseId", "branchId", "entries", "pdfTemplateId", "discount", "discountType" ] }, "CreditNoteStateResponseDto": { "type": "object", "properties": { "defaultTemplateId": { "type": "number", "description": "Default PDF template ID for credit notes", "example": 1 } }, "required": [ "defaultTemplateId" ] }, "EditCreditNoteDto": { "type": "object", "properties": { "customerId": { "type": "number", "example": 1, "description": "The customer ID" }, "exchangeRate": { "type": "number", "example": 3.43, "description": "The exchange rate" }, "creditNoteDate": { "format": "date-time", "type": "string", "example": "2021-09-01", "description": "The credit note date" }, "referenceNo": { "type": "string", "example": "123", "description": "The reference number" }, "creditNoteNumber": { "type": "string", "example": "123", "description": "The credit note number" }, "note": { "type": "string", "example": "123", "description": "The note" }, "termsConditions": { "type": "string", "example": "123", "description": "The terms and conditions" }, "open": { "type": "boolean", "example": false, "description": "The credit note is open" }, "warehouseId": { "type": "number", "example": 1, "description": "The warehouse ID" }, "branchId": { "type": "number", "example": 1, "description": "The branch ID" }, "entries": { "example": [ { "itemId": 1, "quantity": 1, "rate": 10, "taxRateId": 1 } ], "description": "The credit note entries", "type": "array", "items": { "type": "string" } }, "pdfTemplateId": { "type": "number", "example": 1, "description": "The pdf template ID" }, "discount": { "type": "number", "example": 10, "description": "The discount amount" }, "discountType": { "type": "string", "example": "percentage", "description": "The discount type", "enum": [ "percentage", "amount" ] } }, "required": [ "customerId", "exchangeRate", "creditNoteDate", "referenceNo", "creditNoteNumber", "note", "termsConditions", "open", "warehouseId", "branchId", "entries", "pdfTemplateId", "discount", "discountType" ] }, "RefundCreditAccountDto": { "type": "object", "properties": { "id": { "type": "number", "example": 10 }, "name": { "type": "string", "example": "Cash on Hand" } }, "required": [ "id", "name" ] }, "RefundCreditNoteSummaryDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "creditNoteNumber": { "type": "string", "example": "CN-0001" } }, "required": [ "id", "creditNoteNumber" ] }, "RefundCreditNoteResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 100 }, "date": { "type": "string", "example": "2024-01-15" }, "formattedDate": { "type": "string", "example": "2024-01-15" }, "amount": { "type": "number", "example": 250 }, "formttedAmount": { "type": "string", "example": "$250.00" }, "referenceNo": { "type": "string", "example": "REF-001", "nullable": true }, "description": { "type": "string", "example": "Refund issued to customer", "nullable": true }, "fromAccount": { "$ref": "#/components/schemas/RefundCreditAccountDto" }, "creditNote": { "$ref": "#/components/schemas/RefundCreditNoteSummaryDto" } }, "required": [ "id", "date", "formattedDate", "amount", "formttedAmount", "fromAccount", "creditNote" ] }, "CreditNoteRefundDto": { "type": "object", "properties": { "fromAccountId": { "type": "number", "description": "The id of the from account", "example": 1 }, "amount": { "type": "number", "description": "The amount of the credit note refund", "example": 100 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the credit note refund", "example": 1 }, "referenceNo": { "type": "string", "description": "The reference number of the credit note refund", "example": "123456" }, "description": { "type": "string", "description": "The description of the credit note refund", "example": "Credit note refund" }, "date": { "format": "date-time", "type": "string", "description": "The date of the credit note refund", "example": "2021-01-01" }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 } }, "required": [ "fromAccountId", "amount", "exchangeRate", "referenceNo", "description", "date", "branchId" ] }, "AppliedCreditNoteInvoiceResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "amount": { "type": "number", "example": 200 }, "formttedAmount": { "type": "string", "example": "$200.00" }, "creditNoteNumber": { "type": "string", "example": "CN-0001" }, "creditNoteDate": { "type": "string", "example": "2024-01-10" }, "formattedCreditNoteDate": { "type": "string", "example": "2024-01-10" }, "invoiceNumber": { "type": "string", "example": "INV-0001" }, "invoiceReferenceNo": { "type": "string", "example": "REF-001", "nullable": true } }, "required": [ "id", "amount", "formttedAmount", "creditNoteNumber", "creditNoteDate", "formattedCreditNoteDate", "invoiceNumber" ] }, "CreditNoteInvoiceToApplyResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "invoiceNo": { "type": "string", "example": "INV-0001" }, "referenceNo": { "type": "string", "example": "REF-001", "nullable": true }, "invoiceDate": { "type": "string", "example": "2024-01-10" }, "dueDate": { "type": "string", "example": "2024-01-20" }, "currencyCode": { "type": "string", "example": "USD", "nullable": true }, "balance": { "type": "number", "example": 500 }, "dueAmount": { "type": "number", "example": 500 }, "paymentAmount": { "type": "number", "example": 0 }, "formattedInvoiceDate": { "type": "string", "example": "2024-01-10" }, "formattedDueDate": { "type": "string", "example": "2024-01-20" }, "formatted_amount": { "type": "string", "example": "$500.00" }, "formattedDueAmount": { "type": "string", "example": "$500.00" }, "formattedPaymentAmount": { "type": "string", "example": "$0.00" } }, "required": [ "id", "invoiceNo", "invoiceDate", "dueDate", "balance", "dueAmount", "paymentAmount", "formattedInvoiceDate", "formattedDueDate", "formatted_amount", "formattedDueAmount", "formattedPaymentAmount" ] }, "ApplyCreditNoteInvoiceEntryDto": { "type": "object", "properties": { "invoiceId": { "type": "number", "description": "Invoice ID to apply credit to", "example": 1 }, "amount": { "type": "number", "description": "Amount to apply", "example": 100.5 } }, "required": [ "invoiceId", "amount" ] }, "ApplyCreditNoteToInvoicesDto": { "type": "object", "properties": { "entries": { "description": "Entries of invoice ID and amount to apply", "example": [ { "invoice_id": 1, "amount": 100.5 }, { "invoice_id": 2, "amount": 50 } ], "type": "array", "items": { "$ref": "#/components/schemas/ApplyCreditNoteInvoiceEntryDto" } } }, "required": [ "entries" ] }, "CreateVendorCreditDto": { "type": "object", "properties": { "vendorId": { "type": "number", "description": "The id of the vendor", "example": 1 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the vendor credit", "example": 1 }, "vendorCreditNumber": { "type": "string", "description": "The vendor credit number", "example": "123456" }, "referenceNo": { "type": "string", "description": "The reference number of the vendor credit", "example": "123456" }, "vendorCreditDate": { "type": "string", "description": "The date of the vendor credit", "example": "2021-01-01" }, "note": { "type": "string", "description": "The note of the vendor credit", "example": "123456" }, "open": { "type": "boolean", "description": "The open status of the vendor credit", "example": true }, "warehouseId": { "type": "number", "description": "The warehouse id of the vendor credit", "example": 1 }, "branchId": { "type": "number", "description": "The branch id of the vendor credit", "example": 1 }, "entries": { "description": "The entries of the vendor credit", "example": [ { "itemId": 1, "quantity": 1, "unitPrice": 1, "discount": 1, "discountType": "percentage", "accountId": 1, "amount": 1 } ], "type": "array", "items": { "type": "string" } }, "attachments": { "description": "The attachments of the vendor credit", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "discount": { "type": "number", "description": "The discount of the vendor credit", "example": 1 }, "discountType": { "type": "string", "description": "The discount type of the vendor credit", "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment of the vendor credit", "example": 1 } }, "required": [ "vendorId", "exchangeRate", "vendorCreditNumber", "referenceNo", "vendorCreditDate", "note", "open", "warehouseId", "branchId", "entries", "attachments", "discount", "discountType", "adjustment" ] }, "EditVendorCreditDto": { "type": "object", "properties": { "vendorId": { "type": "number", "description": "The id of the vendor", "example": 1 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the vendor credit", "example": 1 }, "vendorCreditNumber": { "type": "string", "description": "The vendor credit number", "example": "123456" }, "referenceNo": { "type": "string", "description": "The reference number of the vendor credit", "example": "123456" }, "vendorCreditDate": { "type": "string", "description": "The date of the vendor credit", "example": "2021-01-01" }, "note": { "type": "string", "description": "The note of the vendor credit", "example": "123456" }, "open": { "type": "boolean", "description": "The open status of the vendor credit", "example": true }, "warehouseId": { "type": "number", "description": "The warehouse id of the vendor credit", "example": 1 }, "branchId": { "type": "number", "description": "The branch id of the vendor credit", "example": 1 }, "entries": { "description": "The entries of the vendor credit", "example": [ { "itemId": 1, "quantity": 1, "unitPrice": 1, "discount": 1, "discountType": "percentage", "accountId": 1, "amount": 1 } ], "type": "array", "items": { "type": "string" } }, "attachments": { "description": "The attachments of the vendor credit", "example": [ { "key": "123456" } ], "type": "array", "items": { "type": "string" } }, "discount": { "type": "number", "description": "The discount of the vendor credit", "example": 1 }, "discountType": { "type": "string", "description": "The discount type of the vendor credit", "example": "percentage" }, "adjustment": { "type": "number", "description": "The adjustment of the vendor credit", "example": 1 } }, "required": [ "vendorId", "exchangeRate", "vendorCreditNumber", "referenceNo", "vendorCreditDate", "note", "open", "warehouseId", "branchId", "entries", "attachments", "discount", "discountType", "adjustment" ] }, "ApplyVendorCreditToBillEntryDto": { "type": "object", "properties": { "billId": { "type": "number", "description": "Bill ID to apply vendor credit to", "example": 1 }, "amount": { "type": "number", "description": "Amount to apply", "example": 100.5 } }, "required": [ "billId", "amount" ] }, "ApplyVendorCreditToBillsDto": { "type": "object", "properties": { "entries": { "description": "Entries of bill ID and amount to apply", "example": [ { "billId": 1, "amount": 100.5 }, { "billId": 2, "amount": 50 } ], "type": "array", "items": { "$ref": "#/components/schemas/ApplyVendorCreditToBillEntryDto" } } }, "required": [ "entries" ] }, "BillPaymentEntryResponseDto": { "type": "object", "properties": { "paymentAmountFormatted": { "type": "string", "description": "The payment amount formatted", "example": "100.00" }, "bill": { "description": "The bill details", "allOf": [ { "$ref": "#/components/schemas/BillResponseDto" } ] } }, "required": [ "paymentAmountFormatted", "bill" ] }, "BillPaymentResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the bill payment", "example": 1 }, "vendorId": { "type": "number", "description": "The vendor ID", "example": 1 }, "amount": { "type": "number", "description": "The amount paid", "example": 100 }, "currencyCode": { "type": "string", "description": "The currency code", "example": "USD" }, "paymentAccountId": { "type": "number", "description": "The payment account ID", "example": 2 }, "paymentNumber": { "type": "string", "description": "The payment number", "example": "PAY-2024-001" }, "paymentDate": { "type": "string", "description": "The payment date", "example": "2024-01-01" }, "formattedPaymentDate": { "type": "string", "description": "The formatted payment date", "example": "2024-01-01" }, "exchangeRate": { "type": "number", "description": "The exchange rate", "example": 1 }, "statement": { "type": "string", "description": "Statement or note", "example": "Payment for January bills" }, "reference": { "type": "string", "description": "Reference number", "example": "REF-123" }, "branchId": { "type": "number", "description": "The branch ID", "example": 1 }, "formattedAmount": { "type": "string", "description": "The formatted amount", "example": "100.00 USD" }, "formattedTotal": { "type": "string", "description": "The formatted total", "example": "100.00 USD" }, "formattedSubtotal": { "type": "string", "description": "The formatted subtotal", "example": "100.00 USD" }, "createdAt": { "format": "date-time", "type": "string", "description": "The date when the payment was created", "example": "2024-01-01T12:00:00Z" }, "formattedCreatedAt": { "type": "string", "description": "The formatted created at date", "example": "2024-01-01" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The date when the payment was last updated", "example": "2024-01-02T12:00:00Z" }, "entries": { "description": "The entries of the bill payment", "type": "array", "items": { "$ref": "#/components/schemas/BillPaymentEntryResponseDto" } }, "attachments": { "description": "The attachments of the bill payment", "type": "array", "items": { "$ref": "#/components/schemas/AttachmentLinkDto" } } }, "required": [ "id", "vendorId", "amount", "paymentAccountId", "paymentDate", "formattedPaymentDate", "formattedAmount", "formattedTotal", "formattedSubtotal", "createdAt", "formattedCreatedAt", "entries" ] }, "CreateBillPaymentDto": { "type": "object", "properties": { "vendorId": { "type": "number", "description": "The id of the vendor", "example": 1 }, "amount": { "type": "number", "description": "The amount of the bill payment", "example": 100 }, "paymentAccountId": { "type": "number", "description": "The id of the payment account", "example": 1 }, "paymentNumber": { "type": "string", "description": "The payment number of the bill payment", "example": "123456" }, "paymentDate": { "type": "object", "description": "The payment date of the bill payment", "example": "2021-01-01" }, "exchangeRate": { "type": "number", "description": "The exchange rate of the bill payment", "example": 1 }, "statement": { "type": "string", "description": "The statement of the bill payment", "example": "123456" }, "entries": { "description": "The entries of the bill payment", "example": [ { "billId": 1, "paymentAmount": 100 } ], "type": "array", "items": { "type": "string" } }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "attachments": { "description": "The attachments of the bill payment", "example": [ { "id": 1, "type": "bill" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "vendorId", "amount", "paymentAccountId", "paymentNumber", "paymentDate", "exchangeRate", "statement", "entries", "branchId", "attachments" ] }, "EditBillPaymentDto": { "type": "object", "properties": { "vendorId": { "type": "number", "description": "The id of the vendor", "example": 1 }, "amount": { "type": "number", "description": "The amount of the bill payment", "example": 100 }, "paymentAccountId": { "type": "number", "description": "The id of the payment account", "example": 1 }, "paymentNumber": { "type": "string", "description": "The payment number of the bill payment", "example": "123456" }, "paymentDate": { "type": "object", "description": "The payment date of the bill payment", "example": "2021-01-01" }, "exchangeRate": { "type": "number", "description": "The exchange rate of the bill payment", "example": 1 }, "statement": { "type": "string", "description": "The statement of the bill payment", "example": "123456" }, "entries": { "description": "The entries of the bill payment", "example": [ { "billId": 1, "paymentAmount": 100 } ], "type": "array", "items": { "type": "string" } }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 }, "attachments": { "description": "The attachments of the bill payment", "example": [ { "id": 1, "type": "bill" } ], "type": "array", "items": { "type": "string" } } }, "required": [ "vendorId", "amount", "paymentAccountId", "paymentNumber", "paymentDate", "exchangeRate", "statement", "entries", "branchId", "attachments" ] }, "RefundVendorCreditDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "The amount of the refund", "example": 100 }, "exchangeRate": { "type": "number", "description": "The exchange rate of the refund", "example": 1 }, "depositAccountId": { "type": "number", "description": "The id of the deposit account", "example": 1 }, "description": { "type": "string", "description": "The description of the refund", "example": "Refund for vendor credit" }, "date": { "format": "date-time", "type": "string", "description": "The date of the refund", "example": "2021-01-01" }, "branchId": { "type": "number", "description": "The id of the branch", "example": 1 } }, "required": [ "amount", "exchangeRate", "depositAccountId", "description", "date", "branchId" ] }, "BankAccountResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the account", "example": 1 }, "name": { "type": "string", "description": "The name of the account", "example": "Cash Account" }, "slug": { "type": "string", "description": "The slug of the account", "example": "cash-account" }, "code": { "type": "string", "description": "The code of the account", "example": "1001" }, "accountType": { "type": "string", "description": "The type of the account", "example": "bank" }, "parentAccountId": { "type": "number", "description": "The parent account ID", "example": null }, "currencyCode": { "type": "string", "description": "The currency code of the account", "example": "USD" }, "active": { "type": "boolean", "description": "Whether the account is active", "example": true }, "bankBalance": { "type": "number", "description": "The bank balance of the account", "example": 5000 }, "bankBalanceFormatted": { "type": "string", "description": "The formatted bank balance", "example": "$5,000.00" }, "lastFeedsUpdatedAt": { "type": "object", "description": "The last feeds update timestamp", "example": "2024-03-20T10:30:00Z" }, "lastFeedsUpdatedAtFormatted": { "type": "string", "description": "The formatted last feeds update timestamp", "example": "Mar 20, 2024 10:30 AM" }, "lastFeedsUpdatedFromNow": { "type": "string", "description": "The last feeds updated from now (relative time)", "example": "2 hours ago" }, "amount": { "type": "number", "description": "The amount of the account", "example": 5000 }, "formattedAmount": { "type": "string", "description": "The formatted amount", "example": "$5,000.00" }, "plaidItemId": { "type": "string", "description": "The Plaid item ID", "example": "plaid-item-123" }, "plaidAccountId": { "type": "string", "description": "The Plaid account ID", "example": "plaid-account-456" }, "isFeedsActive": { "type": "boolean", "description": "Whether the feeds are active", "example": true }, "isSyncingOwner": { "type": "boolean", "description": "Whether the account is syncing owner", "example": true }, "isFeedsPaused": { "type": "boolean", "description": "Whether the feeds are paused", "example": false }, "accountNormal": { "type": "string", "description": "The account normal", "example": "debit" }, "accountNormalFormatted": { "type": "string", "description": "The formatted account normal", "example": "Debit" }, "flattenName": { "type": "string", "description": "The flatten name with all dependant accounts names", "example": "Assets: Cash Account" }, "accountLevel": { "type": "number", "description": "The account level in the hierarchy", "example": 2 }, "createdAt": { "format": "date-time", "type": "string", "description": "The creation timestamp", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The update timestamp", "example": "2024-03-20T10:30:00Z" } }, "required": [ "id", "name", "slug", "code", "accountType", "parentAccountId", "currencyCode", "active", "bankBalance", "bankBalanceFormatted", "lastFeedsUpdatedAt", "lastFeedsUpdatedAtFormatted", "lastFeedsUpdatedFromNow", "amount", "formattedAmount", "plaidItemId", "plaidAccountId", "isFeedsActive", "isSyncingOwner", "isFeedsPaused", "accountNormal", "accountNormalFormatted", "flattenName", "accountLevel", "createdAt", "updatedAt" ] }, "PlaidItemDto": { "type": "object", "properties": { "publicToken": { "type": "string", "example": "123", "description": "The public token" }, "institutionId": { "type": "string", "example": "123", "description": "The institution ID" } }, "required": [ "publicToken", "institutionId" ] }, "PlaidWebhookDto": { "type": "object", "properties": { "itemId": { "type": "string", "example": "123", "description": "The Plaid item ID" }, "webhookType": { "type": "string", "example": "123", "description": "The Plaid webhook type" }, "webhookCode": { "type": "string", "example": "123", "description": "The Plaid webhook code" } }, "required": [ "itemId", "webhookType", "webhookCode" ] }, "CategorizeBankTransactionRouteDto": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string", "description": "The date of the bank transaction", "example": "2023-01-01T00:00:00.000Z" }, "creditAccountId": { "type": "number", "description": "ID of the credit account associated with this transaction", "example": 1001 }, "referenceNo": { "type": "string", "description": "Optional external reference number", "example": "REF-001" }, "transactionNumber": { "type": "string", "description": "Optional transaction number or reference", "example": "TRX-001" }, "transactionType": { "type": "string", "description": "Type of bank transaction (e.g., deposit, withdrawal)", "example": "deposit" }, "exchangeRate": { "type": "number", "description": "Exchange rate for currency conversion", "default": 1, "example": 1.15 }, "currencyCode": { "type": "string", "description": "Currency code for the transaction", "example": "USD" }, "description": { "type": "string", "description": "Description of the bank transaction", "example": "Monthly rent payment" }, "branchId": { "type": "number", "description": "ID of the branch where the transaction occurred", "example": 101 }, "uncategorizedTransactionIds": { "description": "Array of uncategorized transaction IDs to be categorized", "example": [ 1001, 1002, 1003 ], "type": "array", "items": { "type": "number" } } }, "required": [ "date", "creditAccountId", "transactionType", "uncategorizedTransactionIds" ] }, "BankTransactionResponseDto": { "type": "object", "properties": { "withdrawal": { "type": "number", "description": "The withdrawal amount", "example": 1000.5 }, "deposit": { "type": "number", "description": "The deposit amount", "example": 2000.75 }, "runningBalance": { "type": "number", "description": "The running balance after the transaction", "example": 3000.25 }, "formattedWithdrawal": { "type": "string", "description": "Formatted withdrawal amount with currency symbol", "example": "$1,000.50" }, "formattedDeposit": { "type": "string", "description": "Formatted deposit amount with currency symbol", "example": "$2,000.75" }, "formattedRunningBalance": { "type": "string", "description": "Formatted running balance with currency symbol", "example": "$3,000.25" }, "transactionNumber": { "type": "string", "description": "Unique transaction number", "example": "TRX-2024-001" }, "referenceNumber": { "type": "string", "description": "Reference number for the transaction", "example": "REF-2024-001" }, "referenceId": { "type": "number", "description": "ID of the reference entity", "example": 12345 }, "referenceType": { "type": "string", "description": "Type of the reference entity", "example": "INVOICE" }, "formattedTransactionType": { "type": "string", "description": "Formatted transaction type", "example": "Bank Transfer" }, "balance": { "type": "number", "description": "Current balance", "example": 5000 }, "formattedBalance": { "type": "string", "description": "Formatted balance with currency symbol", "example": "$5,000.00" }, "date": { "format": "date-time", "type": "string", "description": "Transaction date", "example": "2024-03-20T10:30:00Z" }, "formattedDate": { "type": "string", "description": "Formatted transaction date", "example": "March 20, 2024" }, "status": { "type": "string", "description": "Transaction status", "example": "COMPLETED" }, "formattedStatus": { "type": "string", "description": "Formatted transaction status", "example": "Completed" }, "uncategorizedTransactionId": { "type": "number", "description": "ID of the uncategorized transaction", "example": 67890 } }, "required": [ "withdrawal", "deposit", "runningBalance", "formattedWithdrawal", "formattedDeposit", "formattedRunningBalance", "transactionNumber", "referenceNumber", "referenceId", "referenceType", "formattedTransactionType", "balance", "formattedBalance", "date", "formattedDate", "status", "formattedStatus", "uncategorizedTransactionId" ] }, "CreateBankTransactionDto": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string", "description": "The date of the bank transaction", "example": "2023-01-01T00:00:00.000Z" }, "transactionNumber": { "type": "string", "description": "Optional transaction number or reference", "example": "TRX-001" }, "referenceNo": { "type": "string", "description": "Optional external reference number", "example": "REF-001" }, "transactionType": { "type": "string", "description": "Type of bank transaction (e.g., deposit, withdrawal)", "example": "deposit" }, "description": { "type": "string", "description": "Description of the bank transaction", "example": "Monthly rent payment" }, "amount": { "type": "number", "description": "Transaction amount", "example": 1000.5 }, "exchangeRate": { "type": "number", "description": "Exchange rate for currency conversion", "default": 1, "example": 1.15 }, "currencyCode": { "type": "string", "description": "Currency code for the transaction", "example": "USD" }, "creditAccountId": { "type": "number", "description": "ID of the credit account associated with this transaction", "example": 1001 }, "cashflowAccountId": { "type": "number", "description": "ID of the cashflow account associated with this transaction", "example": 2001 }, "publish": { "type": "boolean", "description": "Whether the transaction should be published", "default": true }, "branchId": { "type": "number", "description": "ID of the branch where the transaction occurred", "example": 101 }, "plaidTransactionId": { "type": "string", "description": "Plaid transaction ID if imported from Plaid", "example": "plaid_trx_12345" }, "plaidAccountId": { "type": "string", "description": "Plaid account ID if imported from Plaid", "example": "plaid_acc_67890" }, "uncategorizedTransactionId": { "type": "number", "description": "ID of the uncategorized transaction if this is categorizing an existing transaction", "example": 5001 } }, "required": [ "date", "transactionType", "description", "amount", "exchangeRate", "creditAccountId", "cashflowAccountId", "publish" ] }, "GetAutofillCategorizeTransactionResponseDto": { "type": "object", "properties": { "creditAccountId": { "type": "number", "description": "Assigned credit/debit account ID from recognition", "example": 10 }, "debitAccountId": { "type": "number", "description": "Bank account ID (debit)", "example": 5 }, "amount": { "type": "number", "description": "Total amount of uncategorized transactions", "example": -150.5 }, "formattedAmount": { "type": "string", "description": "Formatted amount", "example": "$150.50" }, "date": { "type": "string", "description": "Transaction date", "example": "2024-01-15" }, "formattedDate": { "type": "string", "description": "Formatted date", "example": "Jan 15, 2024" }, "isRecognized": { "type": "boolean", "description": "Whether the transaction is recognized by a rule", "example": true }, "recognizedByRuleId": { "type": "number", "description": "Bank rule ID that recognized the transaction", "example": 1 }, "recognizedByRuleName": { "type": "string", "description": "Bank rule name that recognized the transaction", "example": "Salary Rule" }, "referenceNo": { "type": "string", "description": "Reference number", "example": "REF-001" }, "transactionType": { "type": "string", "description": "Transaction type (category)", "example": "other_expense" }, "isDepositTransaction": { "type": "boolean", "description": "Whether this is a deposit transaction", "example": false }, "isWithdrawalTransaction": { "type": "boolean", "description": "Whether this is a withdrawal transaction", "example": true }, "payee": { "type": "string", "description": "Assigned payee from recognition" }, "memo": { "type": "string", "description": "Assigned memo from recognition" } }, "required": [ "amount", "formattedAmount", "date", "formattedDate", "isRecognized", "transactionType", "isDepositTransaction", "isWithdrawalTransaction" ] }, "GetPendingTransactionResponseDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "Transaction amount" }, "date": { "type": "object", "description": "Transaction date" }, "accountId": { "type": "number", "description": "Bank account ID" }, "referenceNo": { "type": "string", "description": "Transaction reference number" }, "payee": { "type": "string", "description": "Payee" }, "description": { "type": "string", "description": "Transaction description" }, "plaidTransactionId": { "type": "string", "description": "Plaid transaction ID" }, "recognizedTransactionId": { "type": "number", "description": "Recognized transaction ID" }, "pending": { "type": "boolean", "description": "Is transaction pending?" }, "currencyCode": { "type": "string", "description": "Transaction currency code" }, "withdrawal": { "type": "number", "description": "Withdrawal amount" }, "deposit": { "type": "number", "description": "Deposit amount" }, "isDepositTransaction": { "type": "boolean", "description": "Is deposit transaction?" }, "isWithdrawalTransaction": { "type": "boolean", "description": "Is withdrawal transaction?" }, "formattedAmount": { "type": "string", "description": "Formatted amount" }, "formattedDate": { "type": "string", "description": "Formatted date" }, "formattedDepositAmount": { "type": "string", "description": "Formatted deposit amount" }, "formattedWithdrawalAmount": { "type": "string", "description": "Formatted withdrawal amount" } }, "required": [ "amount", "date", "accountId", "pending", "currencyCode", "withdrawal", "deposit", "isDepositTransaction", "isWithdrawalTransaction", "formattedAmount", "formattedDate", "formattedDepositAmount", "formattedWithdrawalAmount" ] }, "BankRuleConditionResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the bank rule condition", "example": 1 }, "field": { "type": "string", "description": "The field to check in the condition", "example": "description", "enum": [ "description", "amount" ] }, "comparator": { "type": "string", "description": "The comparison operator to use", "example": "contains", "enum": [ "equals", "equal", "contains", "not_contain", "bigger", "bigger_or_equal", "smaller", "smaller_or_equal" ] }, "value": { "type": "string", "description": "The value to compare against", "example": "Salary" } }, "required": [ "id", "field", "comparator", "value" ] }, "BankRuleResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the bank rule", "example": 1 }, "name": { "type": "string", "description": "The name of the bank rule", "example": "Monthly Salary" }, "order": { "type": "number", "description": "The order in which the rule should be applied", "example": 1 }, "applyIfAccountId": { "type": "number", "description": "The account ID to apply the rule if", "example": 1 }, "applyIfTransactionType": { "type": "string", "description": "The transaction type to apply the rule if", "example": "deposit", "enum": [ "deposit", "withdrawal" ] }, "conditionsType": { "type": "string", "description": "The conditions type to apply the rule if", "example": "and", "enum": [ "and", "or" ] }, "conditions": { "description": "The conditions to apply the rule if", "example": [ { "id": 1, "field": "description", "comparator": "contains", "value": "Salary" } ], "type": "array", "items": { "$ref": "#/components/schemas/BankRuleConditionResponseDto" } }, "assignCategory": { "type": "string", "description": "The category to assign the rule if", "example": "InterestIncome", "enum": [ "InterestIncome", "OtherIncome", "Deposit", "Expense", "OwnerDrawings" ] }, "assignAccountId": { "type": "number", "description": "The account ID to assign the rule if", "example": 1 }, "assignPayee": { "type": "string", "description": "The payee to assign the rule if", "example": "Employer Inc." }, "assignMemo": { "type": "string", "description": "The memo to assign the rule if", "example": "Monthly Salary" }, "createdAt": { "type": "string", "description": "The creation timestamp of the bank rule", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "type": "string", "description": "The last update timestamp of the bank rule", "example": "2024-03-20T10:00:00Z" } }, "required": [ "id", "name", "order", "applyIfAccountId", "applyIfTransactionType", "conditionsType", "conditions", "assignCategory", "assignAccountId", "createdAt", "updatedAt" ] }, "CreateBankRuleDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the bank rule", "example": "Monthly Salary" }, "order": { "type": "number", "description": "The order of the bank rule", "example": 1 }, "applyIfAccountId": { "type": "number", "description": "The account ID to apply the rule if", "example": 1 }, "applyIfTransactionType": { "type": "string", "description": "The transaction type to apply the rule if", "example": "deposit" }, "conditionsType": { "type": "string", "description": "The conditions type to apply the rule if", "example": "and" }, "conditions": { "description": "The conditions to apply the rule if", "example": [ { "field": "description", "comparator": "contains", "value": "Salary" } ], "type": "array", "items": { "type": "string" } }, "assignCategory": { "type": "string", "description": "The category to assign the rule if", "example": "Income:Salary" }, "assignAccountId": { "type": "number", "description": "The account ID to assign the rule if", "example": 1 }, "assignPayee": { "type": "string", "description": "The payee to assign the rule if", "example": "Employer Inc." }, "assignMemo": { "type": "string", "description": "The memo to assign the rule if", "example": "Monthly Salary" } }, "required": [ "name", "order", "applyIfAccountId", "applyIfTransactionType", "conditionsType", "conditions", "assignCategory", "assignAccountId", "assignPayee", "assignMemo" ] }, "EditBankRuleDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the bank rule", "example": "Monthly Salary" }, "order": { "type": "number", "description": "The order of the bank rule", "example": 1 }, "applyIfAccountId": { "type": "number", "description": "The account ID to apply the rule if", "example": 1 }, "applyIfTransactionType": { "type": "string", "description": "The transaction type to apply the rule if", "example": "deposit" }, "conditionsType": { "type": "string", "description": "The conditions type to apply the rule if", "example": "and" }, "conditions": { "description": "The conditions to apply the rule if", "example": [ { "field": "description", "comparator": "contains", "value": "Salary" } ], "type": "array", "items": { "type": "string" } }, "assignCategory": { "type": "string", "description": "The category to assign the rule if", "example": "Income:Salary" }, "assignAccountId": { "type": "number", "description": "The account ID to assign the rule if", "example": 1 }, "assignPayee": { "type": "string", "description": "The payee to assign the rule if", "example": "Employer Inc." }, "assignMemo": { "type": "string", "description": "The memo to assign the rule if", "example": "Monthly Salary" } }, "required": [ "name", "order", "applyIfAccountId", "applyIfTransactionType", "conditionsType", "conditions", "assignCategory", "assignAccountId", "assignPayee", "assignMemo" ] }, "GetRecognizedTransactionResponseDto": { "type": "object", "properties": { "uncategorizedTransactionId": { "type": "number", "description": "The unique identifier of the uncategorized transaction", "example": 123 }, "referenceNo": { "type": "string", "description": "The reference number of the transaction", "example": "TRX-2024-001" }, "description": { "type": "string", "description": "The description of the transaction", "example": "Payment for invoice #123" }, "payee": { "type": "string", "description": "The payee of the transaction", "example": "John Doe" }, "amount": { "type": "number", "description": "The amount of the transaction", "example": 1500.75 }, "formattedAmount": { "type": "string", "description": "The formatted amount of the transaction", "example": "$1,500.75" }, "date": { "type": "string", "description": "The date of the transaction", "example": "2024-04-01" }, "formattedDate": { "type": "string", "description": "The formatted date of the transaction", "example": "Apr 1, 2024" }, "assignedAccountId": { "type": "number", "description": "The assigned account ID", "example": 10 }, "assignedAccountName": { "type": "string", "description": "The assigned account name", "example": "Bank Account" }, "assignedAccountCode": { "type": "string", "description": "The assigned account code", "example": "1001" }, "assignedPayee": { "type": "string", "description": "The assigned payee", "example": "Jane Smith" }, "assignedMemo": { "type": "string", "description": "The assigned memo", "example": "Office supplies" }, "assignedCategory": { "type": "string", "description": "The assigned category", "example": "Office Expenses" }, "assignedCategoryFormatted": { "type": "string", "description": "The formatted assigned category", "example": "Other Income" }, "withdrawal": { "type": "number", "description": "The withdrawal amount", "example": 500 }, "deposit": { "type": "number", "description": "The deposit amount", "example": 1000 }, "isDepositTransaction": { "type": "boolean", "description": "Whether this is a deposit transaction", "example": true }, "isWithdrawalTransaction": { "type": "boolean", "description": "Whether this is a withdrawal transaction", "example": false }, "formattedDepositAmount": { "type": "string", "description": "The formatted deposit amount", "example": "$1,000.00" }, "formattedWithdrawalAmount": { "type": "string", "description": "The formatted withdrawal amount", "example": "$500.00" }, "bankRuleId": { "type": "string", "description": "The bank rule ID", "example": "BR-001" }, "bankRuleName": { "type": "string", "description": "The bank rule name", "example": "Salary Rule" } }, "required": [ "uncategorizedTransactionId", "referenceNo", "description", "payee", "amount", "formattedAmount", "date", "formattedDate", "assignedAccountId", "assignedAccountName", "assignedAccountCode", "assignedPayee", "assignedMemo", "assignedCategory", "assignedCategoryFormatted", "withdrawal", "deposit", "isDepositTransaction", "isWithdrawalTransaction", "formattedDepositAmount", "formattedWithdrawalAmount", "bankRuleId", "bankRuleName" ] }, "GetExcludedBankTransactionResponseDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "Transaction amount (positive for deposit, negative for withdrawal)" }, "date": { "type": "object", "description": "Transaction date (ISO string or Date)" }, "accountId": { "type": "number", "description": "ID of the associated bank account" }, "referenceNo": { "type": "string", "description": "Reference number for the transaction" }, "payee": { "type": "string", "description": "Payee name" }, "description": { "type": "string", "description": "Transaction description" }, "plaidTransactionId": { "type": "string", "description": "Plaid transaction ID" }, "pending": { "type": "boolean", "description": "Whether the transaction is pending" }, "recognizedTransactionId": { "type": "number", "description": "ID of the recognized transaction, if any" }, "categorizeRefType": { "type": "string", "description": "Categorization reference type" }, "categorizeRefId": { "type": "number", "description": "Categorization reference ID" }, "formattedAmount": { "type": "string", "description": "Formatted amount (localized string)" }, "formattedDate": { "type": "string", "description": "Formatted transaction date" }, "formattedDepositAmount": { "type": "string", "description": "Formatted deposit amount" }, "formattedWithdrawalAmount": { "type": "string", "description": "Formatted withdrawal amount" }, "withdrawal": { "type": "number", "description": "Withdrawal amount" }, "deposit": { "type": "number", "description": "Deposit amount" }, "isDepositTransaction": { "type": "boolean", "description": "True if deposit transaction" }, "isWithdrawalTransaction": { "type": "boolean", "description": "True if withdrawal transaction" }, "isRecognized": { "type": "boolean", "description": "True if transaction is recognized" }, "isExcluded": { "type": "boolean", "description": "True if transaction is excluded" }, "isPending": { "type": "boolean", "description": "True if transaction is pending" }, "assignedAccountId": { "type": "number", "description": "Assigned account ID from recognized transaction" }, "assignedAccountName": { "type": "string", "description": "Assigned account name from recognized transaction" }, "assignedAccountCode": { "type": "string", "description": "Assigned account code from recognized transaction" }, "assignedPayee": { "type": "string", "description": "Assigned payee from recognized transaction" }, "assignedMemo": { "type": "string", "description": "Assigned memo from recognized transaction" }, "assignedCategory": { "type": "string", "description": "Assigned category from recognized transaction" }, "assignedCategoryFormatted": { "type": "string", "description": "Assigned formatted category from recognized transaction" } }, "required": [ "amount", "date", "accountId" ] }, "ExcludeBankTransactionsBulkDto": { "type": "object", "properties": { "ids": { "description": "IDs of uncategorized bank transactions to exclude or unexclude", "example": [ 1, 2, 3 ], "type": "array", "items": { "type": "number" } } }, "required": [ "ids" ] }, "MatchedTransactionItemDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "Transaction amount", "example": 100.5 }, "amountFormatted": { "type": "string", "description": "Formatted amount", "example": "$100.50" }, "date": { "type": "string", "description": "Transaction date", "example": "2024-01-15" }, "dateFormatted": { "type": "string", "description": "Formatted date", "example": "Jan 15, 2024" }, "referenceNo": { "type": "string", "description": "Reference number", "example": "REF-001" }, "transactionNo": { "type": "string", "description": "Transaction number", "example": "TXN-001" }, "transactionId": { "type": "number", "description": "Transaction ID", "example": 1 }, "transactionType": { "type": "string", "description": "Transaction type", "example": "SaleInvoice" } }, "required": [ "amount", "amountFormatted", "date", "dateFormatted", "referenceNo", "transactionNo", "transactionId", "transactionType" ] }, "GetMatchedTransactionsResponseDto": { "type": "object", "properties": { "perfectMatches": { "description": "Perfect matches (amount and date match)", "type": "array", "items": { "$ref": "#/components/schemas/MatchedTransactionItemDto" } }, "possibleMatches": { "description": "Possible matches (candidates)", "type": "array", "items": { "$ref": "#/components/schemas/MatchedTransactionItemDto" } }, "totalPending": { "type": "number", "description": "Total pending amount", "example": 500 } }, "required": [ "perfectMatches", "possibleMatches", "totalPending" ] }, "MatchBankTransactionDto": { "type": "object", "properties": { "uncategorizedTransactions": { "description": "Uncategorized transaction IDs to match", "example": [ 1, 2 ], "type": "array", "items": { "type": "number" } }, "matchedTransactions": { "description": "The entries to match", "example": [ { "referenceType": "SaleInvoice", "referenceId": 1 }, { "referenceType": "SaleInvoice", "referenceId": 2 } ], "type": "array", "items": { "type": "string" } } }, "required": [ "uncategorizedTransactions", "matchedTransactions" ] }, "TransactionLockingResponseDto": { "type": "object", "properties": { "isEnabled": { "type": "boolean", "description": "Indicates whether transaction locking is enabled", "example": true }, "isPartialUnlock": { "type": "boolean", "description": "Indicates whether partial unlock is enabled", "example": false }, "lockToDate": { "format": "date-time", "type": "string", "description": "The date until which transactions are locked", "example": "2024-12-31" }, "unlockFromDate": { "type": "string", "description": "The start date of the unlock period", "example": "2025-01-01" }, "unlockToDate": { "type": "string", "description": "The end date of the unlock period", "example": "2025-01-31" }, "lockReason": { "type": "string", "description": "The reason for locking transactions", "example": "Year-end closing" }, "unlockReason": { "type": "string", "description": "The reason for unlocking transactions", "example": "New fiscal year" }, "partialUnlockReason": { "type": "string", "description": "The reason for partial unlock of transactions", "example": "Special adjustment period" } }, "required": [ "isEnabled", "isPartialUnlock", "lockToDate", "unlockFromDate", "unlockToDate", "lockReason", "unlockReason", "partialUnlockReason" ] }, "TransactionsLockingDto": { "type": "object", "properties": {} }, "CancelTransactionsLockingDto": { "type": "object", "properties": {} }, "NumberFormatQueryDto": { "type": "object", "properties": { "precision": { "type": "number", "description": "Number of decimal places to display", "example": 2 }, "divideOn1000": { "type": "boolean", "description": "Whether to divide the number by 1000", "example": false }, "showZero": { "type": "boolean", "description": "Whether to show zero values", "example": true }, "formatMoney": { "type": "string", "description": "How to format money values", "example": "total", "enum": [ "total", "always", "none" ] }, "negativeFormat": { "type": "string", "description": "How to format negative numbers", "example": "parentheses", "enum": [ "parentheses", "mines" ] } } }, "BalanceSheetQueryResponseDto": { "type": "object", "properties": { "displayColumnsType": { "type": "string", "description": "Column display type", "enum": [ "total", "date_periods" ] }, "displayColumnsBy": { "type": "string", "description": "Column grouping", "enum": [ "day", "month", "year", "quarter" ] }, "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "noneZero": { "type": "boolean", "description": "Exclude zero balance accounts" }, "noneTransactions": { "type": "boolean", "description": "Exclude accounts with no transactions" }, "basis": { "type": "string", "description": "Accounting basis", "enum": [ "cash", "accrual" ] }, "accountIds": { "description": "Account IDs to include", "type": "array", "items": { "type": "number" } }, "percentageOfColumn": { "type": "boolean", "description": "Show percentage of column" }, "percentageOfRow": { "type": "boolean", "description": "Show percentage of row" }, "previousPeriod": { "type": "boolean", "description": "Include previous period" }, "previousPeriodAmountChange": { "type": "boolean", "description": "Show previous period amount change" }, "previousPeriodPercentageChange": { "type": "boolean", "description": "Show previous period percentage change" }, "previousYear": { "type": "boolean", "description": "Include previous year" }, "previousYearAmountChange": { "type": "boolean", "description": "Show previous year amount change" }, "previousYearPercentageChange": { "type": "boolean", "description": "Show previous year percentage change" } }, "required": [ "displayColumnsType", "displayColumnsBy", "fromDate", "toDate", "numberFormat", "noneZero", "noneTransactions", "basis", "accountIds", "percentageOfColumn", "percentageOfRow", "previousPeriod", "previousPeriodAmountChange", "previousPeriodPercentageChange", "previousYear", "previousYearAmountChange", "previousYearPercentageChange" ] }, "FinancialReportTotalDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "Numeric amount" }, "formattedAmount": { "type": "string", "description": "Formatted amount string" }, "currencyCode": { "type": "string", "description": "Currency code" }, "date": { "type": "object", "description": "Date associated with the total" } }, "required": [ "amount", "formattedAmount", "currencyCode" ] }, "FinancialReportPercentageDto": { "type": "object", "properties": { "amount": { "type": "number", "description": "Percentage amount" }, "formattedAmount": { "type": "string", "description": "Formatted percentage string" } }, "required": [ "amount", "formattedAmount" ] }, "BalanceSheetDataNodeDto": { "type": "object", "properties": { "id": { "type": "object", "description": "Node identifier (string for aggregates, number for accounts)" }, "name": { "type": "string", "description": "Account or category name" }, "nodeType": { "type": "string", "description": "Type of node", "enum": [ "AGGREGATE", "ACCOUNTS", "ACCOUNT", "NET_INCOME" ] }, "type": { "type": "string", "description": "Node type alias" }, "total": { "description": "Total amount information", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "horizontalTotals": { "description": "Horizontal totals for date periods", "type": "array", "items": { "$ref": "#/components/schemas/FinancialReportTotalDto" } }, "percentageRow": { "description": "Percentage of row", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "percentageColumn": { "description": "Percentage of column", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "previousPeriod": { "description": "Previous period total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previousPeriodChange": { "description": "Previous period change", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previousPeriodPercentage": { "description": "Previous period percentage", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "previousYear": { "description": "Previous year total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previousYearChange": { "description": "Previous year change", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previousYearPercentage": { "description": "Previous year percentage", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "code": { "type": "string", "description": "Account code" }, "index": { "type": "number", "description": "Display index" }, "parentAccountId": { "type": "number", "description": "Parent account ID" }, "children": { "description": "Child nodes", "type": "array", "items": { "$ref": "#/components/schemas/BalanceSheetDataNodeDto" } } }, "required": [ "id", "name", "nodeType", "total" ] }, "BalanceSheetMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedAsDate": { "type": "string", "description": "Formatted as-of date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedAsDate", "formattedDateRange" ] }, "BalanceSheetResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/BalanceSheetQueryResponseDto" } ] }, "data": { "description": "Hierarchical balance sheet data", "type": "array", "items": { "$ref": "#/components/schemas/BalanceSheetDataNodeDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/BalanceSheetMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "FinancialTableColumnDto": { "type": "object", "properties": { "key": { "type": "string", "description": "Column key" }, "label": { "type": "string", "description": "Column header label" }, "cellIndex": { "type": "number", "description": "Cell position index" }, "children": { "description": "Nested column definitions", "type": "array", "items": { "$ref": "#/components/schemas/FinancialTableColumnDto" } } }, "required": [ "key", "label" ] }, "FinancialTableCellDto": { "type": "object", "properties": { "key": { "type": "string", "description": "Cell key" }, "value": { "type": "string", "description": "Cell value" } }, "required": [ "key", "value" ] }, "FinancialTableRowDto": { "type": "object", "properties": { "cells": { "description": "Cell data for this row", "type": "array", "items": { "$ref": "#/components/schemas/FinancialTableCellDto" } }, "rowTypes": { "description": "Row type classifications", "type": "array", "items": { "type": "string" } }, "id": { "type": "object", "description": "Row identifier" }, "children": { "description": "Child rows", "type": "array", "items": { "$ref": "#/components/schemas/FinancialTableRowDto" } } }, "required": [ "cells", "rowTypes", "id" ] }, "FinancialTableDataDto": { "type": "object", "properties": { "columns": { "description": "Table column definitions", "type": "array", "items": { "$ref": "#/components/schemas/FinancialTableColumnDto" } }, "rows": { "description": "Table row data", "type": "array", "items": { "$ref": "#/components/schemas/FinancialTableRowDto" } } }, "required": [ "columns", "rows" ] }, "BalanceSheetTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/BalanceSheetQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/BalanceSheetMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "PurchasesByItemsQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "itemsIds": { "description": "Item IDs to include", "type": "array", "items": { "type": "number" } }, "vendorsIds": { "description": "Vendor IDs to include", "type": "array", "items": { "type": "number" } } }, "required": [ "fromDate", "toDate", "numberFormat", "itemsIds", "vendorsIds" ] }, "PurchasesByItemDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Item ID" }, "name": { "type": "string", "description": "Item name" }, "code": { "type": "string", "description": "Item code" }, "type": { "type": "string", "description": "Item type" }, "quantity": { "type": "number", "description": "Quantity purchased" }, "total": { "description": "Total purchases amount", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "averageCost": { "type": "number", "description": "Average cost" } }, "required": [ "id", "name", "code", "type", "quantity", "total" ] }, "PurchasesByItemsMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "PurchasesByItemsResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/PurchasesByItemsQueryResponseDto" } ] }, "data": { "description": "Purchases by items", "type": "array", "items": { "$ref": "#/components/schemas/PurchasesByItemDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/PurchasesByItemsMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "PurchasesByItemsTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/PurchasesByItemsQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/PurchasesByItemsMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "CustomerBalanceSummaryQueryResponseDto": { "type": "object", "properties": { "asDate": { "type": "string", "description": "As-of date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "customersIds": { "description": "Customer IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance customers" }, "noneInactive": { "type": "boolean", "description": "Exclude inactive customers" } }, "required": [ "asDate", "numberFormat", "customersIds", "noneZero", "noneInactive" ] }, "CustomerBalanceDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "Customer ID" }, "customerName": { "type": "string", "description": "Customer name" }, "openingBalance": { "description": "Opening balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "closingBalance": { "description": "Closing balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalDebit": { "description": "Total debit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalCredit": { "description": "Total credit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "customerId", "customerName", "closingBalance" ] }, "CustomerBalanceSummaryMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedAsDate": { "type": "string", "description": "Formatted as-of date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedAsDate", "formattedDateRange" ] }, "CustomerBalanceSummaryResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/CustomerBalanceSummaryQueryResponseDto" } ] }, "data": { "description": "Customer balances", "type": "array", "items": { "$ref": "#/components/schemas/CustomerBalanceDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/CustomerBalanceSummaryMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "CustomerBalanceSummaryTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/CustomerBalanceSummaryQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/CustomerBalanceSummaryMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "VendorBalanceSummaryQueryResponseDto": { "type": "object", "properties": { "asDate": { "type": "string", "description": "As-of date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "vendorsIds": { "description": "Vendor IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance vendors" }, "noneInactive": { "type": "boolean", "description": "Exclude inactive vendors" } }, "required": [ "asDate", "numberFormat", "vendorsIds", "noneZero", "noneInactive" ] }, "VendorBalanceDto": { "type": "object", "properties": { "vendorId": { "type": "number", "description": "Vendor ID" }, "vendorName": { "type": "string", "description": "Vendor name" }, "openingBalance": { "description": "Opening balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "closingBalance": { "description": "Closing balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalDebit": { "description": "Total debit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalCredit": { "description": "Total credit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "vendorId", "vendorName", "closingBalance" ] }, "VendorBalanceSummaryMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedAsDate": { "type": "string", "description": "Formatted as-of date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedAsDate", "formattedDateRange" ] }, "VendorBalanceSummaryResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/VendorBalanceSummaryQueryResponseDto" } ] }, "data": { "description": "Vendor balances", "type": "array", "items": { "$ref": "#/components/schemas/VendorBalanceDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/VendorBalanceSummaryMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "VendorBalanceSummaryTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/VendorBalanceSummaryQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/VendorBalanceSummaryMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "SalesByItemsQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "itemsIds": { "description": "Item IDs to include", "type": "array", "items": { "type": "number" } }, "customersIds": { "description": "Customer IDs to include", "type": "array", "items": { "type": "number" } } }, "required": [ "fromDate", "toDate", "numberFormat", "itemsIds", "customersIds" ] }, "SalesByItemDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Item ID" }, "name": { "type": "string", "description": "Item name" }, "code": { "type": "string", "description": "Item code" }, "type": { "type": "string", "description": "Item type" }, "quantity": { "type": "number", "description": "Quantity sold" }, "total": { "description": "Total sales amount", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "averagePrice": { "type": "number", "description": "Average price" }, "cogs": { "description": "COGS", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "profit": { "description": "Profit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "profitPercentage": { "type": "number", "description": "Profit percentage" } }, "required": [ "id", "name", "code", "type", "quantity", "total" ] }, "SalesByItemsMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "SalesByItemsResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/SalesByItemsQueryResponseDto" } ] }, "data": { "description": "Sales by items", "type": "array", "items": { "$ref": "#/components/schemas/SalesByItemDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/SalesByItemsMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "SalesByItemsTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/SalesByItemsQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/SalesByItemsMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "GeneralLedgerQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "basis": { "type": "string", "description": "Accounting basis", "enum": [ "cash", "accrual" ] }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "noneZero": { "type": "boolean", "description": "Exclude zero balance accounts" }, "accountsIds": { "description": "Account IDs to include", "type": "array", "items": { "type": "number" } } }, "required": [ "fromDate", "toDate", "basis", "numberFormat", "noneZero", "accountsIds" ] }, "GeneralLedgerTransactionDto": { "type": "object", "properties": { "date": { "type": "string", "description": "Transaction date" }, "dateFormatted": { "type": "string", "description": "Formatted date" }, "referenceType": { "type": "string", "description": "Reference type" }, "referenceId": { "type": "number", "description": "Reference ID" }, "transactionNumber": { "type": "string", "description": "Transaction number" }, "transactionTypeFormatted": { "type": "string", "description": "Formatted transaction type" }, "contactName": { "type": "string", "description": "Contact name" }, "contactType": { "type": "string", "description": "Contact type" }, "transactionType": { "type": "string", "description": "Transaction type" }, "index": { "type": "number", "description": "Transaction index" }, "note": { "type": "string", "description": "Transaction note" }, "credit": { "type": "number", "description": "Credit amount" }, "debit": { "type": "number", "description": "Debit amount" }, "amount": { "type": "number", "description": "Transaction amount" }, "runningBalance": { "type": "number", "description": "Running balance" }, "formattedAmount": { "type": "string", "description": "Formatted amount" }, "formattedCredit": { "type": "string", "description": "Formatted credit" }, "formattedDebit": { "type": "string", "description": "Formatted debit" }, "formattedRunningBalance": { "type": "string", "description": "Formatted running balance" }, "currencyCode": { "type": "string", "description": "Currency code" } }, "required": [ "date", "dateFormatted", "referenceType", "referenceId", "transactionTypeFormatted", "contactName", "contactType", "transactionType", "index", "credit", "debit", "amount", "runningBalance", "formattedAmount", "formattedCredit", "formattedDebit", "formattedRunningBalance", "currencyCode" ] }, "GeneralLedgerAccountDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Account ID" }, "name": { "type": "string", "description": "Account name" }, "code": { "type": "string", "description": "Account code" }, "index": { "type": "number", "description": "Account index" }, "parentAccountId": { "type": "number", "description": "Parent account ID" }, "openingBalance": { "description": "Opening balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "transactions": { "description": "Account transactions", "type": "array", "items": { "$ref": "#/components/schemas/GeneralLedgerTransactionDto" } }, "closingBalance": { "description": "Closing balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "id", "name", "code", "index", "openingBalance", "transactions", "closingBalance" ] }, "GeneralLedgerMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "GeneralLedgerResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerQueryResponseDto" } ] }, "data": { "description": "General ledger data", "type": "array", "items": { "$ref": "#/components/schemas/GeneralLedgerAccountDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "GeneralLedgerTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/GeneralLedgerMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "TrialBalanceSheetQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "accountIds": { "description": "Account IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance accounts" }, "noneTransactions": { "type": "boolean", "description": "Exclude accounts with no transactions" }, "basis": { "type": "string", "description": "Accounting basis", "enum": [ "cash", "accrual" ] }, "displayColumnsType": { "type": "string", "description": "Column display type", "enum": [ "total", "date_periods" ] }, "displayColumnsBy": { "type": "string", "description": "Column grouping", "enum": [ "day", "month", "year", "quarter" ] } }, "required": [ "fromDate", "toDate", "accountIds", "noneZero", "noneTransactions", "basis", "displayColumnsType", "displayColumnsBy" ] }, "TrialBalanceSheetAccountDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Account ID" }, "name": { "type": "string", "description": "Account name" }, "code": { "type": "string", "description": "Account code" }, "openingBalance": { "description": "Opening balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "closingBalance": { "description": "Closing balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "debitTotal": { "description": "Debit total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "creditTotal": { "description": "Credit total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "debit": { "description": "Debit/change", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "credit": { "description": "Credit/change", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "periodBalance": { "description": "Period balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "accountNormal": { "type": "string", "description": "Account normal", "enum": [ "debit", "credit" ] }, "index": { "type": "number", "description": "Account index" } }, "required": [ "id", "name", "code" ] }, "TrialBalanceSheetMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" }, "openingBalanceAt": { "format": "date-time", "type": "string", "description": "Opening balance at" }, "closingBalanceAt": { "format": "date-time", "type": "string", "description": "Closing balance at" }, "formattedOpeningBalanceDate": { "type": "string", "description": "Formatted opening balance date" }, "formattedClosingBalanceDate": { "type": "string", "description": "Formatted closing balance date" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "TrialBalanceSheetResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/TrialBalanceSheetQueryResponseDto" } ] }, "data": { "description": "Trial balance sheet data", "type": "array", "items": { "$ref": "#/components/schemas/TrialBalanceSheetAccountDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/TrialBalanceSheetMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "TrialBalanceSheetTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/TrialBalanceSheetQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/TrialBalanceSheetMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "TransactionsByVendorQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "vendorsIds": { "description": "Vendor IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance vendors" } }, "required": [ "fromDate", "toDate", "numberFormat", "vendorsIds", "noneZero" ] }, "VendorTransactionDto": { "type": "object", "properties": { "date": { "type": "string", "description": "Transaction date" }, "dateFormatted": { "type": "string", "description": "Formatted date" }, "transactionType": { "type": "string", "description": "Transaction type" }, "transactionNumber": { "type": "string", "description": "Transaction number" }, "referenceType": { "type": "string", "description": "Reference type" }, "referenceId": { "type": "number", "description": "Reference ID" }, "description": { "type": "string", "description": "Transaction description" }, "amount": { "description": "Transaction amount", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "runningBalance": { "description": "Running balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "date", "dateFormatted", "transactionType", "transactionNumber", "amount", "runningBalance" ] }, "VendorWithTransactionsDto": { "type": "object", "properties": { "vendorId": { "type": "number", "description": "Vendor ID" }, "vendorName": { "type": "string", "description": "Vendor name" }, "openingBalance": { "description": "Opening balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "transactions": { "description": "Vendor transactions", "type": "array", "items": { "$ref": "#/components/schemas/VendorTransactionDto" } }, "closingBalance": { "description": "Closing balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalDebit": { "description": "Total debit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalCredit": { "description": "Total credit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "vendorId", "vendorName", "transactions", "closingBalance" ] }, "TransactionsByVendorMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "TransactionsByVendorResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/TransactionsByVendorQueryResponseDto" } ] }, "data": { "description": "Vendors with transactions", "type": "array", "items": { "$ref": "#/components/schemas/VendorWithTransactionsDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/TransactionsByVendorMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "TransactionsByVendorTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/TransactionsByVendorQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/TransactionsByVendorMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "TransactionsByCustomerQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "customersIds": { "description": "Customer IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance customers" } }, "required": [ "fromDate", "toDate", "numberFormat", "customersIds", "noneZero" ] }, "CustomerTransactionDto": { "type": "object", "properties": { "date": { "type": "string", "description": "Transaction date" }, "dateFormatted": { "type": "string", "description": "Formatted date" }, "transactionType": { "type": "string", "description": "Transaction type" }, "transactionNumber": { "type": "string", "description": "Transaction number" }, "referenceType": { "type": "string", "description": "Reference type" }, "referenceId": { "type": "number", "description": "Reference ID" }, "description": { "type": "string", "description": "Transaction description" }, "amount": { "description": "Transaction amount", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "runningBalance": { "description": "Running balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "date", "dateFormatted", "transactionType", "transactionNumber", "amount", "runningBalance" ] }, "CustomerWithTransactionsDto": { "type": "object", "properties": { "customerId": { "type": "number", "description": "Customer ID" }, "customerName": { "type": "string", "description": "Customer name" }, "openingBalance": { "description": "Opening balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "transactions": { "description": "Customer transactions", "type": "array", "items": { "$ref": "#/components/schemas/CustomerTransactionDto" } }, "closingBalance": { "description": "Closing balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalDebit": { "description": "Total debit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalCredit": { "description": "Total credit", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "customerId", "customerName", "transactions", "closingBalance" ] }, "TransactionsByCustomerMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "TransactionsByCustomerResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/TransactionsByCustomerQueryResponseDto" } ] }, "data": { "description": "Customers with transactions", "type": "array", "items": { "$ref": "#/components/schemas/CustomerWithTransactionsDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/TransactionsByCustomerMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "TransactionsByCustomerTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/TransactionsByCustomerQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/TransactionsByCustomerMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "ARAgingSummaryQueryResponseDto": { "type": "object", "properties": { "asDate": { "type": "string", "description": "As-of date" }, "agingDaysBefore": { "type": "number", "description": "Aging days before" }, "agingPeriods": { "type": "number", "description": "Number of aging periods" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "customersIds": { "description": "Customer IDs to include", "type": "array", "items": { "type": "number" } }, "branchesIds": { "description": "Branch IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance accounts" } }, "required": [ "asDate", "agingDaysBefore", "agingPeriods", "numberFormat", "customersIds", "branchesIds", "noneZero" ] }, "ARAgingPeriodDto": { "type": "object", "properties": { "fromPeriod": { "type": "string", "description": "From period date" }, "toPeriod": { "type": "string", "description": "To period date" }, "beforeDays": { "type": "number", "description": "Before days" }, "toDays": { "type": "number", "description": "To days" } }, "required": [ "fromPeriod", "beforeDays" ] }, "ARAgingPeriodTotalDto": { "type": "object", "properties": { "fromPeriod": { "type": "string", "description": "From period date" }, "toPeriod": { "type": "string", "description": "To period date" }, "beforeDays": { "type": "number", "description": "Before days" }, "toDays": { "type": "number", "description": "To days" }, "total": { "description": "Period total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "fromPeriod", "beforeDays", "total" ] }, "ARAgingCustomerDto": { "type": "object", "properties": { "customerName": { "type": "string", "description": "Customer name" }, "current": { "description": "Current balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "aging": { "description": "Aging periods", "type": "array", "items": { "$ref": "#/components/schemas/ARAgingPeriodTotalDto" } }, "total": { "description": "Customer total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "customerName", "current", "aging", "total" ] }, "ARAgingSummaryDataDto": { "type": "object", "properties": { "customers": { "description": "Customers aging data", "type": "array", "items": { "$ref": "#/components/schemas/ARAgingCustomerDto" } }, "current": { "description": "Current total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "aging": { "description": "Aging totals", "type": "array", "items": { "$ref": "#/components/schemas/ARAgingPeriodTotalDto" } }, "total": { "description": "Grand total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "customers", "current", "aging", "total" ] }, "ARAgingSummaryMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedAsDate": { "type": "string", "description": "Formatted as-of date" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedAsDate" ] }, "ARAgingSummaryResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/ARAgingSummaryQueryResponseDto" } ] }, "columns": { "description": "Aging columns definitions", "type": "array", "items": { "$ref": "#/components/schemas/ARAgingPeriodDto" } }, "data": { "description": "Aging summary data", "allOf": [ { "$ref": "#/components/schemas/ARAgingSummaryDataDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/ARAgingSummaryMetaDto" } ] } }, "required": [ "query", "columns", "data", "meta" ] }, "ARAgingSummaryTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/ARAgingSummaryQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/ARAgingSummaryMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "APAgingPeriodTotalDto": { "type": "object", "properties": { "fromPeriod": { "type": "string", "description": "From period date" }, "toPeriod": { "type": "string", "description": "To period date" }, "beforeDays": { "type": "number", "description": "Before days" }, "toDays": { "type": "number", "description": "To days" }, "total": { "description": "Period total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "fromPeriod", "beforeDays", "total" ] }, "APAgingVendorDto": { "type": "object", "properties": { "vendorName": { "type": "string", "description": "Vendor name" }, "current": { "description": "Current balance", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "aging": { "description": "Aging periods", "type": "array", "items": { "$ref": "#/components/schemas/APAgingPeriodTotalDto" } }, "total": { "description": "Vendor total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "vendorName", "current", "aging", "total" ] }, "APAgingSummaryDataDto": { "type": "object", "properties": { "vendors": { "description": "Vendors aging data", "type": "array", "items": { "$ref": "#/components/schemas/APAgingVendorDto" } }, "current": { "description": "Current total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "aging": { "description": "Aging totals", "type": "array", "items": { "$ref": "#/components/schemas/APAgingPeriodTotalDto" } }, "total": { "description": "Grand total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "vendors", "current", "aging", "total" ] }, "APAgingSummaryMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedAsDate": { "type": "string", "description": "Formatted as-of date" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedAsDate" ] }, "APAgingSummaryResponseDto": { "type": "object", "properties": { "data": { "description": "Aging summary data", "allOf": [ { "$ref": "#/components/schemas/APAgingSummaryDataDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/APAgingSummaryMetaDto" } ] } }, "required": [ "data", "meta" ] }, "APAgingSummaryQueryResponseDto": { "type": "object", "properties": { "asDate": { "type": "string", "description": "As-of date" }, "agingDaysBefore": { "type": "number", "description": "Aging days before" }, "agingPeriods": { "type": "number", "description": "Number of aging periods" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "vendorsIds": { "description": "Vendor IDs to include", "type": "array", "items": { "type": "number" } }, "branchesIds": { "description": "Branch IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero balance accounts" } }, "required": [ "asDate", "agingDaysBefore", "agingPeriods", "numberFormat", "vendorsIds", "branchesIds", "noneZero" ] }, "APAgingSummaryTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/APAgingSummaryQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/APAgingSummaryMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "InventoryItemDetailsQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "itemsIds": { "description": "Item IDs to include", "type": "array", "items": { "type": "number" } } }, "required": [ "fromDate", "toDate", "numberFormat", "itemsIds" ] }, "InventoryItemTransactionDto": { "type": "object", "properties": { "date": { "type": "string", "description": "Transaction date" }, "dateFormatted": { "type": "string", "description": "Formatted date" }, "transactionType": { "type": "string", "description": "Transaction type" }, "referenceId": { "type": "number", "description": "Reference ID" }, "transactionNumber": { "type": "string", "description": "Transaction number" }, "description": { "type": "string", "description": "Transaction description" }, "quantity": { "type": "number", "description": "Quantity" }, "rate": { "type": "number", "description": "Rate" }, "total": { "description": "Total amount", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "runningQuantity": { "type": "number", "description": "Running quantity" } }, "required": [ "date", "dateFormatted", "transactionType", "referenceId", "transactionNumber", "quantity", "rate", "total", "runningQuantity" ] }, "InventoryItemDetailDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Item ID" }, "name": { "type": "string", "description": "Item name" }, "code": { "type": "string", "description": "Item code" }, "openingQuantity": { "type": "number", "description": "Opening quantity" }, "closingQuantity": { "type": "number", "description": "Closing quantity" }, "transactions": { "description": "Item transactions", "type": "array", "items": { "$ref": "#/components/schemas/InventoryItemTransactionDto" } } }, "required": [ "id", "name", "code", "openingQuantity", "closingQuantity", "transactions" ] }, "InventoryItemDetailsMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "InventoryItemDetailsResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/InventoryItemDetailsQueryResponseDto" } ] }, "data": { "description": "Inventory items with details", "type": "array", "items": { "$ref": "#/components/schemas/InventoryItemDetailDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/InventoryItemDetailsMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "InventoryItemDetailsTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/InventoryItemDetailsQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/InventoryItemDetailsMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "InventoryValuationQueryResponseDto": { "type": "object", "properties": { "asDate": { "type": "string", "description": "As-of date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "itemsIds": { "description": "Item IDs to include", "type": "array", "items": { "type": "number" } }, "noneZero": { "type": "boolean", "description": "Exclude zero quantity items" } }, "required": [ "asDate", "numberFormat", "itemsIds", "noneZero" ] }, "InventoryValuationItemDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Item ID" }, "name": { "type": "string", "description": "Item name" }, "code": { "type": "string", "description": "Item code" }, "type": { "type": "string", "description": "Item type" }, "quantityOnHand": { "type": "number", "description": "Quantity on hand" }, "averageCost": { "type": "number", "description": "Average cost" }, "totalValue": { "description": "Total value", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "assetAccountName": { "type": "string", "description": "Asset account name" }, "assetAccountCode": { "type": "string", "description": "Asset account code" } }, "required": [ "id", "name", "code", "type" ] }, "InventoryValuationMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedAsDate": { "type": "string", "description": "Formatted as-of date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedAsDate", "formattedDateRange" ] }, "InventoryValuationResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/InventoryValuationQueryResponseDto" } ] }, "data": { "description": "Inventory items valuation", "type": "array", "items": { "$ref": "#/components/schemas/InventoryValuationItemDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/InventoryValuationMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "InventoryValuationTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/InventoryValuationQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/InventoryValuationMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "SalesTaxLiabilitySummaryQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] } }, "required": [ "fromDate", "toDate", "numberFormat" ] }, "TaxRateSummaryDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Tax rate ID" }, "name": { "type": "string", "description": "Tax rate name" }, "rate": { "type": "number", "description": "Tax rate percentage" }, "taxableAmount": { "description": "Taxable amount", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "taxAmount": { "description": "Tax amount collected", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "totalSales": { "description": "Total sales (including tax)", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] } }, "required": [ "id", "name", "rate", "taxableAmount", "taxAmount", "totalSales" ] }, "SalesTaxLiabilitySummaryMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "SalesTaxLiabilitySummaryResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/SalesTaxLiabilitySummaryQueryResponseDto" } ] }, "data": { "description": "Tax rate summaries", "type": "array", "items": { "$ref": "#/components/schemas/TaxRateSummaryDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/SalesTaxLiabilitySummaryMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "SalesTaxLiabilitySummaryTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/SalesTaxLiabilitySummaryQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/SalesTaxLiabilitySummaryMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "JournalSheetQueryResponseDto": { "type": "object", "properties": { "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "fromRange": { "type": "number", "description": "From range" }, "toRange": { "type": "number", "description": "To range" }, "accountsIds": { "description": "Account IDs to include", "type": "array", "items": { "type": "number" } }, "numberFormat": { "type": "object", "description": "Number format settings" } }, "required": [ "fromDate", "toDate", "accountsIds", "numberFormat" ] }, "JournalEntryDto": { "type": "object", "properties": { "index": { "type": "number", "description": "Entry index" }, "note": { "type": "string", "description": "Entry note" }, "contactName": { "type": "string", "description": "Contact name" }, "contactType": { "type": "string", "description": "Contact type" }, "accountName": { "type": "string", "description": "Account name" }, "accountCode": { "type": "string", "description": "Account code" }, "transactionNumber": { "type": "string", "description": "Transaction number" }, "formattedCredit": { "type": "string", "description": "Formatted credit" }, "formattedDebit": { "type": "string", "description": "Formatted debit" }, "credit": { "type": "number", "description": "Credit amount" }, "debit": { "type": "number", "description": "Debit amount" } }, "required": [ "index", "accountName", "accountCode", "formattedCredit", "formattedDebit", "credit", "debit" ] }, "JournalTransactionDto": { "type": "object", "properties": { "date": { "type": "string", "description": "Transaction date" }, "dateFormatted": { "type": "string", "description": "Formatted date" }, "transactionType": { "type": "string", "description": "Transaction type" }, "referenceId": { "type": "number", "description": "Reference ID" }, "referenceTypeFormatted": { "type": "string", "description": "Formatted reference type" }, "entries": { "description": "Journal entries", "type": "array", "items": { "$ref": "#/components/schemas/JournalEntryDto" } }, "credit": { "type": "number", "description": "Total credit" }, "debit": { "type": "number", "description": "Total debit" }, "formattedCredit": { "type": "string", "description": "Formatted total credit" }, "formattedDebit": { "type": "string", "description": "Formatted total debit" } }, "required": [ "date", "dateFormatted", "transactionType", "referenceId", "referenceTypeFormatted", "entries", "credit", "debit", "formattedCredit", "formattedDebit" ] }, "JournalSheetMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "JournalSheetResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/JournalSheetQueryResponseDto" } ] }, "data": { "description": "Journal transactions", "type": "array", "items": { "$ref": "#/components/schemas/JournalTransactionDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/JournalSheetMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "JournalSheetTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/JournalSheetQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/JournalSheetMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "ProfitLossSheetQueryResponseDto": { "type": "object", "properties": { "display_columns_type": { "type": "string", "description": "Column display type", "enum": [ "total", "date_periods" ] }, "display_columns_by": { "type": "string", "description": "Column grouping", "enum": [ "day", "month", "year", "quarter" ] }, "from_date": { "type": "string", "description": "Start date" }, "to_date": { "type": "string", "description": "End date" }, "number_format": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "none_zero": { "type": "boolean", "description": "Exclude zero balance accounts" }, "none_transactions": { "type": "boolean", "description": "Exclude accounts with no transactions" }, "basis": { "type": "string", "description": "Accounting basis", "enum": [ "cash", "accrual" ] }, "accounts_ids": { "description": "Account IDs to include", "type": "array", "items": { "type": "number" } }, "percentage_column": { "type": "boolean", "description": "Show percentage of column" }, "percentage_row": { "type": "boolean", "description": "Show percentage of row" }, "percentage_income": { "type": "boolean", "description": "Show percentage of income" }, "percentage_expense": { "type": "boolean", "description": "Show percentage of expense" }, "previous_period": { "type": "boolean", "description": "Include previous period" }, "previous_period_amount_change": { "type": "boolean", "description": "Show previous period amount change" }, "previous_period_percentage_change": { "type": "boolean", "description": "Show previous period percentage change" }, "previous_year": { "type": "boolean", "description": "Include previous year" }, "previous_year_amount_change": { "type": "boolean", "description": "Show previous year amount change" }, "previous_year_percentage_change": { "type": "boolean", "description": "Show previous year percentage change" } }, "required": [ "display_columns_type", "display_columns_by", "from_date", "to_date", "number_format", "none_zero", "none_transactions", "basis", "accounts_ids", "percentage_column", "percentage_row", "percentage_income", "percentage_expense", "previous_period", "previous_period_amount_change", "previous_period_percentage_change", "previous_year", "previous_year_amount_change", "previous_year_percentage_change" ] }, "ProfitLossSheetDataNodeDto": { "type": "object", "properties": { "id": { "type": "object", "description": "Node identifier (string for aggregates, number for accounts)" }, "name": { "type": "string", "description": "Account or category name" }, "node_type": { "type": "string", "description": "Type of node", "enum": [ "ACCOUNTS", "ACCOUNT", "EQUATION", "TOTAL" ] }, "type": { "type": "string", "description": "Node type alias" }, "total": { "description": "Total amount information", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "horizontal_totals": { "description": "Horizontal totals for date periods", "type": "array", "items": { "$ref": "#/components/schemas/FinancialReportTotalDto" } }, "percentage_income": { "description": "Percentage of income", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "percentage_expense": { "description": "Percentage of expense", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "percentage_row": { "description": "Percentage of row", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "percentage_column": { "description": "Percentage of column", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "previous_period": { "description": "Previous period total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previous_period_change": { "description": "Previous period change", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previous_period_percentage": { "description": "Previous period percentage", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "previous_year": { "description": "Previous year total", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previous_year_change": { "description": "Previous year change", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "previous_year_percentage": { "description": "Previous year percentage", "allOf": [ { "$ref": "#/components/schemas/FinancialReportPercentageDto" } ] }, "code": { "type": "string", "description": "Account code" }, "index": { "type": "number", "description": "Display index" }, "children": { "description": "Child nodes", "type": "array", "items": { "$ref": "#/components/schemas/ProfitLossSheetDataNodeDto" } } }, "required": [ "id", "name", "node_type", "total" ] }, "ProfitLossSheetMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formatted_from_date": { "type": "string", "description": "Formatted from date" }, "formatted_to_date": { "type": "string", "description": "Formatted to date" }, "formatted_date_range": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formatted_from_date", "formatted_to_date", "formatted_date_range" ] }, "ProfitLossSheetResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/ProfitLossSheetQueryResponseDto" } ] }, "data": { "description": "Hierarchical profit/loss data", "type": "array", "items": { "$ref": "#/components/schemas/ProfitLossSheetDataNodeDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/ProfitLossSheetMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "ProfitLossSheetTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/ProfitLossSheetQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/ProfitLossSheetMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "CashflowStatementQueryResponseDto": { "type": "object", "properties": { "displayColumnsType": { "type": "string", "description": "Column display type", "enum": [ "total", "date_periods" ] }, "displayColumnsBy": { "type": "string", "description": "Column grouping", "enum": [ "day", "month", "year", "quarter" ] }, "fromDate": { "type": "string", "description": "Start date" }, "toDate": { "type": "string", "description": "End date" }, "numberFormat": { "description": "Number format settings", "allOf": [ { "$ref": "#/components/schemas/NumberFormatQueryDto" } ] }, "noneZero": { "type": "boolean", "description": "Exclude zero balance accounts" }, "noneTransactions": { "type": "boolean", "description": "Exclude accounts with no transactions" }, "basis": { "type": "string", "description": "Accounting basis", "enum": [ "cash", "accrual" ] }, "accountIds": { "description": "Account IDs to include", "type": "array", "items": { "type": "number" } } }, "required": [ "displayColumnsType", "displayColumnsBy", "fromDate", "toDate", "numberFormat", "noneZero", "noneTransactions", "basis", "accountIds" ] }, "CashflowStatementDataNodeDto": { "type": "object", "properties": { "id": { "type": "object", "description": "Node identifier (string for aggregates, number for accounts)" }, "name": { "type": "string", "description": "Account or category name" }, "nodeType": { "type": "string", "description": "Type of node", "enum": [ "AGGREGATE", "ACCOUNT", "NET_INCOME", "TOTAL" ] }, "type": { "type": "string", "description": "Node type alias" }, "total": { "description": "Total amount information", "allOf": [ { "$ref": "#/components/schemas/FinancialReportTotalDto" } ] }, "horizontalTotals": { "description": "Horizontal totals for date periods", "type": "array", "items": { "$ref": "#/components/schemas/FinancialReportTotalDto" } }, "code": { "type": "string", "description": "Account code" }, "index": { "type": "number", "description": "Display index" }, "children": { "description": "Child nodes", "type": "array", "items": { "$ref": "#/components/schemas/CashflowStatementDataNodeDto" } } }, "required": [ "id", "name", "nodeType", "total" ] }, "CashflowStatementMetaDto": { "type": "object", "properties": { "organizationName": { "type": "string", "description": "Organization name" }, "baseCurrency": { "type": "string", "description": "Base currency code" }, "dateFormat": { "type": "string", "description": "Date format string" }, "isCostComputeRunning": { "type": "boolean", "description": "Whether cost computation is running" }, "sheetName": { "type": "string", "description": "Sheet name" }, "formattedFromDate": { "type": "string", "description": "Formatted from date" }, "formattedToDate": { "type": "string", "description": "Formatted to date" }, "formattedDateRange": { "type": "string", "description": "Formatted date range" } }, "required": [ "organizationName", "baseCurrency", "dateFormat", "isCostComputeRunning", "sheetName", "formattedFromDate", "formattedToDate", "formattedDateRange" ] }, "CashflowStatementResponseDto": { "type": "object", "properties": { "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/CashflowStatementQueryResponseDto" } ] }, "data": { "description": "Hierarchical cashflow data", "type": "array", "items": { "$ref": "#/components/schemas/CashflowStatementDataNodeDto" } }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/CashflowStatementMetaDto" } ] } }, "required": [ "query", "data", "meta" ] }, "CashflowStatementTableResponseDto": { "type": "object", "properties": { "table": { "description": "Table data structure", "allOf": [ { "$ref": "#/components/schemas/FinancialTableDataDto" } ] }, "query": { "description": "Query parameters used to generate the report", "allOf": [ { "$ref": "#/components/schemas/CashflowStatementQueryResponseDto" } ] }, "meta": { "description": "Report metadata", "allOf": [ { "$ref": "#/components/schemas/CashflowStatementMetaDto" } ] } }, "required": [ "table", "query", "meta" ] }, "RoleAbilityResponseDto": { "type": "object", "properties": { "subject": { "type": "string", "description": "The subject of the ability", "example": "all" }, "action": { "type": "string", "description": "The action permitted for the subject", "example": "manage" } }, "required": [ "subject", "action" ] }, "DashboardFeatureResponseDto": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the feature", "example": "warehouses" }, "isAccessible": { "type": "boolean", "description": "Whether the feature is accessible for the tenant", "example": true }, "defaultAccessible": { "type": "boolean", "description": "The default accessibility of the feature", "example": false } }, "required": [ "name", "isAccessible", "defaultAccessible" ] }, "GetDashboardBootMetaResponseDto": { "type": "object", "properties": { "abilities": { "description": "List of abilities for the current user", "example": [ { "subject": "all", "action": "manage" }, { "subject": "invoices", "action": "read" } ], "type": "array", "items": { "$ref": "#/components/schemas/RoleAbilityResponseDto" } }, "features": { "description": "List of features and their accessibility", "example": [ { "name": "warehouses", "isAccessible": true, "defaultAccessible": false }, { "name": "branches", "isAccessible": false, "defaultAccessible": false } ], "type": "array", "items": { "$ref": "#/components/schemas/DashboardFeatureResponseDto" } }, "isBigcapitalCloud": { "type": "boolean", "description": "Whether the app is running on Bigcapital Cloud", "example": true } }, "required": [ "abilities", "features", "isBigcapitalCloud" ] }, "RolePermissionResponseDto": { "type": "object", "properties": { "ability": { "type": "string", "example": "read", "description": "The action/ability of the permission" }, "subject": { "type": "string", "example": "item", "description": "The subject of the permission" }, "value": { "type": "boolean", "example": true, "description": "The value of the permission" } }, "required": [ "ability", "subject", "value" ] }, "RoleResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1, "description": "Unique identifier of the role" }, "slug": { "type": "string", "example": "admin", "description": "The slug of the role" }, "name": { "type": "string", "example": "Administrator", "description": "The name of the role" }, "description": { "type": "string", "example": "Administrator role with all permissions", "description": "The description of the role" }, "predefined": { "type": "boolean", "example": false, "description": "Indicates if the role is predefined" }, "permissions": { "description": "List of permissions associated with the role", "example": [ { "ability": "read", "subject": "item", "value": true }, { "ability": "edit", "subject": "item", "value": false } ], "type": "array", "items": { "$ref": "#/components/schemas/RolePermissionResponseDto" } } }, "required": [ "id", "slug", "name", "description", "predefined", "permissions" ] }, "CreateRolePermissionDto": { "type": "object", "properties": { "subject": { "type": "string", "example": "subject", "description": "The subject of the permission" }, "ability": { "type": "string", "example": "read", "description": "The action of the permission" }, "value": { "type": "boolean", "example": true, "description": "The value of the permission" } }, "required": [ "subject", "ability", "value" ] }, "CreateRoleDto": { "type": "object", "properties": { "roleName": { "type": "string", "example": "admin", "description": "The name of the role" }, "roleDescription": { "type": "string", "example": "Administrator", "description": "The description of the role" }, "permissions": { "description": "The permissions of the role", "type": "array", "items": { "$ref": "#/components/schemas/CreateRolePermissionDto" } } }, "required": [ "roleName", "roleDescription", "permissions" ] }, "EditRolePermissionDto": { "type": "object", "properties": { "subject": { "type": "string", "example": "subject", "description": "The subject of the permission" }, "ability": { "type": "string", "example": "read", "description": "The action of the permission" }, "value": { "type": "boolean", "example": true, "description": "The value of the permission" }, "permissionId": { "type": "number", "example": 1, "description": "The permission ID" } }, "required": [ "subject", "ability", "value", "permissionId" ] }, "EditRoleDto": { "type": "object", "properties": { "roleName": { "type": "string", "example": "admin", "description": "The name of the role" }, "roleDescription": { "type": "string", "example": "Administrator", "description": "The description of the role" }, "permissions": { "description": "The permissions of the role", "type": "array", "items": { "$ref": "#/components/schemas/EditRolePermissionDto" } } }, "required": [ "roleName", "roleDescription", "permissions" ] }, "OrganizationBuildJobResponseDto": { "type": "object", "properties": { "id": { "type": "string", "example": "123" }, "state": { "type": "string", "example": "active" }, "progress": { "type": "object", "example": 50 }, "isCompleted": { "type": "boolean", "example": false }, "isRunning": { "type": "boolean", "example": true }, "isWaiting": { "type": "boolean", "example": false }, "isFailed": { "type": "boolean", "example": false } }, "required": [ "id", "state", "progress", "isCompleted", "isRunning", "isWaiting", "isFailed" ] }, "OrganizationMetadataResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Internal numeric ID of the metadata", "example": 1 }, "tenantId": { "type": "number", "description": "Tenant ID associated with the organization", "example": 101 }, "name": { "type": "string", "description": "Name of the organization", "example": "Acme Inc." }, "industry": { "type": "string", "description": "Industry of the organization", "example": "Technology" }, "location": { "type": "string", "description": "Location of the organization", "example": "US" }, "baseCurrency": { "type": "string", "description": "Base currency in ISO 4217 format", "example": "USD" }, "language": { "type": "string", "description": "Language/locale of the organization", "example": "en-US" }, "timezone": { "type": "string", "description": "Timezone of the organization", "example": "America/New_York" }, "dateFormat": { "type": "string", "description": "Date format used by the organization", "example": "MM/DD/YYYY" }, "fiscalYear": { "type": "string", "description": "Fiscal year of the organization", "example": "January" }, "taxNumber": { "type": "string", "description": "Tax identification number", "example": "12-3456789", "nullable": true }, "primaryColor": { "type": "string", "description": "Primary brand color in hex format", "example": "#4285F4", "nullable": true }, "logoKey": { "type": "string", "description": "Logo file key reference", "example": "organizations/acme-logo-123456.png", "nullable": true }, "logoUri": { "type": "string", "description": "Logo URL (presigned or public) for display", "example": "https://...", "nullable": true }, "address": { "type": "string", "description": "Organization address details", "example": "123 Main St, New York, NY", "nullable": true } }, "required": [ "id", "tenantId", "name", "location", "baseCurrency", "language", "timezone", "dateFormat", "fiscalYear" ] }, "GetCurrentOrganizationResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "Internal numeric ID of the organization", "example": 1 }, "organizationId": { "type": "string", "description": "Unique string identifier for the organization", "example": "org_123456" }, "initializedAt": { "format": "date-time", "type": "string", "description": "Date when the organization was initialized", "example": "2024-01-01T00:00:00.000Z" }, "seededAt": { "format": "date-time", "type": "string", "description": "Date when the organization was seeded", "example": "2024-01-01T01:00:00.000Z" }, "builtAt": { "format": "date-time", "type": "string", "description": "Date when the organization was built", "example": "2024-01-01T02:00:00.000Z" }, "databaseBatch": { "type": "string", "description": "Database batch identifier, if any", "example": "batch_001", "nullable": true }, "metadata": { "description": "Organization metadata", "type": "array", "items": { "$ref": "#/components/schemas/OrganizationMetadataResponseDto" } }, "isReady": { "type": "boolean", "description": "Whether the organization is ready", "example": true }, "isBuildRunning": { "type": "boolean", "description": "Whether a build process is currently running", "example": false }, "isUpgradeRunning": { "type": "boolean", "description": "Whether an upgrade process is currently running", "example": false } }, "required": [ "id", "organizationId", "initializedAt", "seededAt", "builtAt", "metadata", "isReady", "isBuildRunning", "isUpgradeRunning" ] }, "BuildOrganizationDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Organization name", "example": "Acme Inc." }, "industry": { "type": "string", "description": "Industry of the organization", "example": "Technology" }, "location": { "type": "string", "description": "Country location in ISO 3166-1 alpha-2 format", "example": "US" }, "baseCurrency": { "type": "string", "description": "Base currency in ISO 4217 format", "example": "USD" }, "timezone": { "type": "string", "description": "Timezone of the organization", "example": "America/New_York" }, "fiscalYear": { "type": "string", "description": "Starting month of fiscal year", "example": "January" }, "language": { "type": "string", "description": "Language/locale of the organization", "example": "en-US" }, "dateFormat": { "type": "string", "description": "Date format used by the organization", "example": "MM/DD/YYYY" } }, "required": [ "name", "location", "baseCurrency", "timezone", "fiscalYear", "language" ] }, "UpdateOrganizationDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Organization name", "example": "Acme Inc." }, "industry": { "type": "string", "description": "Industry of the organization", "example": "Technology" }, "location": { "type": "string", "description": "Country location in ISO 3166-1 alpha-2 format", "example": "US" }, "baseCurrency": { "type": "string", "description": "Base currency in ISO 4217 format", "example": "USD" }, "timezone": { "type": "string", "description": "Timezone of the organization", "example": "America/New_York" }, "fiscalYear": { "type": "string", "description": "Starting month of fiscal year", "example": "January" }, "language": { "type": "string", "description": "Language/locale of the organization", "example": "en-US" }, "dateFormat": { "type": "string", "description": "Date format used by the organization", "example": "MM/DD/YYYY" }, "address": { "type": "object", "description": "Organization address details", "example": { "address_1": "123 Main St", "address_2": "Suite 100", "postal_code": "10001", "city": "New York", "stateProvince": "NY", "phone": "+1-555-123-4567" } }, "primaryColor": { "type": "string", "description": "Primary brand color in hex format", "example": "#4285F4" }, "logoKey": { "type": "string", "description": "Logo file key reference", "example": "organizations/acme-logo-123456.png" }, "taxNumber": { "type": "string", "description": "Organization tax identification number", "example": "12-3456789" } } }, "EditPaymentMethodOptionsDto": { "type": "object", "properties": {} }, "EditPaymentMethodDTO": { "type": "object", "properties": { "options": { "description": "Edit payment method options", "allOf": [ { "$ref": "#/components/schemas/EditPaymentMethodOptionsDto" } ] }, "name": { "type": "string", "description": "Payment method name" } } }, "ViewColumn": { "type": "object", "properties": {} }, "ViewResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the view" }, "name": { "type": "string", "description": "The name of the view" }, "slug": { "type": "string", "description": "The slug of the view" }, "predefined": { "type": "boolean", "description": "Whether the view is predefined" }, "resourceModel": { "type": "string", "description": "The resource model associated with the view" }, "favourite": { "type": "boolean", "description": "Whether the view is marked as favourite" }, "rolesLogicExpression": { "type": "string", "description": "The roles logic expression for the view" }, "roles": { "description": "The roles associated with the view", "type": "array", "items": { "$ref": "#/components/schemas/RoleResponseDto" } }, "columns": { "description": "The columns associated with the view", "type": "array", "items": { "$ref": "#/components/schemas/ViewColumn" } }, "createdAt": { "format": "date-time", "type": "string", "description": "The creation timestamp" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The last update timestamp" } }, "required": [ "id", "name", "slug", "predefined", "resourceModel", "favourite", "rolesLogicExpression", "roles", "columns", "createdAt", "updatedAt" ] }, "CurrencyResponseDto": { "type": "object", "properties": { "id": { "type": "number", "description": "The unique identifier of the currency", "example": 1 }, "currencyName": { "type": "string", "description": "The name of the currency", "example": "US Dollar" }, "currencyCode": { "type": "string", "description": "The code of the currency", "example": "USD" }, "currencySign": { "type": "string", "description": "The sign/symbol of the currency", "example": "$" }, "isBaseCurrency": { "type": "boolean", "description": "Whether this is the base currency for the organization", "example": true }, "createdAt": { "format": "date-time", "type": "string", "description": "The creation timestamp", "example": "2024-03-20T10:00:00Z" }, "updatedAt": { "format": "date-time", "type": "string", "description": "The last update timestamp", "example": "2024-03-20T10:00:00Z" } }, "required": [ "id", "currencyName", "currencyCode", "currencySign", "isBaseCurrency", "createdAt", "updatedAt" ] }, "CreateCurrencyDto": { "type": "object", "properties": { "currencyName": { "type": "string", "example": "USD", "description": "The currency name" }, "currencyCode": { "type": "string", "example": "USD", "description": "The currency code" }, "currencySign": { "type": "string", "example": "$", "description": "The currency sign" } }, "required": [ "currencyName", "currencyCode", "currencySign" ] }, "EditCurrencyDto": { "type": "object", "properties": { "currencyName": { "type": "string", "example": "USD", "description": "The currency name" }, "currencySign": { "type": "string", "example": "$", "description": "The currency sign" } }, "required": [ "currencyName", "currencySign" ] }, "DateFormatResponseDto": { "type": "object", "properties": { "label": { "type": "string", "example": "03/09/2026 [MM/DD/YYYY]" }, "key": { "type": "string", "example": "MM/DD/YYYY" } }, "required": [ "label", "key" ] }, "EditUserDto": { "type": "object", "properties": { "firstName": { "type": "string", "description": "First name of the user", "example": "John" }, "lastName": { "type": "string", "description": "Last name of the user", "example": "Doe" }, "email": { "type": "string", "description": "Email address of the user", "example": "john.doe@example.com" }, "roleId": { "type": "number", "description": "Role ID assigned to the user", "example": 2 } }, "required": [ "firstName", "lastName", "email", "roleId" ] }, "SendInviteUserDto": { "type": "object", "properties": { "email": { "type": "string", "description": "Email address of the user to invite", "example": "john.doe@example.com" }, "roleId": { "type": "number", "description": "Role ID to assign to the invited user", "example": 2 } }, "required": [ "email", "roleId" ] }, "InviteUserDto": { "type": "object", "properties": { "firstName": { "type": "string", "description": "First name of the user to invite", "example": "John" }, "lastName": { "type": "string", "description": "Last name of the user to invite", "example": "Doe" }, "password": { "type": "string", "description": "Password for the invited user", "example": "StrongPassword123!" } }, "required": [ "firstName", "lastName", "password" ] }, "ExchangeRateLatestResponseDto": { "type": "object", "properties": { "baseCurrency": { "type": "string", "description": "The base currency code", "example": "USD" }, "toCurrency": { "type": "string", "description": "The target currency code", "example": "EUR" }, "exchangeRate": { "type": "number", "description": "The exchange rate value", "example": 0.85 } }, "required": [ "baseCurrency", "toCurrency", "exchangeRate" ] } } } }