ApiAddress |
| API | Method Name | Description |
|---|---|---|
| POST public-api/addresses/customer/obsoletesave | SaveAddressesAsync |
Obsolete: This method creates/updates the addresses associated with customers. It will not create new Address Types, you will need to first create those in the web, but once you do they can be used here. Requires the Edit Customer permission Accepts a maximum of 500 records at a time |
| POST public-api/addresses/employee/obsoletesave | SaveAddressesAsync |
Obsolete: This method creates/updates the addresses associated with employees. It will not create new Address Types, you will need to first create those in the web, but once you do they can be used here. Requires the Edit Employee permission Accepts a maximum of 500 records at a time |
| POST public-api/addresses/customer/save | SaveCustomerAddressesAsync |
This method creates/updates the addresses associated with customers. It will not create new Address Types, you will need to first create those in the web, but once you do they can be used here. Requires the Edit Customer permission Accepts a maximum of 500 records at a time |
| POST public-api/addresses/supplier/save | SaveSupplierAddressesAsync |
This method creates/updates the addresses associated with suppliers. It will not create new Address Types, you will need to first create those in the web, but once you do they can be used here. Requires the Edit Supplier permission Accepts a maximum of 500 records at a time |
ApiAttachments |
| API | Method Name | Description |
|---|---|---|
| POST public-api/attachments/uplodAttachmentsForForms | UplodAttachmentsForFormsAsync |
Upload Attachments For Forms works for attaching the list of attachments to an item according to the form type. This Api will cover any form in the application which could have attachment. Requires the Edit permission of the form you are attempting to Edit, Role Site and Asset Type permissions are enforced when relevant Accepts a maximum of 500 attachments at a time |
| POST public-api/attachments/uplodBatchAttachmentsForForms | UplodBatchAttachmentsForFormsAsync |
Upload the batch of Attachments For Forms works for attaching the list of attachments to an item according to the form type for several items as a batch. This Api will cover any form in the application which could have attachment. Requires the Edit permission of the form you are attempting to Edit, Role Site and Asset Type permissions are enforced when relevant Accepts a maximum of 500 items at a time, each carrying its own list of attachments |
| POST public-api/attachments/download/{guid} | DownloadAttachmentAsync |
Use the API, GetAttachmentMetadataByAssociatedTag, to get a list of the attachments associated with an object. You can then loop through the results to download each attachment by using this API to get the attachment by GUID. You can use the file name from GetAttachmentMetadataByAssociatedTag to stream the results to a file. Please refer to the public api sample solution for an example of how this is done. |
| POST public-api/attachments/getAttachmentmetadataByAssociatedTag | GetAttachmentMetadataByAssociatedTagAsync |
Get Attachments By Associated Tag given the associated tag of item and the form name and returns the attachments related to that item nested in the form. Requires the Edit permission of the form you are attempting to retrieve attachments for, Role Site and Asset Type permissions are enforced when relevant In the response, HasSuccessWithMoreDataRemaining and BatchNumber are not used. |
| POST public-api/attachments/getAttachmentsByAssociatedTag | GetAttachmentsByAssociatedTagAsync |
Obsolete, please use GetAttachmentMetadataByAssociatedTag - and download instead Get Attachments By Associated Tag given the associated tag of item and the form name and returns the attachments related to that item nested in the form. Requires the Edit permission of the form you are attempting to retrieve attachments for, Role Site and Asset Type permissions are enforced when relevant In the response, HasSuccessWithMoreDataRemaining and BatchNumber are not used. |
| POST public-api/attachments/getAttachmentsByAssociatedTagsList | GetAttachmentsByAssociatedTagListAsync |
Get Attachments By Associated Tag List given the associated tag of items per form by giving the form name and returns the attachments related to those items nested in the form. Requires the Edit permission of the form you are attempting to retrieve attachments for, Role Site and Asset Type permissions are enforced when relevant |
ApiCustomer |
| API | Method Name | Description |
|---|---|---|
| POST public-api/customers/createNew | CreateNewCustomersAsync |
This method creates new customers. It requires the Create Customer permission. It accepts a maximum of 500 records at a time. This will ignore the Customer numbers already in existence. To create/update addresses (instead of ignoring them), please use the API public-api/addresses/customer/save. Use “Save” to perform operations including both inserts and updates. |
| POST public-api/customers/updateExisting | UpdateExistingAsync |
This method updates the existing customers. Every customer will have a customer number. It requires the Edit Customer permission. It accepts a maximum of 500 records at a time. This will not work for customers with unknown customer numbers. To create/update addresses (instead of ignoring them), please use the API public-api/addresses/customer/save. Use “Save” to perform operations including both inserts and updates. |
| POST public-api/customers/save | SaveCustomersAsync |
This method allows saving the customer details. This requires both the Create and Edit Customer permission. It accepts a maximum of 500 records at a time. In case the customer does not exist, a new record is created. The response reports only success or failure per record; it does not return the new CustomerId. In the case of updating the existing record, then only the columns specified in the request model's "ApplicableFields" field are updated. If this field is null/empty then "all" fields are assumed to be updateable. To create/update addresses please use the API public-api/addresses/customer/save. |
| POST public-api/customers/savecustomermodels | SaveCustomerModelsAsync |
This method was created primarily to use with our LDAP sync tool. It takes a list of customers and will update and insert as necessary. This method and savestudentmodels perform the same operation; both write to the customer records. Only the customers supplied in the list are touched. A customer that is active in the Cloud system but absent from the list is left untouched, so to retire a customer, submit that customer with an inactive record status (the LDAP ACCOUNT_DISABLE value is also recognized) rather than omitting them. This method does not perform its own permission check and does not impose a record-count limit of its own, so the caller is responsible for keeping each batch to a reasonable size. |
| POST public-api/customers/delete | DeleteCustomerModelsAsync |
This method is used to delete customers. It takes a list of customer numbers to delete. It requires the Delete Customer permission. It accepts a maximum of 500 records at a time. A customer that is still in use, for example one that currently has assets checked out to them, is not deleted and that entry reports an "in use" error. |
| POST public-api/customers/advancedinfosearch | CustomerAdvancedSearchAsync |
This method returns a page full of customers given a precise set of search, sort or filter criteria. It is a paging API, so it is meant to be called repeatedly with a modest page size (around 100 records) until every page has been fetched. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. Each customer is returned with its custom field values and addresses, but this query does not return Phone Models; use GetCustomersByNumber when the phone detail is needed. It requires the Allow Customer permission. |
| POST public-api/customers/GetCustomersByNumber | GetCustomerByNumberAsync |
This method returns the full detail of specific customers, looked up by exact customer number. Along with the custom field values and addresses that advancedinfosearch also returns, this method adds the Phone Models, the customer notes, and the names of the customer's attachments. Only active customers are returned, and the customer number is matched case-insensitively. Numbers repeated in the request with identical casing are collapsed; the same number submitted with different casing is reported once per spelling. An empty request list returns an empty result set rather than every customer. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. It requires the Allow Customer permission. |
ApiItemContainer |
| API | Method Name | Description |
|---|---|---|
| POST public-api/ic/container/expand-by-container-id-sdk | Container20ExpandParentContainerIdSdkAsync |
Given a list of container tags (license plate numbers), returns the immediate children of each container. This api does NOT return any grand children, great-grand-children or anything deeper than 1 level. A container tag that cannot be resolved simply contributes no rows to the returned list. Every returned row carries its own WaspResultCode describing that row. Negative ResultCode values signal failure. |
ApiItemOrder |
| API | Method Name | Description |
|---|---|---|
| PUT public-api/ic/order/SaveOrderExtraFields | SaveOrderExtraFieldsAsync |
This method updates header level fields on a single existing order, located by the OrderNumber and OrderType supplied in the request. Only the fields supplied are changed - leave a field null to keep the value already in storage. The order can also be renamed (NewOrderNumber), given a new requested quantity on its order lines (OrderLinesToUpdate, honored for purchase orders only and ignored for every other order type), and given a file attachment which is added, or replaced when the file name already exists on that order. On success, the Messages collection will contain a message with the resulting order number in the FieldName field. Negative ResultCode values signal failure. |
ApiItemPickPackShipOrder |
| API | Method Name | Description |
|---|---|---|
| POST public-api/ic/pickpackshiporder/create | CreateAsync |
This method creates a new pick order. Requires a Create Pick Order permission. Accepts a maximum of 500 records at a time. On success, the Messages collection will contain a message with the Pick order Number in the FieldName field. Negative ResultCode values signal failure. |
| POST public-api/ic/pickpackshiporder/update | UpdateAsync |
This method edits an existing pick order. Requires an Edit Pick Order permission. Accepts a maximum of 500 records at a time. On success, the Messages collection will contain a message with the Pick order Number in the FieldName field. Negative ResultCode values signal failure. |
| POST public-api/ic/pickpackshiporder/advancedinfosearch | ItemInfoAdvancedSearchAsync |
This method returns a page full of active pick orders given a precise set of search, sort or filter criteria. It's a paging API so this is meant to be called with a smaller number (about 100) of records to fetch, repeatedly, until you get them all. Requires Allow Pick Order permission and enforces Role Site restrictions. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/getordersbynumber | GetOrdersByNumberAsync |
This method returns existing orders by number. Requires Allow Pick Order permission and enforces Role Site restrictions. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/getorderspickdetails | GetOrdersAndPickTransactionDetailsAsync |
This method returns existing orders by number. Unlike the function getordersbynumber, this function returns actual trackby information within each order line (if applicable). Requires Allow Pick Order permission and enforces Role Site restrictions. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/deleteordersbynumber | DeleteOrdersByNumberAsync |
This method deletes existing Pick orders by number ONLY if they are in Draft status. Requires both the Delete Pick Order and the Delete Purchase Order permission, and enforces Role Site restrictions. Accepts a maximum of 500 records at a time. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/updateorderstatusbynumber | UpdatePickOrderStatusByNumberAsync |
This method updates existing pick orders status by order numbers. Pick - Order Status and Reason Code Combinations are - "Draft-OK","Open-PoIssued","Closed-GeneralCancel","Closed-CustomerCancel". Requires Edit Pick Order permission and enforces Role Site restrictions. Accepts a maximum of 500 records at a time. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/deleteordersbynumber_obsolete | DeletePurchaseOrdersByNumberAsync |
This method deletes existing Pick orders by number ONLY if they are in Draft status. Requires both the Delete Pick Order and the Delete Purchase Order permission, and enforces Role Site restrictions. Accepts a maximum of 500 records at a time. Note: Obsolete. This method remains for backward compatibility. Use DeleteOrdersByNumber instead. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/FindOrdersWithMatchingOrderLineItemsSDK | FindOrdersWithMatchingOrderLineItemsSDKAsync |
This method returns the pick orders that contain a line item for any one of the supplied item numbers. Only pick orders are searched, and orders in a Cancelled, Deleted, Rejected, or No Status state are excluded. Every supplied item number must exist as an active item: if any one of them is unknown, no orders are returned at all. An order does not have to reference every supplied item number to be returned - a line for any one of them is enough. Null, empty, and whitespace-only entries are ignored, and duplicate item numbers are searched only once regardless of letter case. An empty item number list is reported as an invalid model state, and a search that matches no order lines returns one order-line-not-found message per submitted item number. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/execute-container-auto-pick | ExecuteContainerAutoPickAsync |
This method automatically picks the available contents of one or more source containers against an existing pick order. Identify the order with PickOrderNumber, and list the containers to pick from in SourceContainerIdList; at least one container is required. When Action is SaveClose and the pick succeeds, the order is closed with a reason code of Pick Complete, or Picked Short when a line is short of the requested quantity. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/prepare-create-pick-order-request | PrepareCreatePickOrderRequestAsync |
This method automatically picks the available contents of one or more source containers against an existing pick order. It behaves identically to the execute-container-auto-pick endpoint, which remains available for backward compatibility. Identify the order with PickOrderNumber, and list the containers to pick from in SourceContainerIdList; at least one container is required. When Action is SaveClose and the pick succeeds, the order is closed with a reason code of Pick Complete, or Picked Short when a line is short of the requested quantity. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/pickpackshiporder/pick | PickTransactionAsync |
This method is used to pick items on an order. If an item has trackbys they must be entered. The units being picked must match the units on the order. Requires Allow Pick permission and enforces Role Site permission. Accepts a maximum of 500 records at a time. |
ApiItemPurchaseOrder |
| API | Method Name | Description |
|---|---|---|
| POST public-api/ic/purchaseorder/create | CreateAsync |
This method creates a new purchase order. It requires the Create Purchase Order permission. It accepts a maximum of 500 records at a time. The Messages collection will contain a message with the Purchase order Number in the FieldName field. Negative ResultCode values signal failure. |
| POST public-api/ic/purchaseorder/update | UpdateAsync |
This method edits an existing purchase order. It requires the Edit Purchase Order permission. It accepts a maximum of 500 records at a time. The Messages collection will contain a message with the Purchase order Number in the FieldName field. Negative ResultCode values signal failure. |
| POST public-api/ic/purchaseorder/advancedinfosearch | ItemInfoAdvancedSearchAsync |
This method is Obsolete. Use PurchaseOrderSearch instead; this method behaves identically to it. It returns a page full of active purchase orders given a precise set of search, sort, or filter criteria. It's a paging API so this is meant to be called with a smaller number (approximately 100) of records to fetch, repeatedly, until you get them all. It requires the Allow Purchase Order permission and enforces Role Site permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/purchaseordersearch | PurchaseOrderSearchAsync |
The method returns a page full of active purchase orders given a precise set of search, sort, or filter criteria. It's a paging API so this is meant to be called with a smaller number (approximately 100) of records to fetch, repeatedly, until you get them all. It requires the Allow Purchase Order permission and enforces Role Site permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/getordersbynumber | GetOrdersByNumberAsync |
This method returns existing orders by number. It requires the Allow Purchase Order permission and enforces Role Site permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. The Messages collection will contain a message with the Purchase order Number in the FieldName field where negative result codes signal failure. |
| POST public-api/ic/purchaseorder/deleteordersbynumber | DeletePurchaseOrdersByNumberAsync |
This method deletes existing purchase orders by number ONLY if they are in Draft status. It requires the Delete Purchase Order permission and enforces Role Site permission. It accepts a maximum of 500 records at a time. The Messages collection will contain a message with the Purchase order Number in the FieldName field. Negative ResultCode values signal failure; an order that is not in Draft status is reported as an error and is not deleted. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/updateorderstatusbynumber | UpdatePurchaseOrderStatusByNumberAsync |
This method updates existing purchase order status by order numbers. Purchase Order - Order Status and Reason Code Combinations are - "Draft-OK","Open-PoOpenIssued","Closed-ReceiverCancel","Closed-VendorCancel". It requires the Edit Purchase Order permission and enforces Role Site permission. It accepts a maximum of 500 records at a time. The Messages collection will contain a message with the Purchase order Number in the FieldName field. Negative ResultCode values signal failure. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/receive-public | ReceiveTransactionAsync |
This method is used to receive items on an order. If an item has trackbys they must be entered. The units being received must match the units on the order. Requires Allow Receive permission and enforces Role Site permission. Accepts a maximum of 500 records at a time. Receipts are all or nothing: if any transaction in the request fails, none of them are committed. The Messages collection will contain a message with the Purchase order Number in the FieldName field. The SiteName on each receive line must name the same site as the purchase order header. A SiteName / LocationCode pair that resolves to a location at any other site is refused with ORDER_LINE_LOCATION_WRONG_SITE (-70017): "The receipt location is not at the same site as the order." The terms "location" and "site" are replaced by whatever the tenant has renamed them to. Because receipts are all or nothing, one wrong site commits none of them. As with every business refusal on this endpoint the response carries HTTP 300, not the 422 the result code declares, so callers should branch on the ResultCode and not on the status code. A purchase order with no site is unscoped and behaves exactly as before: any SiteName the caller is permitted to use is still accepted. This check is also distinct from an unknown site or location code, which continue to return IMPORT_INVALID_SITE and IMPORT_INVALID_LOCATION respectively. |
| POST public-api/ic/purchaseorder/GetOrdersModifiedAfter | GetOrdersModifiedAfterAsync |
This method returns every purchase order that was created or last modified after the supplied date and time, including its order lines. Of the purchase order custom fields, only the field labeled Job is returned. It is intended to be used to synchronize a local copy of the purchase orders, by passing the timestamp of the previous synchronization. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/SaveASNOrderLineTrackbyInfo | SaveASNOrderLineTrackbyInfoAsync |
This method saves the preliminary (Advance Shipping Notice) track-by information for the lines of a single purchase order, so that the values are already known when the order is later received. Existing entries are updated and new entries are added. The order is identified by the first non-empty OrderNumber found in the submitted values, and that order number is applied to every value in the request, so all values in a single call must belong to the same purchase order. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/UpdateASNOrderLineTrackbyInfo | UpdateASNOrderLineTrackbyInfoAsync |
This method updates existing preliminary (Advance Shipping Notice) track-by detail records on the lines of a single purchase order. The order is identified by the first entry in the request with an OrderId greater than zero, so all values in a single call must belong to the same purchase order. The update is all or nothing: if any value fails, none of the changes are committed. An empty list is not an error; it simply reports that no action was taken. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/FindOrdersByASNTrackbyValues | FindOrdersByASNTrackbyValuesAsync |
This method finds the purchase orders that match the supplied preliminary (Advance Shipping Notice) track-by values. At least one of order number, container id, lot, or serial number must be supplied; if all of them are empty the order is reported as not found. If an order number is supplied it is matched directly; otherwise the container id, lot, and serial number are matched against the preliminary track-by information, and orders in Draft, Cancelled, Closed, Rejected, Deleted, or Complete status are excluded. A successful search that matches nothing is reported as success with no data rather than as an error. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/FindOrderByASNTrackbyContainerId | FindOrderByASNTrackbyContainerIdAsync |
This method finds the open purchase orders whose preliminary (Advance Shipping Notice) track-by information references any of the supplied container ids. Each container id is searched separately and the matching orders are combined into a single response. Null, empty, and whitespace-only entries are ignored, and duplicate container ids are searched only once regardless of letter case. A container id that matches no order is reported as success with no data, with the container id in the FieldName field. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/AutoReceiveFromASNContainerIds | AutoReceiveFromASNContainerIdsAsync |
This method auto-receives purchase order lines directly from the supplied container ids (license plate numbers). Each container id is resolved to the open purchase order whose preliminary (Advance Shipping Notice) track-by information references it, and only the quantities staged under that container are received. Null, empty, and whitespace-only entries are ignored, and duplicate container ids are processed only once regardless of letter case. A container id that matches no order is reported with an invalid-container-id message and the remaining container ids are still processed. A container id that matches more than one order is reported as a duplicate order number and processing stops. A container id that was already received is reported as a prior request already completed and is skipped. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/FindOrdersWithMatchingOrderLineItemsSDK | FindOrdersWithMatchingOrderLineItemsSDKAsync |
This method finds the purchase orders that have an order line for any one of the supplied item numbers. Only purchase orders are searched, and orders in a Cancelled, Deleted, Rejected, or No Status state are excluded. Every supplied item number must exist as an active item: if any one of them is unknown, no orders are returned at all. An order does not have to reference every supplied item number to be returned — a line for any one of them is enough. Null, empty, and whitespace-only entries are ignored, and duplicate item numbers are searched only once regardless of letter case. An empty item number list is reported as an invalid model state, and a search that matches no order lines returns one order-line-not-found message per submitted item number. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/AutoReceiveFromASNTrackbyValues | AutoReceiveFromASNTrackbyValuesAsync |
This method auto-receives the preliminary (Advance Shipping Notice) track-by information already staged against a single purchase order. The order must be an active purchase order that has not reached a Complete, Closed, or Closed-Complete state; otherwise an invalid order status code is reported and nothing is received. By default every staged container on the order is received. Supply AutoReceiveContainerIdList to limit the receipt to specific container ids (license plate numbers). OverrideSiteName and OverrideLocationCode override the destination stored with the preliminary data, and TransactionNotes and TransactionReferenceNumber are recorded on the resulting receipt transaction. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/purchaseorder/GetASNOrderLineTrackbyInfo | GetASNOrderLineTrackbyInfoAsync |
This method retrieves the preliminary (Advance Shipping Notice) track-by information recorded against the order lines of the supplied purchase orders. Each order number is queried separately and the results are combined into a single response. Only outstanding track-by rows are returned — rows whose requested quantity has already been fully received are omitted, as are orders in a Draft, Cancelled, Closed, Closed-Complete, Rejected, Deleted, or e-commerce shipping state. Null, empty, and whitespace-only entries are ignored, and duplicate order numbers are queried only once regardless of letter case. An order number with no preliminary track-by information is reported as success with no data, with the order number in the FieldName field. Note: TotalRecordsLongCount reports the number of order numbers queried successfully, not the number of track-by records returned. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
ApiItems |
| API | Method Name | Description |
|---|---|---|
| POST public-api/ic/item/streamgridrequestcsvlowstock | StreamGridRequestCSVLowStockAsync |
Request low stock records as a stream of data in a CSV formatted stream. One record is streamed per item and location whose on hand quantity is below the minimum quantity configured for that item at that location. If the FieldTitles parameter is null then all available fields are exported with default column titles. When you create Custom Fields on items you can call this function with the FieldTitles parameter = null as well to see how custom fields look in the output stream. Important! Without this parameter the order and names of fields may change from version to version. Therefore, to ensure consistent results from one version to the next, make sure you provide this value after you have determined the values you need. If the FieldTitles parameter is not provided the column names returned will be the database column names. This API does not support paging as it is intended to stream all of the data at once DateTime values are streamed in UTC unless you name them in the ClientLocalDateTimeFields parameter, in which case they are converted using ClientUtcOffset and ExportDateTimeFormat. |
| POST public-api/ic/item/saveContainerItem | SaveContainerItemAsync |
This method is used to create a new container item, identified by its ItemNumber. It creates only container type items, and the item is always created with a License Plate Number track-by. If a container item with that item number already exists it is updated instead; set CreateNewOnly on the request to reject an existing item number as a duplicate rather than update it. An existing item number that belongs to an item that is not a container is rejected as an invalid item class. Supplying a ContainerIdStartingSeedValue of 1 or more also initializes the container id (license plate number) generator, using the supplied prefix and suffix. The generator is private to this item unless UsePrivateContainerIdGenerator is explicitly false, in which case the shared global generator is initialized instead. Re-sending a seed value re-initializes an existing generator rather than continuing from where it left off. Requires Create Item permission to create a container item that does not yet exist. |
| POST public-api/ic/item/createInventoryItems | CreateInventoryItemAsync |
This method is used to create new inventory items. You can pass in a list of ItemInventoryInfo to create several new items at once. It creates only inventory type items. Requires Create Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/updateInventoryItems | UpdateInventoryItemAsync |
This method is used to update existing inventory items. You can pass in a list of ItemInventoryInfo to update several existing items at once. It updates only inventory type items. Requires Edit Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/createAssemblyItems | CreateAssemblyItemAsync |
This method is used to create new assembly items. You can pass in a list of ItemAssemblyInfo to create several new items at once. It creates only assembly type items. Assemblies are always created with an empty bill of materials — any lines passed in are ignored; BOM lines are added afterward in the UI. Requires Create Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/createNonInventoryItems | CreateNonInventoryItemAsync |
This method is used to create new non-inventory items. You can pass in a list of ItemNonInventoryInfo to create several new items at once. It creates only non-inventory type items. Requires Create Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/updateNonInventoryItems | UpdateNonInventoryItemAsync |
This method is used to update existing non-inventory items. You can pass in a list of ItemNonInventoryInfo to update several existing items at once. It updates only non-inventory type items. Requires Edit Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/createServiceItems | CreateServiceItemAsync |
This method is used to create new service items. You can pass in a list of ItemServiceInfo to create several new items at once. It creates only service type items. Requires Create Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/updateServiceItems | UpdateServiceItemAsync |
This method is used to update existing service items. You can pass in a list of ItemServiceInfo to update several existing items at once. It updates only service type items. Requires Edit Item permission. Accepts a maximum of 500 records at a time. |
| POST public-api/ic/item/getitemsbynumber | GetItemsByNumberAsync |
This method returns existing items by number. Each requested item number is returned as its own result entry, so a single call can succeed for some item numbers and report an invalid item error for others. Submitting an empty list returns every item the caller can see rather than no items at all. Results are limited to the items the calling user's role is allowed to see through its site access. Requires Allow Item permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/item/getitemlocationbynumber | GetItemLocationByNumberAsync |
This method returns the active stocking locations configured for the specified items, including each location's minimum, maximum and reorder quantities and the quantity currently available there. Results are limited to the sites the calling user's role is allowed to access. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/item/infosearch | ItemInfoSearchAsync |
This method returns all active items whose item number, alternate item number or item description contains the specified search text. Leaving the search text empty matches every active item rather than none. The number of records returned is capped by the tenant's configured maximum page size. Results are limited to the items the calling user's role is allowed to see through its site access. Requires Allow Item permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/item/advancedinfosearch | ItemInfoAdvancedSearchAsync |
This method returns a page full of active items given a precise set of search, sort or filter criteria. It's a paging API so this is meant to be called with a smaller number (about 100) of records to fetch, repeatedly, until you get them all. Results are limited to the items the calling user's role is allowed to see through its site access. Requires Allow Item permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/ic/item/getinventoryitem/{itemNumber} | GetInventoryItemAsync |
This method is used to get an inventory item with an item number that matches the string parameter exactly. Requires Allow Item permission. |
| POST public-api/ic/item/getmultipleinventoryitem | GetMultipleInventoryItemAsync |
This method is used to get up to 20 inventory items by item number, on providing the details about the item. Supplying more than 20 item numbers returns a TOO_MANY_REQUESTS message and no data. Requires Allow Item permission. |
| POST public-api/ic/item/getnoninventoryitem/{itemNumber} | GetNonInventoryItemAsync |
This method is used to get a non inventory item with an item number that matches the string parameter exactly. Requires Allow Item permission. |
| POST public-api/ic/item/getserviceitem/{itemNumber} | GetServiceItemAsync |
This method is used to get a service item with an item number that matches the string parameter exactly. Requires Allow Item permission. |
| POST public-api/ic/item/getassemblyitem/{itemNumber} | GetAssemblyItemAsync |
This method is used to get an assembly item with an item number that matches the string parameter exactly. Requires Allow Item permission. |
| POST public-api/ic/item/getkititem/{itemNumber} | GetKitItemAsync |
This method is used to get a kit item with an item number that matches the string parameter exactly. Requires Allow Item permission. |
| POST public-api/ic/item/inventorysearch | InventorySearchAsync |
This method is a simple inventory query similar to what is found on the Edit Item screen or on the mobile devices. The number of records returned is capped by the tenant's configured maximum page size, and the records are not sorted. Requires Allow Item permission and enforces role site permission. |
| POST public-api/ic/item/advancedinventorysearch | InventoryAdvancedSearchAsync |
This method is a robust inventory query similar to the main View Item non tree mode grid. This is a paging API. Requires Allow Item permission and enforces role site permission. |
| POST public-api/ic/item/inventory-activity | InventoryActivityAsync |
This method gets the inventory activity for a given date range and returns it in a json format similar to the other public apis. It can be filtered down to a specific item, move transactions can be excluded, and records with no quantity or activity can be filtered out. Omitting the date range reports on the current calendar month. Dates are interpreted in UTC and only their date part is used. ExcludeMoveTransaction and ExcludeEmptyQuantity both default to true, so move transactions and records with no quantity are left out unless you explicitly send false for them. At most 100,000 records are returned. |
| POST public-api/ic/item/inventory-activity-csv | InventoryActivityCsvAsync |
Returns the same inventory-activity data as , but as a CSV file download (text/csv, attachment). Column names are the raw result field names. All filter options on (ExcludeEmptyQuantity, ExcludeMoveTransaction, etc.) are honored identically to the JSON endpoint. |
| POST public-api/ic/item/streamgridrequestcsvflat | StreamGridRequestCSVFlatAsync |
Request item inventory records as a stream of data in a CSV formatted stream. If the FieldTitles parameter is null then all available fields are exported with default column titles. When you create Custom Fields on items you can call this function with the FieldTitles parameter = null as well to see how custom fields look in the output stream. Important! Without this parameter the order and names of fields may change from version to version. Therefore, to ensure consistent results from one version to the next, make sure you provide this value after you have determined the values you need. If the FieldTitles parameter is not provided the column names returned will be the database column names. This API does not support paging as it is intended to stream all of the data at once This is the flat view, so an item that is stocked in more than one location is streamed once per location record. DateTime values are streamed in UTC unless you name them in the ClientLocalDateTimeFields parameter, in which case they are converted using ClientUtcOffset and ExportDateTimeFormat. |
| POST public-api/ic/item/streamgridrequestcsvunique | StreamGridRequestCSVUniqueAsync |
Request item records as a stream of data in a CSV formatted stream. If the FieldTitles parameter is null then all available fields are exported with default column titles. When you create Custom Fields on items you can call this function with the FieldTitles parameter = null as well to see how custom fields look in the output stream. Important! Without this parameter the order and names of fields may change from version to version. Therefore, to ensure consistent results from one version to the next, make sure you provide this value after you have determined the values you need. If the FieldTitles parameter is not provided the column names returned will be the database column names. This API does not support paging as it is intended to stream all of the data at once This is the unique view, so each item is streamed once with its duplicate location information removed. DateTime values are streamed in UTC unless you name them in the ClientLocalDateTimeFields parameter, in which case they are converted using ClientUtcOffset and ExportDateTimeFormat. |
ApiLocations |
| API | Method Name | Description |
|---|---|---|
| POST public-api/locations/create | CreateAsync |
This method creates a new location. It requires the Create Location permission and access to the Site where the Location is being created. It accepts a maximum of 500 records at a time. Response information does not display BatchNumber if it is null. |
| POST public-api/locations/update | UpdateAsync |
This method updates an existing location. The existing location is retrieved by calling one of the searches. It requires the Edit Location permission and access to the Site where the Location is located. It accepts a maximum of 500 records at a time. |
| POST public-api/locations/search/exact | GetExactLocationApiAsync |
This method gets the location that exactly matches the search string in the specified site. Both the site name and the location code are required; leaving either blank returns an empty result rather than an error. It requires Allow Location permission and access to the site where the location is located. |
| POST public-api/locations/advancedinfosearch | LocationModelInfoAdvancedSearchAsync |
This method returns a page full of active locations given a precise set of search, sort or filter criteria. It is a paging API so this is meant to be called with a smaller number (ca 100) of records to fetch, repeatedly, until you get them all. It requires the Allow Location permission and enforces Role Site permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/locations/getlocationsbycode | GetLocationsByCodeAsync |
This method returns existing locations by name. Each requested location is returned as its own result entry, so a single call can succeed for some locations and report a retrieval or site access error for others. Submitting an empty list returns every active location instead, capped by the tenant's configured maximum page size; note that this all-locations form does not populate the custom field values or notes that the by-code form returns. It requires access to the Site where the Location is located. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/locations/infosearch | LocationModelInfoSearchAsync |
This method returns the active locations whose location code or location description contains the location code that is passed in. The site name parameter is optional; when it is supplied the search is restricted to that site. Leaving the location code empty matches every active location rather than none. Matches are ordered so that locations whose code starts with the search text come first, then those that merely contain it, then the rest alphabetically by location code. It requires the Allow Location permission and access to the Site where the Location is located. The number of records returned is capped by the tenant's configured maximum page size (500 by default). Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/locations/deletelocationsbycode | DeleteLocationByCodeAsync |
This method deletes existing locations by code. A deleted location is marked inactive rather than removed. It requires the Delete Location permission and access to the Site where the Location is located. It accepts a maximum of 500 records at a time. A location that still holds quantity on hand, or that has active child locations, cannot be deleted and is reported as in use. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
ApiManufacturers |
| API | Method Name | Description |
|---|---|---|
| POST public-api/manufacturers/createNew | CreateNewManufacturersAsync |
This method creates new Manufacturers. It requires the Create Manufacturer permission. It accepts a maximum of 500 records at a time. A manufacturer name that already exists is skipped and reported as a duplicate error in the results; the remaining records are still created. The ApplicableFields list on the request is ignored here; every field you supply is applied. Use updateExisting when you need to limit which fields are written. To create or update addresses (instead of ignoring them), please use the API public-api/addresses/manufacturers/save, which performs both inserts and updates. |
| POST public-api/manufacturers/updateExisting | UpdateExistingAsync |
This method updates existing manufacturers. Every manufacturer is identified by its manufacturer name. It requires the Edit Manufacturer permission. It accepts a maximum of 500 records at a time. A manufacturer name that does not already exist cannot be updated by this method. Naming one or more properties in ApplicableFields limits the update to just those properties; leaving the list null or empty applies every field you supply. To create or update addresses (instead of ignoring them), please use the API public-api/addresses/manufacturers/save, which performs both inserts and updates. |
ApiPhone |
| API | Method Name | Description |
|---|---|---|
| POST public-api/phones/customer/save | SaveCustomerPhonesAsync |
This method creates/updates the phones associated with customers. It will not create new Phone Types, you will need to first create those in the web, but once you do they can be used here. Requires the Edit Customer permission Accepts a maximum of 500 records at a time |
| POST public-api/phones/supplier/save | SaveSupplierphonesAsync |
This method creates/updates the phones associated with suppliers. It will not create new Phone Types, you will need to first create those in the web, but once you do they can be used here. Requires the Edit Supplier permission Accepts a maximum of 500 records at a time |
ApiSalesTaxCode |
| API | Method Name | Description |
|---|---|---|
| POST public-api/ic/salestaxcode/SaveSalesTaxCode | SaveSalesTaxCodeAsync |
Call this method to create or update a sales tax code. It requires both the Item Create and Item Edit permissions. When a request model for a Sales Tax Code is given the function checks if the name already exists. If it already exists, then that record is updated and marked as active. If not, then a new record is created. TotalRecordsLongCount field is not used by this API. |
| POST public-api/ic/salestaxcode/RetrieveSalesTaxCodesByNames | RetrieveSalesTaxCodesByNamesAsync |
This method retrieves the details of sales tax codes by name. Given a list of sales tax code names, it returns the matching active sales tax codes. Names that do not match an active record are omitted from the result. The function can accept a maximum of 500 names at a time. |
| POST public-api/ic/salestaxcode/DeleteSalesTaxCodesByNames | DeleteSalesTaxCodesByNamesAsync |
Call this method to delete a sales tax code. It requires the Item Edit permission. Given a list of sales tax code names, will mark the given records as deleted. Note that if the record is already deleted, then a success result code will still be returned and the message will indicate that the previous operation is already successful. If the name does not exist, then it will be ignored. A sales tax code that is still referenced by an active item cannot be deleted and is reported as in use. The whole call is one transaction: if any submitted name comes back as in use, none of the other deletions in that call are saved either, so resubmit without the in use names. |
| GET public-api/ic/salestaxcode/TaxCodeSearchGetAll | TaxCodeSearchGetAllAsync |
This method returns all active sales tax codes. Sales tax codes that have been deleted are not returned. It requires the Allow Item permission. |
| POST public-api/ic/salestaxcode/TaxCodeSearch | TaxCodeSearchAsync |
This method returns the active sales tax codes matching the search criteria. A record matches when either its name or its description contains the search text, ignoring case. An empty or blank search pattern returns all active sales tax codes. It requires the Allow Item permission. |
ApiSites |
| API | Method Name | Description |
|---|---|---|
| POST public-api/sites/create | CreateAsync |
This method creates one or more new sites. To update sites that already exist, use the Update() API instead. It requires the Create Site permission. It accepts a maximum of 500 records at a time. |
| POST public-api/sites/update | UpdateAsync |
This method updates existing sites. The existing site is retrieved by calling API function GetSitesByName() or one of the searches. It requires the Edit Site permission and enforces Role Site restriction. The TotalRecordsLongCount field is not used by this API. It accepts a maximum of 500 records at a time. |
| POST public-api/sites/search/exact | GetExactSiteApiAsync |
This method gets the active site that exactly matches the search string. It requires the Allow Site permission and enforces Role Site restriction. If no site matches, the response contains an empty site together with a SUCCESS_NO_DATA message rather than an error. |
| POST public-api/sites/search/exact/v2 | GetExactSiteApiv2Async |
This method gets the active site that exactly matches the search string. It is the version 2 form of the search/exact API: it reports the site's category restrictions in full - a flag indicating whether the site can access all categories, plus the list of allowed category descriptions - in place of the single has-restrictions flag returned by search/exact. It requires the Allow Site permission and enforces Role Site restriction. If no site matches, the response contains an empty site and no messages. |
| POST public-api/sites/getsitesbyname | GetSitesByNameAsync |
This method returns existing sites by name, including each site's location count, site notes and custom field values. It requires the Allow Site permission and enforces Role Site restriction. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/sites/infosearch | SiteModelInfoSearchAsync |
This method returns active sites whose site name or site description contains the specified text, similar to the site drop down controls on the web. It returns the site name, the site description and the site notes. It requires the Allow Site permission and enforces Role Site restriction. It returns a maximum of 500 records at a time; sites whose name matches are ordered ahead of those matched on description only. This method does not provide per-record messages; if no site matches the search, the response returns no data and a SITE_INVALID message. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/sites/advancedinfosearch | SiteModelInfoAdvancedSearchAsync |
This method returns a page full of active sites given a precise set of search, sort or filter criteria. It's a paging API so this is meant to be called with a smaller number (ca 100) or records to fetch, repeatedly, until you get them all. It requires the Allow Site permission and enforces Role Site restriction. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/sites/deletesitesbyname | DeleteSitesByNameAsync |
This method deletes existing sites by name. It requires the Delete Site permission and enforces Role Site restriction. It accepts a maximum of 500 records at a time. A site that still has active locations cannot be deleted. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/sites/deletesitesbynumber | DeleteSitesByNumberAsync |
This method deletes existing sites by name. It is obsolete and has been superseded by deletesitesbyname, to which it forwards the call unchanged. It requires the Delete Site permission and enforces Role Site restriction. It accepts a maximum of 500 records at a time. A site that still has active locations cannot be deleted. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/sites/AddCategoriesToSites | AddAllowedCategoriesToSitesAsync |
This method is used to add additional allowed categories to existing sites. If the category is already associated with the site the value will be ignored. It requires the Edit Site or Allow Category permission. It accepts a maximum of 500 sites to modify at a time. Only active sites and active categories are matched; a name that does not resolve to one is reported as an error for that entry and the rest of the request still proceeds. |
| POST public-api/sites/RemoveCategoriesFromSites | RemoveAllowedCategoriesFromSitesAsync |
This method is used to remove allowed categories from existing sites. If the category is not associated with the site the value will be ignored. There must be no quantity associated with the category at the site for it to be removed. It requires the Edit Site or Allow Category permission. It accepts a maximum of 500 sites to modify at a time. Only active sites and active categories are matched; a name that does not resolve to one is reported as an error for that entry and the rest of the request still proceeds. |
| POST public-api/sites/getlocations/{siteName} | GetLocationsBySiteAsync |
This method returns the locations belonging to a single site. It requires the Allow Location permission and enforces Role Site restriction. To retrieve the locations of several sites in one call, use getlocationsmany instead. |
| POST public-api/sites/getlocationsmany | GetLocationsBySiteAsync |
Returns the locations for each of the specified sites. Pass a list of site names; the result contains one entry per requested site, in the same order the names were supplied. Requires the Allow Location permission, and enforces per-site access security. |
ApiSystemInfo |
| API | Method Name | Description |
|---|---|---|
| POST public-api/systeminfo/servertype | ServerTypeAsync |
This method returns the type of application hosted at this URL. Returns a WaspResult with Data = MobileAsset or InventoryControl, else some error. |
ApiTransactions |
| API | Method Name | Description |
|---|---|---|
| POST public-api/transactions/streamgridrequestcsv | StreamGridRequestCSVAsync |
Request transaction history records as a stream of data in a CSV-formatted stream. If the FieldTitles parameter is null then all available fields are exported with default column titles. Important! Without this parameter the order and names of fields may change from version to version. Therefore, to ensure consistent results from one version to the next, make sure you provide this value after you have determined the values you need. If the FieldTitles parameter is not provided the column names returned will be the database column names. This API does not support paging as it is intended to stream all of the data at once. Requires the Allow Transaction History permission. Date and time fields are not converted to local time; they are returned in UTC (Universal Time) using the format yyyy-MM-dd HH:mm:ssZ. |
| POST public-api/transactions/streamgridrequestarchivecsv | StreamGridRequestArchiveCSVAsync |
Request older archived and purged transaction history records as a stream of data in a CSV-formatted stream. This is the archive counterpart of streamgridrequestcsv: it returns transaction history that has already been archived or purged out of the live transaction history, not the records that endpoint returns. If the FieldTitles parameter is null then all available fields are exported with default column titles. Important! Without this parameter the order and names of fields may change from version to version. Therefore, to ensure consistent results from one version to the next, make sure you provide this value after you have determined the values you need. If the FieldTitles parameter is not provided the column names returned will be the database column names. This API does not support paging as it is intended to stream all of the data at once. Date and time fields are not converted to local time; they are returned in UTC (Universal Time) using the format yyyy-MM-dd HH:mm:ssZ. |
| POST public-api/transactions/grid-query/history-public-api | TransactionHistoryAsync |
Returns transaction history matching the supplied filter. Suitable for public API. |
| POST public-api/transactions/grid-query/history-notes-public-api | TransactionHistoryNotesAsync |
Given a list of Unique Transaction History Identifiers, return attachment binary data and any user notes. A Unique Transaction History Identifier is the TransactionUniqueIdentitifer value returned by the api call public-api/transactions/grid-query/history-public-api. These identifiers are short-lived: an identifier more than 8 minutes old is rejected with a NO_NOTES_FOUND message, so request the notes soon after fetching the history page that produced them. |
| POST public-api/transactions/grid-query/transaction-history | TransactionHistoryGridQueryAsync |
Deprecated. Please use grid-query/transaction-history-v2 This API is filterable, sortable, and page-able. It returns a list of the transaction history, very similar to what is returned in the Transaction History web interface. Requires the Allow Transaction History permission. |
| POST public-api/transactions/grid-query/transaction-history-v2 | TransactionHistoryGridQueryV2Async |
New transaction history api. This api returns a model that takes out the internal id fields, but works just like the previous one. You can use the gridRequest parameter to specify the page number, page size, filter, and sort criteria. Requires the Allow Transaction History permission, enforces Role Site and Asset Type security |
| GET public-api/transactions/item/adjustCount/reasons | GetItemAdjustCountReasonsAsync |
The method returns all active adjust-Count reasons in the system. Requires the Allow Adjust Reason Code or Adjust permission |
| GET public-api/transactions/item/adjustDown/reasons | GetItemAdjustDownReasonsAsync |
The method returns all active adjust-Down reasons in the system. Requires the Allow Adjust Reason Code or Adjust permission |
| GET public-api/transactions/item/adjustUp/reasons | GetItemAdjustUpReasonsAsync |
The method returns all active adjust-Up reasons in the system. Requires the Allow Adjust Reason Code or Adjust permission |
| POST public-api/transactions/public-api/reconcile | PublicApiReconcileAsync |
This API is used to perform a reconcile transaction. Any audits that resulted in discrepancies can be accepted or corrected using this transaction Requires the Allow Audit Reconciliation permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time |
| POST public-api/transactions/reconcile-v2 | PublicApiReconcileV2Async |
This API is used to perform a reconcile transaction. Any audits that resulted in discrepancies can be accepted or corrected using this transaction Requires the Allow Audit Reconciliation permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time Supports Containers |
| POST public-api/transactions/item/add | AddTransactionAsync |
This api is used to add quantity to an item. If an item has trackbys they must be entered. Quantity added in this way is always added using the stocking units. Requires the Allow Add permission and enforces Role Site permission Accepts a maximum of 500 records at a time |
| POST public-api/transactions/item/remove | RemoveTransactionAsync |
This api is used to remove quantity of an item. If an item has trackbys they must be entered. Quantity removed in this way is always removed using the stocking units. Requires the Allow Remove permission and enforces Role Site permission Accepts a maximum of 500 records at a time. If error, Returns a list of error message with a zero based index of items that contain errors. |
| POST public-api/transactions/item/adjust | AdjustTransactionAsync |
This api is used to adjust the quantity of an item. If an item has trackbys they must be entered. Quantity adjusted in this way is always adjusted using the stocking units. An adjust type and reason must be provided Requires the Allow Adjust permission and enforces Role Site permission Accepts a maximum of 500 records at a time |
| POST public-api/transactions/item/move | MoveTransactionAsync |
This api is used to move quantity of an item. If an item has trackbys they must be entered. Quantity moved in this way is always moved using the stocking units. Requires the Allow Move permission, enforces Role Site Accepts a maximum of 500 records at a time |
| POST public-api/transactions/public-api/audit-count | PublicApiAuditCountAsync |
This API is used to perform an audit count transaction. Any discrepancies found will need to be resolved using the reconcile transaction Requires the Allow Audit permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time |
| POST public-api/transactions/audit-count-v2 | PublicApiAuditCountV2Async |
This API is used to perform an audit count transaction. Any discrepancies found will need to be resolved using the reconcile transaction Requires the Allow Audit permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time Supports Containers |
| POST public-api/transactions/item/check-in | CheckInTransactionAsync |
This api is used to check in quantity of an item. If an item has trackbys they must be entered. Quantity checked-in in this way is always checked in using the stocking units. A Customer or Vendor must be specified and not both. Requires the Allow Check In permission, enforces Role Site security Accepts a maximum of 500 records at a time |
| POST public-api/transactions/item/check-out | CheckOutTransactionAsync |
This api is used to check out quantity of an item. If an item has trackbys they must be entered. Quantity checked out in this way is always checked out using the stocking units. A Customer or Vendor must be specified and not both. Requires the Allow Check Out permission, enforces Role Site security Accepts a maximum of 500 records at a time |
| POST public-api/transactions/container20AddMultipleContainers | Container20AddMultipleContainersAsync |
Creates one or more nested container (LPN) hierarchies in a single request. |
| POST public-api/transactions/item/move-container-or-inventory | MoveContainerOrInventoryAsync |
Moves tracked containers (LPNs) and/or loose inventory quantities in bulk, from one location or container to another. |
ApiVendor |
| API | Method Name | Description |
|---|---|---|
| POST public-api/vendors/createNew | CreateNewVendorsAsync |
This method creates new Vendor. It requires the Create Vendor permission. It accepts a maximum of 500 records at a time. This will ignore the Vendor name already in existence. To create/update addresses (instead of ignoring them), please use the API public-api/addresses/suppliers/save. Use “Save” to perform operations including both inserts and updates. |
| POST public-api/vendors/updateExisting | UpdateExistingAsync |
This method updates the existing Vendors. Every Vendor will have a Vendor number. It requires the Edit Vendor permission. It accepts a maximum of 500 records at a time. This will not work for Vendor with unknown Vendor number. To create/update addresses (instead of ignoring them), please use the API public-api/addresses/suppliers/save. Use “Save” to perform operations including both inserts and updates. |
| POST public-api/vendors/advancedinfosearch | VendorAdvancedSearchAsync |
This method returns a page full of active vendors given a precise set of search, sort or filter criteria. It's a paging API so this is meant to be called with a smaller number (ca 100) of records to fetch, repeatedly, until you get them all. It requires the Allow Vendor permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
| POST public-api/vendors/getvendorbynumber | GetVendorByNumberAsync |
This method returns existing vendors by their vendor numbers. It requires the Allow Vendor permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. |
SystemInfo |
| API | Method Name | Description |
|---|---|---|
| POST systeminfo/servertype | ServerType |
This method returns the type of application hosted at this URL. Returns a WaspResult with Data = MobileAsset or InventoryControl, else some error. |