Source: https://billingmart.com/developers/api/workspace # Workspace and access The workspace a credential acts in, its plan, how it pays for it, usage and AI credits, the connection an assistant holds, the people, keys and apps with access, and resetting a sandbox to its demo data. [All sections](https://billingmart.com/developers/api) [Authentication](https://billingmart.com/developers/authentication) **On this page** - GET Get - POST Upsert item preset - GET List item presets - POST Archive item preset - POST Restore item preset - GET Get - GET Upgrade options - GET Credits - GET Credit history - GET Preview change - GET Get - GET Receipt - GET Get - GET Records - GET Proposals - POST Suggest line descriptions - POST Explain payment plan - POST Draft dunning ladder - POST Job summary - POST Generate business model - POST Record feedback - POST Reset - GET List - GET List - GET List - GET List - GET List - GET Get - OBJ BusinessContext - OBJ PlanUpgradeOptions - OBJ AiCreditsStatus - OBJ AiCreditHistory - OBJ PlanChangePreview - OBJ BillingReceipt - OBJ ConnectionStatus - OBJ SearchResult - OBJ AiProposal - OBJ TenantMember - OBJ Invitation - OBJ ApiKey - OBJ OAuthGrant - OBJ OAuthClient On this page - GET Get - POST Upsert item preset - GET List item presets - POST Archive item preset - POST Restore item preset - GET Get - GET Upgrade options - GET Credits - GET Credit history - GET Preview change - GET Get - GET Receipt - GET Get - GET Records - GET Proposals - POST Suggest line descriptions - POST Explain payment plan - POST Draft dunning ladder - POST Job summary - POST Generate business model - POST Record feedback - POST Reset - GET List - GET List - GET List - GET List - GET List - GET Get - OBJ BusinessContext - OBJ PlanUpgradeOptions - OBJ AiCreditsStatus - OBJ AiCreditHistory - OBJ PlanChangePreview - OBJ BillingReceipt - OBJ ConnectionStatus - OBJ SearchResult - OBJ AiProposal - OBJ TenantMember - OBJ Invitation - OBJ ApiKey - OBJ OAuthGrant - OBJ OAuthClient business ## Get GET `/v1/business` The tenant and its businesses: terminology, presets, fee types, invoice fields, currencies, plan and cap status. Scope `business:read` Effect Read only MCP tool `get_business_context` Retries Safe to repeat ### Returns `data`: [`BusinessContext`](https://billingmart.com/developers/api/workspace#object-BusinessContext) Example request Sample ``` curl -X GET "https://api.billingmart.com/v1/business" \ -H "Authorization: Bearer $BILLINGMART_API_KEY" ``` business ## Upsert item preset POST `/v1/business/item-presets` Add a product or service to a business, or change one by its key; the rest of the business model is never written. Adding refuses a key or a name another item already has; changing replaces that one item whole. A price is integer minor units in the business currency. Changing a saved item’s price (its basis, unit price or rate) is refused for a connected app or an API key (ITEM_PRICE_CONSOLE_ONLY): a person changes prices in BillingMart. Scope `invoices:write` Effect Writes a draft or record MCP tool `upsert_item_preset` Retries Send an Idempotency-Key; a repeat replays the stored answer for 24 hours ### Request body JSON. Money is an integer count of minor units beside its currency; quantities are thousandths. Upsert item preset request body | Field | Type | Notes | | --- | --- | --- | | `businessId`required | `id` | — | | `intent`required | `enum` | One of `add`, `change` | | `key`optional | `string` | up to 64 chars | | `label`required | `string` | up to 120 chars | | `rateBasis`required | `enum` | One of `fixed`, `hourly`, `daily`, `weekly`, `monthly`, `perUnit`, `perMile`, `perKilometre`, `percentage` | | `defaultUnitPrice`optional | `object` | — | | `defaultUnitPrice.minorUnits`required | `integer` | — | | `defaultUnitPrice.currency`required | `Currency` | — | | `defaultRateBasisPoints`optional | `integer` | min -10000000 · max 10000000 | | `taxTreatment`optional | `enum` | One of `taxable`, `exempt`, `zeroRated`, `reverseCharge` | ### Returns `data`: `object` Errors this route can answer besides the shared ones: `ALREADY_EXISTS` , `BUSINESS_NOT_FOUND` , `ITEM_PRICE_CONSOLE_ONLY` . Example request Sample ``` curl -X POST "https://api.billingmart.com/v1/business/item-presets" \ -H "Authorization: Bearer $BILLINGMART_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"businessId":"","intent":"add","label":"