@bunihq/admin-sdk
v0.0.9
Published
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@bunihq/admin-sdk* API.
Readme
@bunihq/admin-sdk
Developer-friendly & type-safe Typescript SDK specifically catered to leverage @bunihq/admin-sdk API.
[!IMPORTANT] This SDK is not yet ready for production use. To complete setup please follow the steps outlined in your workspace. Delete this section before > publishing to a package manager.
Summary
Buni Admin API: The Admin API allows users to interact with and manage their organizations and all the resources within them.
Table of Contents
SDK Installation
The SDK can be installed with either npm, pnpm, bun or yarn package managers.
NPM
npm add @bunihq/admin-sdkPNPM
pnpm add @bunihq/admin-sdkBun
bun add @bunihq/admin-sdkYarn
yarn add @bunihq/admin-sdk zod
# Note that Yarn does not install peer dependencies automatically. You will need
# to install zod as shown above.[!NOTE] This package is published with CommonJS and ES Modules (ESM) support.
Model Context Protocol (MCP) Server
This SDK is also an installable MCP server where the various SDK methods are exposed as tools that can be invoked by AI applications.
Node.js v20 or greater is required to run the MCP server from npm.
Add the following server definition to your claude_desktop_config.json file:
{
"mcpServers": {
"Buni": {
"command": "npx",
"args": [
"-y", "--package", "@bunihq/admin-sdk",
"--",
"mcp", "start",
"--api-key", "...",
"--access-token", "..."
]
}
}
}Create a .cursor/mcp.json file in your project root with the following content:
{
"mcpServers": {
"Buni": {
"command": "npx",
"args": [
"-y", "--package", "@bunihq/admin-sdk",
"--",
"mcp", "start",
"--api-key", "...",
"--access-token", "..."
]
}
}
}You can also run MCP servers as a standalone binary with no additional dependencies. You must pull these binaries from available Github releases:
curl -L -o mcp-server \
https://github.com/{org}/{repo}/releases/download/{tag}/mcp-server-bun-darwin-arm64 && \
chmod +x mcp-serverIf the repo is a private repo you must add your Github PAT to download a release -H "Authorization: Bearer {GITHUB_PAT}".
{
"mcpServers": {
"Todos": {
"command": "./DOWNLOAD/PATH/mcp-server",
"args": [
"start"
]
}
}
}For a full list of server arguments, run:
npx -y --package @bunihq/admin-sdk -- mcp start --helpRequirements
For supported JavaScript runtimes, please consult RUNTIMES.md.
SDK Example Usage
Example
import { Buni } from "@bunihq/admin-sdk";
const buni = new Buni({
security: {
apiKey: process.env["BUNI_API_KEY"] ?? "",
},
});
async function run() {
const result = await buni.orders.list({
timezone: "Africa/Nairobi",
});
console.log(result);
}
run();
Authentication
Per-Client Security Schemes
This SDK supports the following security schemes globally:
| Name | Type | Scheme | Environment Variable |
| ------------- | ------ | ------- | -------------------- |
| apiKey | apiKey | API key | BUNI_API_KEY |
| accessToken | apiKey | API key | BUNI_ACCESS_TOKEN |
You can set the security parameters through the security optional parameter when initializing the SDK client instance. The selected scheme will be used by default to authenticate with the API for all operations that support it. For example:
import { Buni } from "@bunihq/admin-sdk";
const buni = new Buni({
security: {
apiKey: process.env["BUNI_API_KEY"] ?? "",
},
});
async function run() {
const result = await buni.orders.list({
timezone: "Africa/Nairobi",
});
console.log(result);
}
run();
Available Resources and Operations
approvalRules
- list - List approval rules
- create - Create an approval rule
- toggleApprovalRule - Toggle the status of an approval rule
- get - Get an approval rule by ID
- updateApprovalRule - Update an approval rule
- delete - Delete an approval rule
customerGroups
- list - List customer groups
- create - Create a customer group
- get - Get a customer group
- updateCustomerGroupById - Update a customer group
- delete - Delete a customer group
- bulkCreate - Bulk create customer groups
customers
- list - List customers
- create - Create a customer
- searchCustomers - Search customers
- bulkCreate - Bulk create customers
- get - Get a customer
- updateCustomerById - Update a customer
- delete - Delete a customer
- listContacts - List customers contacts
- createContacts - Create customers contacts
- updateContacts - Update customers contacts
- deleteContact - Delete customer contact
- listAddresses - List customer addressess
- createAddresses - Create customer addresses
- updateAddresses - Update customer addresses
- deleteAddress - Delete customer address
inventory
- list - List all inventory items
- create - Create an inventory item
- listByLocation - List inventory items by location
- syncInventoryItems - Sync inventory items for a location
- listByLocationAndProduct - List inventory items for a particular product in a specific inventory location
- updateInventoryItem - Update an invetory item
inventoryLocationGroups
- inventoryLocationGroupsControllerCreateV1 - Create an inventory location group
- inventoryLocationGroupsControllerFindAllV1 - List all inventory location groups
- inventoryLocationGroupsControllerFindAllWithoutPaginationV1 - List all inventory location groups (without pagination)
- inventoryLocationGroupsControllerFindOneV1 - Get an inventory location group by ID
- inventoryLocationGroupsControllerUpdateV1 - Update an invetory location group
inventoryLocations
- create - Create an inventory location
- list - List all inventory locations
- bulkCreate - Bulk create inventory locations
- get - Get an inventory location by ID or external ID
- updateInventoryLocationById - Update an inventory location
orders
- list - List orders
- create - Create an order
- bulkImportOrders - Bulk import orders
- calculateOrderTotals - Calculate order totals
- get - Get an order by ID or external ID
- approveOrderRequest - Approve an order request
- rejectOrderRequest - Reject an order request
priceBooks
- create - Create a new price book
- list - Retrieve all price books
- get - Retrieve a specific price book by ID
- updatePriceBook - Update an existing price book
- delete - Delete a price book
- createEntry - Create a new entry in a price book
- listEntries - Retrieve all entries for a specific price book
- getEntry - Retrieve a specific entry from a price book
- updateEntry - Update an existing entry in a price book
- deleteEntry - Delete an entry from a price book
- bulkCreateEntries - Bulk create entries in a price book
- bulkUpdateEntries - Bulk update entries in a price book
productCategories
- create - Create a product category
- bulkCreate - Bulk create product categories
- productCategoriesControllerFindAllV1 - List product categories
- get - Get a product category
- updateCategory - Update a category
- getMedia - Get media for a category
products
- create - Create a product
- list - List products
- searchProducts - Search products
- bulkCreate - Bulk create products
- get - Get a product
- updateProduct - Update a product
- delete - Delete a product
quotations
- list - Get all quotations
- create - Create a new quotation
- updateQuotation - Update a quotation
- get - Get a quotation by ID or external ID
- previewQuotation - Preview a quotation
suppliers
- createGroup - Create a supplier group
- getGroup - Get a supplier group by ID or external ID
- updateGroup - Update a supplier group
- deleteGroup - Delete supplier group
- getProducts - Get suppliers of a product
- getContacts - Get supplier contacts
- createContacts - Create supplier contacts
- updateContacts - Update supplier contacts
- deleteContact - Delete supplier contact
- getAddresses - Get supplier addresses
- createAddresses - Create supplier addresses
- updateAddresses - Update supplier addresses
- deleteAddress - Delete supplier address
- create - Create a supplier
- list - List suppliers
- listAll - List all suppliers (without pagination)
- get - Get a supplier by ID or external ID
- update - Update a supplier
- delete - Delete a supplier
Standalone functions
All the methods listed above are available as standalone functions. These functions are ideal for use in applications running in the browser, serverless runtimes or other environments where application bundle size is a primary concern. When using a bundler to build your application, all unused functionality will be either excluded from the final bundle or tree-shaken away.
To read more about standalone functions, check FUNCTIONS.md.
approvalRulesCreate- Create an approval ruleapprovalRulesDelete- Delete an approval ruleapprovalRulesGet- Get an approval rule by IDapprovalRulesList- List approval rulesapprovalRulesToggleApprovalRule- Toggle the status of an approval ruleapprovalRulesUpdateApprovalRule- Update an approval rulecustomerGroupsBulkCreate- Bulk create customer groupscustomerGroupsCreate- Create a customer groupcustomerGroupsDelete- Delete a customer groupcustomerGroupsGet- Get a customer groupcustomerGroupsList- List customer groupscustomerGroupsUpdateCustomerGroupById- Update a customer groupcustomersBulkCreate- Bulk create customerscustomersCreate- Create a customercustomersCreateAddresses- Create customer addressescustomersCreateContacts- Create customers contactscustomersDelete- Delete a customercustomersDeleteAddress- Delete customer addresscustomersDeleteContact- Delete customer contactcustomersGet- Get a customercustomersList- List customerscustomersListAddresses- List customer addressesscustomersListContacts- List customers contactscustomersSearchCustomers- Search customerscustomersUpdateAddresses- Update customer addressescustomersUpdateContacts- Update customers contactscustomersUpdateCustomerById- Update a customerinventoryCreate- Create an inventory iteminventoryList- List all inventory itemsinventoryListByLocation- List inventory items by locationinventoryListByLocationAndProduct- List inventory items for a particular product in a specific inventory locationinventoryLocationGroupsInventoryLocationGroupsControllerCreateV1- Create an inventory location groupinventoryLocationGroupsInventoryLocationGroupsControllerFindAllV1- List all inventory location groupsinventoryLocationGroupsInventoryLocationGroupsControllerFindAllWithoutPaginationV1- List all inventory location groups (without pagination)inventoryLocationGroupsInventoryLocationGroupsControllerFindOneV1- Get an inventory location group by IDinventoryLocationGroupsInventoryLocationGroupsControllerUpdateV1- Update an invetory location groupinventoryLocationsBulkCreate- Bulk create inventory locationsinventoryLocationsCreate- Create an inventory locationinventoryLocationsGet- Get an inventory location by ID or external IDinventoryLocationsList- List all inventory locationsinventoryLocationsUpdateInventoryLocationById- Update an inventory locationinventorySyncInventoryItems- Sync inventory items for a locationinventoryUpdateInventoryItem- Update an invetory itemordersApproveOrderRequest- Approve an order requestordersBulkImportOrders- Bulk import ordersordersCalculateOrderTotals- Calculate order totalsordersCreate- Create an orderordersGet- Get an order by ID or external IDordersList- List ordersordersRejectOrderRequest- Reject an order requestpriceBooksBulkCreateEntries- Bulk create entries in a price bookpriceBooksBulkUpdateEntries- Bulk update entries in a price bookpriceBooksCreate- Create a new price bookpriceBooksCreateEntry- Create a new entry in a price bookpriceBooksDelete- Delete a price bookpriceBooksDeleteEntry- Delete an entry from a price bookpriceBooksGet- Retrieve a specific price book by IDpriceBooksGetEntry- Retrieve a specific entry from a price bookpriceBooksList- Retrieve all price bookspriceBooksListEntries- Retrieve all entries for a specific price bookpriceBooksUpdateEntry- Update an existing entry in a price bookpriceBooksUpdatePriceBook- Update an existing price bookproductCategoriesBulkCreate- Bulk create product categoriesproductCategoriesCreate- Create a product categoryproductCategoriesGet- Get a product categoryproductCategoriesGetMedia- Get media for a categoryproductCategoriesProductCategoriesControllerFindAllV1- List product categoriesproductCategoriesUpdateCategory- Update a categoryproductsBulkCreate- Bulk create productsproductsCreate- Create a productproductsDelete- Delete a productproductsGet- Get a productproductsList- List productsproductsSearchProducts- Search productsproductsUpdateProduct- Update a productquotationsCreate- Create a new quotationquotationsGet- Get a quotation by ID or external IDquotationsList- Get all quotationsquotationsPreviewQuotation- Preview a quotationquotationsUpdateQuotation- Update a quotationsuppliersCreate- Create a suppliersuppliersCreateAddresses- Create supplier addressessuppliersCreateContacts- Create supplier contactssuppliersCreateGroup- Create a supplier groupsuppliersDelete- Delete a suppliersuppliersDeleteAddress- Delete supplier addresssuppliersDeleteContact- Delete supplier contactsuppliersDeleteGroup- Delete supplier groupsuppliersGet- Get a supplier by ID or external IDsuppliersGetAddresses- Get supplier addressessuppliersGetContacts- Get supplier contactssuppliersGetGroup- Get a supplier group by ID or external IDsuppliersGetProducts- Get suppliers of a productsuppliersList- List supplierssuppliersListAll- List all suppliers (without pagination)suppliersUpdate- Update a suppliersuppliersUpdateAddresses- Update supplier addressessuppliersUpdateContacts- Update supplier contactssuppliersUpdateGroup- Update a supplier group
Retries
Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.
To change the default retry strategy for a single API call, simply provide a retryConfig object to the call:
import { Buni } from "@bunihq/admin-sdk";
const buni = new Buni({
security: {
apiKey: process.env["BUNI_API_KEY"] ?? "",
},
});
async function run() {
const result = await buni.orders.list({
timezone: "Africa/Nairobi",
}, {
retries: {
strategy: "backoff",
backoff: {
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
},
retryConnectionErrors: false,
},
});
console.log(result);
}
run();
If you'd like to override the default retry strategy for all operations that support retries, you can provide a retryConfig at SDK initialization:
import { Buni } from "@bunihq/admin-sdk";
const buni = new Buni({
retryConfig: {
strategy: "backoff",
backoff: {
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
},
retryConnectionErrors: false,
},
security: {
apiKey: process.env["BUNI_API_KEY"] ?? "",
},
});
async function run() {
const result = await buni.orders.list({
timezone: "Africa/Nairobi",
});
console.log(result);
}
run();
Error Handling
BuniError is the base class for all HTTP error responses. It has the following properties:
| Property | Type | Description |
| ------------------- | ---------- | --------------------------------------------------------------------------------------- |
| error.message | string | Error message |
| error.statusCode | number | HTTP response status code eg 404 |
| error.headers | Headers | HTTP response headers |
| error.body | string | HTTP body. Can be empty string if no body is returned. |
| error.rawResponse | Response | Raw HTTP response |
| error.data$ | | Optional. Some errors may contain structured data. See Error Classes. |
Example
import { Buni } from "@bunihq/admin-sdk";
import * as errors from "@bunihq/admin-sdk/models/errors";
const buni = new Buni({
security: {
apiKey: process.env["BUNI_API_KEY"] ?? "",
},
});
async function run() {
try {
const result = await buni.orders.list({
timezone: "Africa/Nairobi",
});
console.log(result);
} catch (error) {
// The base class for HTTP error responses
if (error instanceof errors.BuniError) {
console.log(error.message);
console.log(error.statusCode);
console.log(error.body);
console.log(error.headers);
// Depending on the method different errors may be thrown
if (error instanceof errors.ListOrdersBadRequestError) {
console.log(error.data$.message); // string
}
}
}
}
run();
Error Classes
Primary error:
BuniError: The base class for HTTP error responses.
Network errors:
ConnectionError: HTTP client was unable to make a request to a server.RequestTimeoutError: HTTP request timed out due to an AbortSignal signal.RequestAbortedError: HTTP request was aborted by the client.InvalidRequestError: Any input used to create a request is invalid.UnexpectedClientError: Unrecognised or unexpected error.
Inherit from BuniError:
ListOrdersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateOrderBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*BulkImportOrdersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CalculateOrderTotalsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetOrderByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ApproveOrderRequestBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*RejectOrderRequestBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListApprovalRulesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateApprovalRuleBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ToggleApprovalRuleBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetApprovalRuleByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateApprovalRuleBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteApprovalRuleByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateProductBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListProductsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*SearchProductsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*BulkCreateProductsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetProductByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateProductBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteProductByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateProductCategoryBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*BulkCreateProductCategoriesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ProductCategoriesControllerFindAllV1BadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetProductCategoryByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateCategoryBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetCategoryMediaBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListInventoryItemsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateInventoryItemBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListInventoryItemsByLocationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*SyncInventoryItemsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListProductInventoryItemsByLocationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateInventoryItemBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateSupplierGroupBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetSupplierGroupBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateSupplierGroupBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteSupplierGroupBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetProductSuppliersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetSupplierContactsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateSupplierContactsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateSupplierContactsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteSupplierContactBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetSupplierAddressesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateSupplierAddressesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateSupplierAddressesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteSupplierAddressBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateSupplierBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListSuppliersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListAllSuppliersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetSupplierBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateSupplierBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteSupplierBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateInventoryLocationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListInventoryLocationsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*BulkCreateInventoryLocationsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetInventoryLocationByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateInventoryLocationByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerCreateV1BadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerFindAllV1BadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerFindAllWithoutPaginationV1BadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerFindOneV1BadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerUpdateV1BadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListCustomersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateCustomerBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*SearchCustomersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*BulkCreateCustomersBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetCustomerByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateCustomerByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteCustomerByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListCustomerContactsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateCustomerContactsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateCustomerContactsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteCustomerContactBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListCustomerAddressesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateCustomerAddressesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateCustomerAddressesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteCustomerAddressBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListCustomerGroupsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateCustomerGroupBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetCustomerGroupByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateCustomerGroupByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeleteCustomerGroupByIdBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*BulkCreateCustomerGroupsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListPriceBooksBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetPriceBookBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeletePriceBookBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListPriceBookEntriesBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetPriceBookEntryBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*DeletePriceBookEntryBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListQuotationsBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*CreateQuotationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*UpdateQuotationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*GetQuotationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*PreviewQuotationBadRequestError: Bad Request. Usually due to missing parameters, or invalid parameters. Status code400. Applicable to 1 of 99 methods.*ListOrdersUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateOrderUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*BulkImportOrdersUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CalculateOrderTotalsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetOrderByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ApproveOrderRequestUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*RejectOrderRequestUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListApprovalRulesUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateApprovalRuleUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ToggleApprovalRuleUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetApprovalRuleByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateApprovalRuleUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*DeleteApprovalRuleByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateProductUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListProductsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*SearchProductsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*BulkCreateProductsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetProductByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateProductUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*DeleteProductByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateProductCategoryUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*BulkCreateProductCategoriesUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ProductCategoriesControllerFindAllV1UnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetProductCategoryByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateCategoryUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetCategoryMediaUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListInventoryItemsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateInventoryItemUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListInventoryItemsByLocationUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*SyncInventoryItemsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListProductInventoryItemsByLocationUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateInventoryItemUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateSupplierGroupUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetSupplierGroupUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateSupplierGroupUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*DeleteSupplierGroupUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetProductSuppliersUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetSupplierContactsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateSupplierContactsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateSupplierContactsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*DeleteSupplierContactUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetSupplierAddressesUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateSupplierAddressesUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateSupplierAddressesUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*DeleteSupplierAddressUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateSupplierUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListSuppliersUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListAllSuppliersUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetSupplierUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateSupplierUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*DeleteSupplierUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*CreateInventoryLocationUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*ListInventoryLocationsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*BulkCreateInventoryLocationsUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*GetInventoryLocationByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*UpdateInventoryLocationByIdUnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerCreateV1UnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerFindAllV1UnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerFindAllWithoutPaginationV1UnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerFindOneV1UnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*InventoryLocationGroupsControllerUpdateV1UnauthorizedError: Unauthorized. Due to missing or invalid authentication. Status code401. Applicable to 1 of 99 methods.*- [
ListCustomersUnauthorizedError](./src/models/errors/listcustomersun
