Files
bigcapital/shared/sdk-ts/openapi.json

39885 lines
1.2 MiB

{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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 <token>' where <token> is an API key prefixed with 'bc_' or a JWT token.",
"required": true,
"schema": {
"type": "string",
"example": "Bearer bc_1234567890abcdef"
}
},
{
"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"
]
}
}
}
}