### GET /api/ProductBranch Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves stock levels for products, specifically used for multi-branch businesses to get full stock visibility. ```APIDOC ## GET /api/ProductBranch ### Description Retrieves stock information per branch. Essential for multi-branch businesses where the product record only shows one branch. ### Method GET ### Endpoint /api/ProductBranch ### Parameters #### Query Parameters - **ProductUniqueId** (string) - Optional - Filter by product ID. - **BranchUniqueId** (string) - Optional - Filter by branch ID. - **StartPoint** (integer) - Optional - Pagination start point. - **MaxResults** (integer) - Optional - Maximum number of results to return. ``` -------------------------------- ### GET /api/Product Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Searches for products or retrieves a list of products for catalog synchronization. ```APIDOC ## GET /api/Product ### Description Search products, or feed a catalog sync. ### Method GET ### Endpoint /api/Product ### Parameters #### Query Parameters - **Phrase** (string) - Optional - Name / barcode phrase to search for. - **ExectMatch** (boolean) - Optional - true → exact identifier matches only. - **StartPoint** (number) - Optional - Paging start point. - **MaxResults** (number) - Optional - Paging limit (10 default, 50 max). - **TimeStampMin** (number) - Optional - Last-update window start. - **TimeStampMax** (number) - Optional - Last-update window end. ``` -------------------------------- ### GET /api/Product Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves a list of products, supporting incremental updates via a timestamp cursor. ```APIDOC ## GET /api/Product ### Description Retrieves a list of products. Use the TimeStampMin parameter to track changes and new products without a full re-scan. ### Method GET ### Endpoint /api/Product ### Parameters #### Query Parameters - **TimeStampMin** (string) - Optional - The timestamp cursor to filter products changed since a specific time. ``` -------------------------------- ### ProductBranch Model Structure Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Example of a single ProductBranch record showing the nested StorageAmounts object. ```json // one mdlProductBranch row: { "UniqueId": 4501, "Active": true, "ProductInfo": { "UniqueId": 88 }, "BranchInfo": { "UniqueId": 2, "Name": "Ramat Gan branch", "StorageAmounts": { // ⚠ nested under BranchInfo — NOT at the top level "Current": 7, "Min": 3, "Max": 20 } } } ``` -------------------------------- ### GET /api/ProductCompany Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves per-company cost overrides for products. ```APIDOC ## GET /api/ProductCompany ### Description Retrieves per-company cost overrides for products. ### Method GET ### Endpoint /api/ProductCompany ### Parameters #### Query Parameters - **id** (integer) - Optional - Filter by record ID. - **ProductUniqueId** (integer) - Optional - Filter by product. - **CompanyUniqueId** (integer) - Optional - Filter by company. ``` -------------------------------- ### GET /api/Product/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves the full record for a specific product. ```APIDOC ## GET /api/Product/{id} ### Description Returns the full record for a specific product. ### Method GET ### Endpoint /api/Product/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the product. ``` -------------------------------- ### GET /api/Product Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves products updated within a specific timestamp window. ```APIDOC ## GET /api/Product ### Description Retrieves a list of products that have been created or modified within a specified time range. This is used for incremental synchronization. ### Method GET ### Endpoint /api/Product ### Parameters #### Query Parameters - **TimeStampMin** (long) - Optional - Return only records whose last-update time is strictly greater than this value (Unix epoch seconds). - **TimeStampMax** (long) - Optional - Return only records whose last-update time is less than or equal to this value (Unix epoch seconds). - **MaxResults** (int) - Optional - Limits the number of records returned. ### Response #### Success Response (200) - **HighestTimeStamp** (long) - The highest update-timestamp among the matched records, used as a cursor for subsequent requests. ``` -------------------------------- ### Create a new customer via cURL Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Example of a POST request to create a new customer record using the Boss WebAPI. ```bash curl -X POST "$BASE_URL/api/Client" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "FirstName": "Israel", "LastName": "Israeli", "Email": "israel@example.com", "Phone": [ { "Number": "052-5554422" } ], "AssociatedBranch": { "UniqueId": 1 }, "StoragePriceNum": 1 }' ``` -------------------------------- ### Fetch a Client Receipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieve a specific receipt by its ID using a GET request. ```bash curl -G "$BASE_URL/api/ClientReceipt/4318" \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### GET /api/ProductBranch Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves product stock levels and branch-specific storage configurations. Stock data is nested under BranchInfo.StorageAmounts. ```APIDOC ## GET /api/ProductBranch ### Description Retrieves product stock levels and branch-specific storage configurations. Note that fields Current, Min, and Max are omitted when zero. ### Method GET ### Endpoint /api/ProductBranch ### Parameters #### Query Parameters - **ProductUniqueId** (integer) - Optional - Restrict to one product's branch rows. - **BranchUniqueId** (integer) - Optional - Restrict to one branch. - **id** (integer) - Optional - Fetch one ProductBranch row by its own UniqueId. - **StartPoint** (integer) - Optional - Paging start index. - **MaxResults** (integer) - Optional - Paging limit (default 10, max 50). ### Response #### Success Response (200) - **UniqueId** (integer) - Unique identifier for the record. - **Active** (boolean) - Status of the record. - **ProductInfo** (object) - Contains ProductUniqueId. - **BranchInfo** (object) - Contains BranchUniqueId, Name, and StorageAmounts (Current, Min, Max). ``` -------------------------------- ### GET /api/Delivering Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html List shipments or fetch a specific shipment by its ID. ```APIDOC ## GET /api/Delivering ### Description List shipments, or fetch one with GET /api/Delivering/{id}. ### Method GET ### Endpoint /api/Delivering /api/Delivering/{id} ### Parameters #### Query Parameters - **StartPoint** (integer) - Optional - Paging start index - **MaxResults** (integer) - Optional - Paging limit - **DeliveringRouteUniqueId** (string) - Optional - Filter shipments by route ``` -------------------------------- ### GET /api/DeliveringRouteTemplate Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Read-only lookup for delivery route templates. ```APIDOC ## GET /api/DeliveringRouteTemplate ### Description Retrieve delivery route templates. ### Method GET ### Endpoint /api/DeliveringRouteTemplate /api/DeliveringRouteTemplate/{id} ``` -------------------------------- ### GET /api/ClientCrediting/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Fetch one credit note by id. ```APIDOC ## GET /api/ClientCrediting/{id} ### Description Fetch one credit note by id. Returns the shared detail response, plus the same `AutorityId` allocation-number field as the invoice. Accepts optional `ReportAsSource=true`. ### Method GET ### Endpoint /api/ClientCrediting/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the credit note. ``` -------------------------------- ### Query Product Stock via API Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Examples of using curl to retrieve stock information for a specific product across all branches or filtered by a specific branch. ```bash # all branches holding product 88 curl -G "$BASE_URL/api/ProductBranch" \ --data-urlencode "ProductUniqueId=88" \ --data-urlencode "MaxResults=50" \ -H "Authorization: Bearer $TOKEN" # just product 88 in branch 2 curl -G "$BASE_URL/api/ProductBranch" \ --data-urlencode "ProductUniqueId=88" \ --data-urlencode "BranchUniqueId=2" \ -H "Authorization: Bearer $TOKEN" # → BranchInfo.StorageAmounts { Current, Min, Max } (fields omitted when zero) ``` -------------------------------- ### GET /api/ProductSupplier Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves link tables connecting products to suppliers. ```APIDOC ## GET /api/ProductSupplier ### Description Retrieves link tables connecting products to suppliers, including catalog codes. ### Method GET ### Endpoint /api/ProductSupplier ### Parameters #### Query Parameters - **id** (integer) - Optional - Filter by record ID. - **ProductUniqueId** (integer) - Optional - Filter by product. - **SupplierUniqueId** (integer) - Optional - Filter by supplier. - **StartPoint** (integer) - Optional - Paging start index. - **MaxResults** (integer) - Optional - Paging limit. ``` -------------------------------- ### GET /api/DeliveringRoute Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Read-only lookup for delivery routes. ```APIDOC ## GET /api/DeliveringRoute ### Description Retrieve delivery route information with optional filtering. ### Method GET ### Endpoint /api/DeliveringRoute /api/DeliveringRoute/{id} ### Parameters #### Query Parameters - **ActorType** (string) - Optional - Filter by actor type - **ActorUniqueId** (string) - Optional - Filter by actor unique identifier ``` -------------------------------- ### Fetch a Client Credit Note Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieve a specific credit note by its ID using a GET request. ```bash curl -G "$BASE_URL/api/ClientCrediting/4320" \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### GET /api/Product/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves a specific product record, including stock information for the branch the API serves. ```APIDOC ## GET /api/Product/{id} ### Description Retrieves a specific product record. For single-branch businesses, this includes stock information directly within the product record. ### Method GET ### Endpoint /api/Product/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the product. ``` -------------------------------- ### GET /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves a list of customers. Used for both the initial full load and incremental synchronization based on a timestamp cursor. ```APIDOC ## GET /api/Client ### Description Retrieves a paginated list of customers. Use this for the initial load or to fetch updates since a specific timestamp. ### Method GET ### Endpoint /api/Client ### Parameters #### Query Parameters - **Phrase** (string) - Optional - Search phrase for filtering. - **StartPoint** (integer) - Optional - The starting index for pagination. - **MaxResults** (integer) - Optional - Maximum number of records to return (max 50). - **TimeStampMin** (integer) - Optional - Unix epoch seconds to filter for records created or modified since this time. ### Response #### Success Response (200) - **HighestTimeStamp** (integer) - The highest last-update time among the returned records. - **MoreAvailableResults** (boolean) - Indicates if more pages are available. - **MaxAvailableResults** (integer) - Total number of records available. ``` -------------------------------- ### GET /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Locate a client by email or phone number. ```APIDOC ## GET /api/Client ### Description Locate an existing client using a search phrase such as an email address. ### Method GET ### Endpoint /api/Client?Phrase={email}&ExectMatch=true ### Parameters #### Query Parameters - **Phrase** (string) - Required - The search term (e.g., email). - **ExectMatch** (boolean) - Required - Whether to perform an exact match search. ``` -------------------------------- ### Attach shipping details note via cURL Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Example request to create a new note for a customer using the POST method. ```bash curl -X POST "$BASE_URL/api/Note" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "ActorType": "Client", "ActorUniqueId": 562, "Context": "Main", "Text": "Ship to: 12 Herzl St, Apt 4, Tel Aviv" }' ``` -------------------------------- ### GET /api/Client/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Fetch the full customer record by the Boss UniqueId. ```APIDOC ## GET /api/Client/{id} ### Description Retrieves the complete customer record associated with the provided UniqueId. Includes read-only fields like Balance and Prognosis that are not available in search results. ### Method GET ### Endpoint /api/Client/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the client. ``` -------------------------------- ### GET /api/ClientOrder/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Fetch one order by its unique identifier. Returns the shared detail response including products. ```APIDOC ## GET /api/ClientOrder/{id} ### Description Fetch one order by id. Returns the shared detail response (products, no payments). Accepts optional `ReportAsSource=true`. ### Method GET ### Endpoint /api/ClientOrder/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the order. #### Query Parameters - **ReportAsSource** (boolean) - Optional - Flag to report as source. ``` -------------------------------- ### GET /api/DeliveringDirections/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieve free-text driving directions for a specific delivery. ```APIDOC ## GET /api/DeliveringDirections/{id} ### Description Retrieve free-text driving directions. ### Method GET ### Endpoint /api/DeliveringDirections/{id} ``` -------------------------------- ### GET /api/Client/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves detailed information for a specific client by their unique identifier. ```APIDOC ## GET /api/Client/{id} ### Description Retrieves specific client details including balance or prognosis information. ### Method GET ### Endpoint /api/Client/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the client. ``` -------------------------------- ### GET /api/ClientMoveMents Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html List a customer's movements as lightweight references including Type, UniqueId, and TaxNumber. ```APIDOC ## GET /api/ClientMoveMents ### Description List a customer's movements as lightweight references. The list carries Type, UniqueId, and TaxNumber only. ### Method GET ### Endpoint /api/ClientMoveMents ### Parameters #### Query Parameters - **ClientUniqueId** (integer) - Required - The customer whose movements to list. - **StartPoint** (integer) - Optional - Paging parameter. - **MaxResults** (integer) - Optional - Paging parameter. ### Response #### Success Response (200) - **Results** (array) - List of movement references. - **MaxAvailableResults** (integer) - Total movement count for the customer. - **MoreAvailableResults** (boolean) - Indicates if more results are available. #### Response Example { "Results": [ { "Type": "ClientOrder", "UniqueId": 4310, "TaxNumber": null }, { "Type": "ClientInvoiceReceipt", "UniqueId": 4312, "TaxNumber": null } ], "MaxAvailableResults": 17, "MoreAvailableResults": true } ``` -------------------------------- ### GET /api/ClientReceipt/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Fetch one receipt by id. Returns the shared detail response (payments, no products). ```APIDOC ## GET /api/ClientReceipt/{id} ### Description Fetch one receipt by id. Returns the shared detail response (payments, no products). Accepts optional `ReportAsSource=true`. ### Method GET ### Endpoint /api/ClientReceipt/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the receipt. ``` -------------------------------- ### GET /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves a list of clients, supporting pagination via StartPoint and MaxResults, or delta updates via TimeStampMin. ```APIDOC ## GET /api/Client ### Description Retrieves client records. Use StartPoint and MaxResults for initial loading or pagination. Use TimeStampMin to retrieve records modified since a specific timestamp. ### Method GET ### Endpoint /api/Client ### Parameters #### Query Parameters - **StartPoint** (integer) - Optional - The starting index for pagination. - **MaxResults** (integer) - Optional - The number of results to return. - **TimeStampMin** (string) - Optional - The timestamp cursor to filter records modified since the last check. ``` -------------------------------- ### GET /api/ProductSupplier Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves supplier information for a specific product to resolve reordering details. ```APIDOC ## GET /api/ProductSupplier ### Description Retrieves supplier details for a product, used after flagging products that need reordering. ### Method GET ### Endpoint /api/ProductSupplier ### Parameters #### Query Parameters - **ProductUniqueId** (string) - Required - The unique identifier of the product to resolve the supplier for. ``` -------------------------------- ### Search for a client by phone number Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Uses a GET request with query parameters to perform an exact match search for a client by phone number. ```bash curl -G "$BASE_URL/api/Client" \ --data-urlencode "Phrase=052-5554422" \ --data-urlencode "ExectMatch=true" \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### GET /api/Supplier Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Search for suppliers by name, email, or phone number with support for incremental sync and pagination. ```APIDOC ## GET /api/Supplier ### Description Search suppliers by name, email, or phone. ### Method GET ### Endpoint /api/Supplier ### Parameters #### Query Parameters - **Phrase** (string) - Optional - Name / email / dashed phone to search for. - **StartPoint** (integer) - Optional - Paging start index. - **MaxResults** (integer) - Optional - Paging limit (10 default, 50 max). - **TimeStampMin** (string) - Optional - Start of last-update window. - **TimeStampMax** (string) - Optional - End of last-update window. ``` -------------------------------- ### GET /api/ClientInvoiceReceipt/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Fetch one invoice-receipt by id. Returns the shared detail response (products + payments), plus AutorityId. ```APIDOC ## GET /api/ClientInvoiceReceipt/{id} ### Description Fetch one invoice-receipt by id. Returns the shared detail response (products + payments), plus AutorityId (the tax-authority allocation number). ### Method GET ### Endpoint /api/ClientInvoiceReceipt/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the invoice-receipt. #### Query Parameters - **ReportAsSource** (boolean) - Optional - Accepts optional ReportAsSource=true. ``` -------------------------------- ### GET /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Search for customers by name, email, phone number, or ID. Supports paging and incremental synchronization filters. ```APIDOC ## GET /api/Client ### Description Search customers by a single identifier such as name, email address, phone number, or ID number. Omit the phrase parameter to perform sync jobs using timestamp filters. ### Method GET ### Endpoint /api/Client ### Parameters #### Query Parameters - **Phrase** (string) - Optional - Name, email, dashed phone, or ID number to search for. - **ExectMatch** (boolean) - Optional - If true, performs exact identifier matches only. - **StartPoint** (integer) - Optional - Paging start point. - **MaxResults** (integer) - Optional - Number of results to return (10 default, 50 max). - **TimeStampMin** (string) - Optional - Start of last-update window for incremental sync. - **TimeStampMax** (string) - Optional - End of last-update window for incremental sync. ### Request Example curl -G "$BASE_URL/api/Client" \ --data-urlencode "Phrase=israel@example.com" \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### Fetch Order by ID Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieve a single order using its unique identifier via a GET request. ```bash curl -G "$BASE_URL/api/ClientOrder/4310" \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### GET /api/Client/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves detailed information for a specific customer, including computed fields like Balance and Prognosis. ```APIDOC ## GET /api/Client/{id} ### Description Fetches full details for a single customer by their unique identifier. This is required to retrieve computed fields such as Balance and Prognosis which are not included in list results. ### Method GET ### Endpoint /api/Client/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the customer. ``` -------------------------------- ### Credit Card Payment cURL Request Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Example cURL command to post a credit card transaction using a JSON file. ```bash curl -X POST "$BASE_URL/api/PaymentTransaction/CreditCard" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @credit-card.json # body shown above ``` -------------------------------- ### GET /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves customer records. When used with the TimeStampMin parameter, it acts as a pull-based change feed for created and modified customers. ```APIDOC ## GET /api/Client ### Description Retrieves customer records. When used with the TimeStampMin parameter, it acts as a pull-based change feed for created and modified customers. ### Method GET ### Endpoint /api/Client ### Parameters #### Query Parameters - **TimeStampMin** (string) - Optional - The cursor timestamp to filter for customers created or modified since this time. ``` -------------------------------- ### GET /api/ClientInvoice/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Fetch one invoice by id. Returns the shared detail response, plus an AutorityId field and DeliveringsInfo, RewardPointsInfo, and PrintInfo sections. ```APIDOC ## GET /api/ClientInvoice/{id} ### Description Fetch one invoice by id. Returns the shared detail response, plus an AutorityId field and DeliveringsInfo, RewardPointsInfo, and PrintInfo sections. ### Method GET ### Endpoint /api/ClientInvoice/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the invoice. #### Query Parameters - **ReportAsSource** (boolean) - Optional - Accepts optional ReportAsSource=true. ``` -------------------------------- ### Initial Data Load and Delta Sync Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Demonstrates the pattern for initial data loading using pagination and subsequent delta updates using timestamps. ```http GET /api/Client?StartPoint=0&MaxResults=50 GET /api/Client?StartPoint=50&MaxResults=50 GET /api/Client?TimeStampMin={cursor}&MaxResults=50 GET /api/Client/{id} ``` -------------------------------- ### POST /api/Product Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Creates a new product in the catalog. ```APIDOC ## POST /api/Product ### Description Create a product. Only the writable fields are accepted. ### Method POST ### Endpoint /api/Product ### Request Body - **Name** (string) - Required - **Barcode** (string) - Optional - **Unit** (string) - Optional - **UnitAmount** (number) - Optional - **Category** (array) - Optional - **Filter** (array) - Optional - **ShortDescription** (string) - Optional - **VatFree** (boolean) - Optional - **Price** (array) - Optional - Array of { VatExc, VatInc } - **ExternalInfo** (object) - Optional - **ImageURL** (string) - Optional ``` -------------------------------- ### GET /api/ClientQuote/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Read-only access to a quote. ```APIDOC ## GET /api/ClientQuote/{id} ### Description Returns one quote in the shared shape. Read-only. ### Method GET ### Endpoint /api/ClientQuote/{id} ``` -------------------------------- ### Create Product Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a new product record by sending a JSON payload with required writable fields. ```bash curl -X POST "$BASE_URL/api/Product" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "Name": "Super Mix clumping litter 18kg", "Barcode": "7290001234567", "Unit": "Unit", "UnitAmount": 1, "Price": [ { "VatExc": 80.42, "VatInc": 94.90 } ], "ExternalInfo": { "Status": "Publish" } }' ``` -------------------------------- ### Create a Client Credit Note Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a credit note containing product information. Product values must be positive. ```json { "EssentialInfo": { "Client": { "UniqueId": 562 }, // required "Branch": { "UniqueId": 1 }, // required "Employee": { "UniqueId": 1 }, // required "Company": { "UniqueId": 1 } // required }, "ProductsInfo": { "CalcWithVat": true, "VatPercentage": 18.000000, "TotalVatExc": 84.745763, "TotalVatInc": 100, "Product": [ { "UniqueId": 88, "Name": "Super Mix clumping litter 18kg", "UnitValue": 100.00, // positive — the document type is the credit direction "Amount": 1, "TotalValue": 100 // must equal UnitValue × Amount (5% tolerance) } ] }, "ExternalInfo": { "Number": 1001 // reconciliation / idempotency } } ``` ```bash curl -X POST "$BASE_URL/api/ClientCrediting" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @credit-note.json # body shown above ``` -------------------------------- ### GET /api/ClientDelivery/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Read-only access to a delivery note. ```APIDOC ## GET /api/ClientDelivery/{id} ### Description Returns one delivery-note document in the shared shape. Read-only. ### Method GET ### Endpoint /api/ClientDelivery/{id} ``` -------------------------------- ### Configure Base URL and Authentication Token Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Set the environment variables for the Boss instance URL and access token before making API requests. ```bash BASE_URL="https://" TOKEN="" ``` -------------------------------- ### POST /api/ClientInvoiceReceipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create the standard sale concluded with payment document, carrying both ProductsInfo and PaymentsInfo. ```APIDOC ## POST /api/ClientInvoiceReceipt ### Description Create the standard "sale concluded with payment" document — invoice and receipt combined, carrying both ProductsInfo and PaymentsInfo. ### Method POST ### Endpoint /api/ClientInvoiceReceipt ### Request Body - **EssentialInfo** (object) - Required - Contains Client, Branch, Employee, and Company unique identifiers. - **ProductsInfo** (object) - Required - Contains VAT calculation details and a list of products. - **PaymentsInfo** (object) - Required - Contains total payment and a list of payment methods. - **ExternalInfo** (object) - Optional - Contains Number for reconciliation/idempotency. ``` -------------------------------- ### POST /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a new customer record in the Boss system. ```APIDOC ## POST /api/Client ### Description Creates a new customer. Returns the new customer's UniqueId, which is required for subsequent operations. ### Method POST ### Endpoint /api/Client ### Request Body - **FirstName** (string) - Required (if LastName is empty) - Customer first name. - **LastName** (string) - Required (if FirstName is empty) - Customer last name. - **Email** (string) - Optional - Customer email address. - **Phone** (array) - Optional - Array of objects containing Number and Description. - **AssociatedBranch** (object) - Optional - Object containing UniqueId of the branch. - **StoragePriceNum** (number) - Optional - Price list ID. - **EmailDuplicityAllowed** (boolean) - Optional - Set to false to prevent creation if email already exists. ### Response #### Success Response (200) - **UniqueId** (number) - The unique identifier of the newly created customer. ``` -------------------------------- ### POST /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Creates a new customer record in the Boss system. ```APIDOC ## POST /api/Client ### Description Creates a new customer record in the Boss system. ### Method POST ### Endpoint /api/Client ``` -------------------------------- ### POST /api/ClientOrder Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a new client order. ```APIDOC ## POST /api/ClientOrder ### Description Creates a new open order document for a client. ### Method POST ### Endpoint /api/ClientOrder ### Response #### Success Response (200) - **UniqueId** (string) - The unique identifier of the created order. ``` -------------------------------- ### GET /api/Supplier/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieve the full record of a specific supplier by their unique identifier. ```APIDOC ## GET /api/Supplier/{id} ### Description Returns the full record for a specific supplier. ### Method GET ### Endpoint /api/Supplier/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the supplier. ``` -------------------------------- ### POST /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a new client record. ```APIDOC ## POST /api/Client ### Description Creates a new client record in the system. ### Method POST ### Endpoint /api/Client ### Response #### Success Response (200) - **UniqueId** (string) - The unique identifier of the created client. ``` -------------------------------- ### POST /api/ClientCrediting Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a credit note. ```APIDOC ## POST /api/ClientCrediting ### Description Create a credit note. Product lines carry positive values; the document type itself expresses the credit direction. ### Method POST ### Endpoint /api/ClientCrediting ### Request Body - **EssentialInfo** (object) - Required - Contains Client, Branch, Employee, and Company UniqueIds. - **ProductsInfo** (object) - Required - Contains VAT details and a list of Product objects. - **ExternalInfo** (object) - Optional - Contains reconciliation number. ``` -------------------------------- ### GET /api/ActorTableSize Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Returns the current record count of a specified actor table. Requires authentication. ```APIDOC ## GET /api/ActorTableSize ### Description Return the current record count of an actor table as a plain number. For append-only movement tables, this count serves as a high-water mark for new documents. ### Method GET ### Endpoint /api/ActorTableSize ### Parameters #### Query Parameters - **Actor** (string) - Required - The table to count. Supported movement types: ClientInvoiceReceipt, ClientInvoice, ClientReceipt, ClientOrder, ClientCrediting, ClientDelivery, ClientQuote. Master tables are also supported. ### Request Example curl -G "$BASE_URL/api/ActorTableSize" --data-urlencode "Actor=ClientInvoiceReceipt" -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### Create a Supplier Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html JSON request body for creating a new supplier record. ```json { "Name": "Pet Food Imports Ltd", // required "Email": "orders@petfood.example", "Phone": [ { "Number": "03-9999999" } ] } ``` -------------------------------- ### GET /api/PhoneFormat Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Normalizes a raw phone number into a dashed format. This endpoint does not require authentication. ```APIDOC ## GET /api/PhoneFormat ### Description Normalize a raw phone number into the dashed format expected by customer / supplier search. Recognizes Israeli cell, landline, and special-number formats. ### Method GET ### Endpoint /api/PhoneFormat ### Parameters #### Query Parameters - **number** (string) - Required - The raw phone number to format. ### Request Example curl -G "$BASE_URL/api/PhoneFormat" --data-urlencode "number=0525554422" ``` -------------------------------- ### POST /api/ClientReceipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Issues a receipt document for a sale. ```APIDOC ## POST /api/ClientReceipt ### Description Issues a receipt document for a sale. ``` -------------------------------- ### GET /api/Client Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Search for clients by phone number. Supports exact matching for duplicate handling. ```APIDOC ## GET /api/Client ### Description Search for a client record using a phone number. Use the ExectMatch parameter to handle duplicate records. ### Method GET ### Endpoint /api/Client ### Parameters #### Query Parameters - **Phrase** (string) - Required - The phone number to search for (e.g., 052-5554422). - **ExectMatch** (boolean) - Optional - Set to true for exact match search. ``` -------------------------------- ### Create a new customer request body Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html JSON structure for creating a new customer. At least one of FirstName or LastName is required. ```json { "FirstName": "Israel", "LastName": "Israeli", // at least one of FirstName / LastName is required "Email": "israel@example.com", // store the email so the customer is findable by search "Phone": [ { "Number": "052-5554422" } // each item also supports Description ], "AssociatedBranch": { "UniqueId": 1 }, // per-site configuration — provided to you "StoragePriceNum": 1 // price list — per-site configuration } ``` -------------------------------- ### GET /api/{DocumentType}/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves a specific document by its ID for delta feed processing. ```APIDOC ## GET /api/{DocumentType}/{id} ### Description Fetches a specific document record by ID. Used during the delta drain process to retrieve new records identified by the ActorTableSize. ### Method GET ### Endpoint /api/{DocumentType}/{id} ### Parameters #### Path Parameters - **DocumentType** (string) - Required - The type of document (ClientInvoiceReceipt, ClientInvoice, ClientReceipt, ClientCrediting, or ClientOrder). - **id** (string) - Required - The unique identifier of the document. ``` -------------------------------- ### POST /api/ClientReceipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Record a payment as a receipt. ```APIDOC ## POST /api/ClientReceipt ### Description Records the payment as a receipt, referencing previous transaction IDs. ### Method POST ### Endpoint /api/ClientReceipt ``` -------------------------------- ### GET /api/{MovementType}/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieve a full document record for a specific movement type by its ID. ```APIDOC ## GET /api/{MovementType}/{id} ### Description Returns one full document for the specified movement type. Supported types include ClientOrder, ClientInvoice, ClientInvoiceReceipt, ClientReceipt, ClientCrediting, ClientQuote, and ClientDelivery. ### Method GET ### Endpoint /api/{MovementType}/{id} ### Parameters #### Path Parameters - **MovementType** (string) - Required - The type of movement (e.g., ClientOrder, ClientInvoice). - **id** (integer) - Required - The unique identifier of the document. #### Query Parameters - **ReportAsSource** (boolean) - Optional - Returns print-source data instead of the stored record. ### Response #### Success Response (200) - **UniqueId** (integer) - Document ID. - **EssentialInfo** (object) - Creation details, client, branch, employee, and company info. - **ProductsInfo** (object) - Product list, VAT details, and totals (omitted for receipts). - **PaymentsInfo** (object) - Payment details (omitted for product-only types). - **ExternalInfo** (object) - External number and status. #### Response Example { "UniqueId": 4312, "EssentialInfo": { "CreationDateTime": "2026-05-14T16:02:11", "Client": { "UniqueId": 562, "FirstName": "Israel", "LastName": "Israeli" } }, "ProductsInfo": { "TotalVatInc": 200.0, "Product": [ { "UniqueId": 88, "Name": "Super Mix clumping litter 18kg", "Amount": 2 } ] }, "PaymentsInfo": { "Total": 200.0, "Payment": [ { "Type": "CreditCard", "Value": 200.0 } ] } } ``` -------------------------------- ### PUT /api/Product/{id} Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Partially updates an existing product. ```APIDOC ## PUT /api/Product/{id} ### Description Partially update a product — only supplied fields change; omitted fields are left as-is. ### Method PUT ### Endpoint /api/Product/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the product. ### Request Body - **Name** (string) - Optional - **Barcode** (string) - Optional - **Unit** (string) - Optional - **UnitAmount** (number) - Optional - **Category** (array) - Optional - **Filter** (array) - Optional - **ShortDescription** (string) - Optional - **VatFree** (boolean) - Optional - **Price** (array) - Optional - **ExternalInfo** (object) - Optional - **ImageURL** (string) - Optional ``` -------------------------------- ### POST /api/ClientOrder Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Records a website order as a non-final document in the Boss system. ```APIDOC ## POST /api/ClientOrder ### Description Records a website order as a non-final document in the Boss system. ``` -------------------------------- ### Reading the Prognosis signal Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Example of the JSON response structure for a customer record containing a Prognosis score. ```json // GET /api/Client/562 → (Prognosis may be present …) { "UniqueId": 562, "FirstName": "Israel", "Prognosis": { "Score": 12 } // predicted ~12 days to next order } ``` -------------------------------- ### Create a Client Receipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Record a payment-only receipt. The request body requires essential client/branch info and payment details. ```json { "EssentialInfo": { "Client": { "UniqueId": 562 }, // required — customer id "Branch": { "UniqueId": 1 }, // required — per-site configuration "Employee": { "UniqueId": 1 }, // required — per-site configuration "Company": { "UniqueId": 1 } // required — usually 1 }, "PaymentsInfo": { "Total": 155, // must equal the sum of the payment lines "Payment": [ { "Type": "CreditCard", "Value": 100, "CreditUniqueId": 13250 // UniqueId from POST /api/PaymentTransaction/CreditCard }, { "Type": "DigitalWallet", // PaymentTypesEnum value (not "DigitalWalletTransaction") "Value": 55, "DigitalWalletUniqueId": 666 // UniqueId from POST /api/PaymentTransaction/PayPal } ] }, "ExternalInfo": { "Number": 999 // same reconciliation role as on the order } } ``` ```bash curl -X POST "$BASE_URL/api/ClientReceipt" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @receipt.json # body shown above ``` -------------------------------- ### List Customer Movements Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Returns a list of lightweight movement references for a specific customer. Use the ClientUniqueId query parameter to filter by customer. ```json { "Results": [ { "Type": "ClientOrder", "UniqueId": 4310, "TaxNumber": null }, { "Type": "ClientInvoiceReceipt", "UniqueId": 4312, "TaxNumber": null } ], "MaxAvailableResults": 17, "MoreAvailableResults": true } ``` -------------------------------- ### GET /api/ActorTableSize Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves the current size of a specific document type actor to manage delta feed polling. ```APIDOC ## GET /api/ActorTableSize ### Description Returns the current size of the specified actor table, used to determine if new documents are available for processing. ### Method GET ### Endpoint /api/ActorTableSize ### Parameters #### Query Parameters - **Actor** (string) - Required - The document type actor (e.g., ClientInvoiceReceipt, ClientInvoice, ClientReceipt, ClientCrediting, ClientOrder). ``` -------------------------------- ### POST /api/ClientReceipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Record a payment against a customer. Payments only, no products. ```APIDOC ## POST /api/ClientReceipt ### Description Record a payment against a customer. Payments only, no products. Credit-card and digital-wallet lines reference the `UniqueId` returned by the matching payment-transaction call. ### Method POST ### Endpoint /api/ClientReceipt ### Request Body - **EssentialInfo** (object) - Required - Contains Client, Branch, Employee, and Company UniqueIds. - **PaymentsInfo** (object) - Required - Contains Total and a list of Payment objects. - **ExternalInfo** (object) - Optional - Contains reconciliation number. ``` -------------------------------- ### POST /api/Supplier Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Create a new supplier record in the system. ```APIDOC ## POST /api/Supplier ### Description Create a supplier. Returns the UniqueId of the created record. ### Method POST ### Endpoint /api/Supplier ### Request Body - **Name** (string) - Required - Non-empty name. - **Email** (string) - Optional - Format-validated email. - **Phone** (array) - Optional - List of phone objects containing Number. ``` -------------------------------- ### Submit Tax Invoice Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Sends a POST request to create a new tax invoice using a JSON file. ```bash curl -X POST "$BASE_URL/api/ClientInvoice" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @invoice.json # body shown above ``` -------------------------------- ### GET /api/ActorTableSize Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Returns the current record count for a specific document type, used for tracking movements in append-only tables. ```APIDOC ## GET /api/ActorTableSize ### Description Returns the current record count for a specific document type, used for tracking movements in append-only tables. ### Method GET ### Endpoint /api/ActorTableSize ### Parameters #### Query Parameters - **Actor** (string) - Required - The document type to query (e.g., ClientInvoiceReceipt, ClientInvoice). ``` -------------------------------- ### Fetch changed products via cURL Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Retrieves products updated after a specific Unix timestamp using the TimeStampMin parameter. ```bash curl -G "$BASE_URL/api/Product" \ --data-urlencode "TimeStampMin=1782043200" \ --data-urlencode "MaxResults=50" \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### Create Order Request Body Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html JSON structure for creating a new order, including essential info, product details, and external reconciliation data. ```json { "EssentialInfo": { "Client": { "UniqueId": 562 }, // required "Branch": { "UniqueId": 1 }, // required — per-site configuration "Employee": { "UniqueId": 1 }, // required — often a user named "Website" "Company": { "UniqueId": 1 } // required — usually 1 }, "ProductsInfo": { "CalcWithVat": true, // whether line values include VAT (default true) "VatPercentage": 18.000000, // must match the instance VAT rate "TotalVatExc": 169.491525, // basket total excluding VAT "TotalVatInc": 200, // basket total including VAT "Product": [ { "UniqueId": 88, "Name": "Super Mix clumping litter 18kg", "UnitValue": 89.00, "Amount": 2, "TotalValue": 178 // must equal UnitValue × Amount (5% tolerance) }, { "UniqueId": 1, "Name": "Free shipping - delivery", "UnitValue": 22, "Amount": 1, "TotalValue": 22 } ] }, "ExternalInfo": { "Number": 999, // external order number — reconciliation / idempotency "Status": "paid" // optional — free-text web status, stored and returned on GET } } ``` -------------------------------- ### Prognosis Score JSON Structure Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Example of the Prognosis object structure, showing how to handle null values when a prediction is not computed. ```json { "UniqueId": 987, "FirstName": "New", "Prognosis": null // no prediction computed — skip / treat as unknown } ``` -------------------------------- ### Submit Invoice-Receipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Sends a POST request to create a new invoice-receipt using a JSON file. ```bash curl -X POST "$BASE_URL/api/ClientInvoiceReceipt" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @invoice-receipt.json # body shown above ``` -------------------------------- ### POST /api/ClientInvoiceReceipt Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html Issues an invoice-receipt document for a billed sale concluded with payment. ```APIDOC ## POST /api/ClientInvoiceReceipt ### Description Issues an invoice-receipt document for a billed sale concluded with payment. ``` -------------------------------- ### Order Creation Response Source: https://portal.boss-sws.com:50000/Boss/Integrations/boss-webapi-reference.html The response returned upon successful order creation, containing the new unique identifier. ```json { "UniqueId": 4310 // the new order's Boss id } ```