ApiAddress

ApiAddressPublicApiClient
APIMethod NameDescription
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 Update 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 Update 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 Update Customer permission Accepts a maximum of 500 records at a time

POST public-api/addresses/employee/save

SaveEmployeeAddressesAsync

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 Update Employee permission Accepts a maximum of 500 records at a time

POST public-api/addresses/manufacturers/save

SaveManufacturerAddressesAsync

This method creates/updates the addresses associated with manufacturers. 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 Update Manufacturer permission Accepts a maximum of 500 records at a time

ApiAssetPurchaseOrder

ApiAssetPurchaseOrderPublicApiClient
APIMethod NameDescription
POST public-api/ac/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.

POST public-api/ac/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.

POST public-api/ac/purchaseorder/advancedinfosearch

ItemInfoAdvancedSearchAsync

This method is Obsolete (Use PurchaseOrderSearch instead).

POST public-api/ac/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 (ca 100) or 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/ac/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.

POST public-api/ac/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. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/ac/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. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/ac/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.

ApiAssets

ApiAssetsPublicApiClient
APIMethod NameDescription
POST public-api/assets/createFixedAssets

CreateFixedAssetsAsync

This method creates a new fixed asset. A fixed asset is unique across all sites and locations. The existing fixed asset is retrieved by calling API function GetAssetsByTags() or one of the searches. Requires Create Asset permission. Accepts a maximum of 500 records at a time.

POST public-api/assets/updateFixedAssets

UpdateFixedAssetsAsync

This method updates an existing fixed asset. The existing fixed asset is retrieved by calling API function GetAssetsByTags() or one of the searches. Requires Edit Asset permission. Accepts a maximum of 500 records at a time.

POST public-api/assets/UpdateSpecificFieldsOfFixedAssets

PartialUpdateFixedAssetAsync

This method updates specific details of an existing fixed asset like updating the unique key asset tag/asset serial number. The existing fixed asset is retrieved by calling API function GetAssetsByTags() or one of the searches. Requires Edit Asset permission and enforces Role Site and Asset Type permission. Accepts a maximum of 500 records at a time.

POST public-api/assets/createMultiQuantityAssets

CreateMultiQuantityAssetsAsync

This method creates a new multi-quantity asset. A multi-quantity asset is not unique across sites and locations and may have quantity associated with it. The existing multi-quantity asset is retrieved by calling API function GetAssetsByTags() or one of the searches. Requires Create Asset permission. Accepts a maximum of 500 records at a time.

POST public-api/assets/updateMultiQuantityAssets

UpdateMultiQuantityAssetsAsync

This method updates an existing multi-quantity asset. The existing multi-quantity asset is retrieved by calling API function GetAssetsByTags() or one of the searches. Requires Create Asset permission. Accepts a maximum of 500 records at a time.

POST public-api/assets/AddAssetQuantity

AddAssetQuantityAsync

This method is used to add quantity to the Multi-Quantity assets. Requires Add Asset Quantity permission. Accepts a maximum of 500 records at a time.

POST public-api/assets/getAssetsByTags

GetAssetsByTagsAsync

This method returns existing assets by asset tag. Does not return location information Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. Requires Allow Asset permission and enforces Role Site and Asset Type security.

POST public-api/assets/getAssetsByTagsLight

GetAssetsByTagsLightAsync

This method returns existing assets by asset tag. Does not return location information Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. Requires Allow Asset permission and enforces Role Site and Asset Type security.

POST public-api/assets/assetinfosearch

AssetInfoSearchAsync

This method returns all active assets whose asset tag or asset description contains the specified texts that are entered on the combo box. This only returns asset level information, simulating the asset lookup controls in the web. Use public-api/assets/assetadvancedinfosearch to return those values. Requires Allow Asset permission and enforces Role Site and Asset Type security. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/assets/assetadvancedinfosearch

AssetInfoAdvancedSearchAsync

This method returns a page full of active assets 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. Requires Allow Asset permission and enforces Role Site and Asset Type security. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

GET public-api/assets/checkout-status/{AssetTag}

AssetCheckOutStatusAsync

This method returns check out information of the specified asset. Requires Allow Asset permission and enforces Role Site and Asset Type security.

POST public-api/assets/saveLdapModelsByAssetSerialNumber

SaveLdapModelsByAssetSerialNumberAsync

A public API created primary for use with our LDAP sync tool. This API takes a list of employees and will update and insert as necessary. Any employees not in the list, but active in the Cloud system will be deleted. Requires, Create, Edit, and Delete Employee permission

POST public-api/assets/streamgridrequestcsvflat

StreamGridRequestCSVFlatAsync

Request asset inventory records as a stream of data in a CSV formated stream. If the FieldTitles parameter is null than all available fields are exported with default column titles. When you create Custom Fields on assets 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 consisteny results from one version to the next, make sure you provide set this value after you have determined the values you need.

POST public-api/assets/streamgridrequestcsvunique

StreamGridRequestCSVUniqueAsync

Request asset records as a stream of data in a CSV formated stream. If the FieldTitles parameter is null than all available fields are exported with default column titles When you create Custom Fields on assets 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 consisteny results from one version to the next, make sure you provide set this value after you have determined the values you need. Does not support paging as it is intended to stream all of the data at once

ApiAssetTypes

ApiAssetTypesPublicApiClient
APIMethod NameDescription
POST public-api/asset-types/create

CreateAsync

This method creates a new asset type. The existing asset type is retrieved by calling API function GetAssetTypesByNumber() or one of the searches. Requires the Create Asset Type permission. Accepts a maximum of 500 records at a time.

POST public-api/asset-types/update

UpdateAsync

This method updates an existing asset type. The existing asset type is retrieved by calling API function GetAssetTypesByNumber() or one of the searches. Requires the Edit Asset Type permission. Accepts a maximum of 500 records at a time.

POST public-api/asset-types/getassettypesbynumber

GetAssetTypesByNumberAsync

This method returns existing asset types by number. Requires the Allow Asset Type permission and enforces Role Asset Type permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/asset-types/infosearch

AssetTypeInfoSearchAsync

This method returns all active asset types whose asset type number or asset type description contains the specified texts that are entered on the combo box. Requires the Allow Asset Type permission and enforces Role Asset Type permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/asset-types/advancedinfosearch

AssetTypeInfoAdvancedSearchAsync

This method returns a page full of active asset types 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) or records to fetch, repeatedly, until you get them all. Requires the Allow Asset Type permission and enforces Role Asset Type permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/asset-types/deleteassettypesbynumber

DeleteAssetTypesByNumberAsync

This method deletes existing asset types by number. Requires the Delete Asset Type permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/asset-types/simple/all

GetAssetTypesSimpleAllAsync

This method gets all asset-types.

ApiAttachments

ApiAttachmentsPublicApiClient
APIMethod NameDescription
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 records 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 records at a time

POST public-api/attachments/getAttachmentsByAssociatedTag

GetAttachmentsByAssociatedTagAsync

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 Allow permission of the form you are attempting to retrieve attachments for, Role Site and Asset Type permissions are enforced when relevant In response , HasSuccessWithMoreDataRemaining and BatchNumber are not required .

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 Allow permission of the form you are attempting to retrieve attachments for, Role Site and Asset Type permissions are enforced when relevant

ApiContracts

ApiContractsPublicApiClient
APIMethod NameDescription
POST public-api/contracts/create

CreateAsync

This method creates one or more new contracts. Requires Create Contract permission, enforces Role Site and Asset Type security when associating assets. Accepts a maximum of 500 records at a time.

POST public-api/contracts/update

UpdateAsync

This method updates the header info of one or more existing contracts. This does not affect the assets associated with the contract. The existing contract is retrieved by calling one of the search APIs. Requires Edit Contract permission. Accepts a maximum of 500 records at a time.

POST public-api/contracts/delete

DeleteContractsAsync

This method deletes the listed contracts. The existing contract is retrieved by calling one of the search APIs. Requires Delete Contract permission. Accepts a maximum of 500 records at a time.

POST public-api/contracts/addAssets

AddAssociatedAssetsAsync

This method is used to add assets to a contract that already exists. It provides the contract number and the assets that need to be added. This method takes in a Dictionary of string Lists where the Dictionary key is the Contract Number and the List contas the Asset Tags to add to the contract. Requires Edit Contract permission, enforces Role Site and Asset Type security on the assets being associated. Accepts a maximum of 500 records at a time.

POST public-api/contracts/removeAssets

RemoveAssociatedAssetsAsync

This method is used to remove assets from a contract that already exists. It provides the contract number and the assets that need to be removed. Requires Edit Contract permission, enforces Role Site and Asset Type security on the assets being associated. Accepts a maximum of 500 records at a time.

POST public-api/contracts/search/exact

GetExactContractApiAsync

This method gets the contract that exactly matches the search string. Requires Allow Contract permission and enforces Role Site and Asset Type security.

POST public-api/contracts/getcontractsbynumber

GetContractsByNumberAsync

This method returns existing contracts without notes by number. Requires Allow Contract permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/contracts/getcontractsbynumberV2

GetContractsByNumberV2Async

This method returns existing contracts contains notes by contract number. Requires Allow Contract permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/contracts/infosearch

ContractModelHeaderInfoSearchAsync

This method returns all active contracts whose contract number or description contains the specified texts that are entered. Requires Allow Contract permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

ApiCustomer

ApiCustomerPublicApiClient
APIMethod NameDescription
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 Update Customer permission. It accepts a maximum of 500 records at a time. In case the customer does not exist, a new record is created and on creation, it returns the 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/savestudentmodels

SaveStudentModelsAsync

This method was created primarily to use with our LDAP sync tool. It takes a list of students and will update or insert as necessary. Any students not on the list, but active in the Cloud system will be deleted. It requires the Create, Update, and Delete Customer permission. It accepts a maximum of 500 records at a time.

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. Any customer not in the list, but active in the Cloud system will be deleted. It requires the Create, Update, and Delete Customer permission. It accepts a maximum of 500 records at a time.

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.

GET public-api/customers/checkout-status/{CustomerNumber}

AssetCheckOutStatusAsync

This method returns all of the assets currently checked out to the specified customer. It is optimized for customer number, but can search on customer name as well. It requires Allow Customer and Allow Asset permission. It enforces the Role Site and Asset Type security.

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 this is meant to be called with a smaller number (ca 100) or records to fetch, repeatedly, until you get em' all. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. This query does not return Phone or Address Models. It requires the Allow Customer permission.

ApiDepartments

ApiDepartmentsPublicApiClient
APIMethod NameDescription
POST public-api/departments/create

CreateAsync

This method creates a new department. It requires the Create Department permission. It accepts a maximum of 500 records at a time.

POST public-api/departments/update

UpdateAsync

This method updates an existing department. The existing department is retrieved by calling API function infosearch. It requires the Edit Department permission. TotalRecordsLongCount fields as not used by this API. It accepts a maximum of 500 records at a time.

POST public-api/departments/infosearch

DepartmentModelInfoSearchAsync

This method returns all active departments whose department code or name contains the specified text that is submitted. It requires the Allow Department permission. This method does not provide List of Messages on response information. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/departments/deletedepartmentsbycode

DeleteDepartmentsByCodeAsync

This method deletes existing departments by code. It requires the Delete Department permission. It 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.

ApiEmployee

ApiEmployeePublicApiClient
APIMethod NameDescription
POST public-api/employees/createNew

CreateNewEmployeesAsync

This method creates new employees and return employee ids. This will ignore employee numbers already in existence. Requires Create Employee permission. It accepts a maximum of 500 records at a time. Use "Save" to perform operations including both inserts and updates. To create/update addresses please use the API public-api/addresses/employee/save.

POST public-api/employees/updateExisting

UpdateExistingEmployeesAsync

This method updates the existing employees. Every employee will have an employee number. Requires Edit Employee permission. It accepts a maximum of 500 records at a time. Find given a set of employee numbers, update only those records matched in the given set. If there are no matching employees, then no action will be taken. Use "Save" to perform operations including both inserts and updates. To create/update addresses please use the API public-api/addresses/employee/save. In the case of update existing, then only update the columns specified in the request model's ''ApplicableFields'' field. If this field is null/empty then ''all'' fields are assumed to be updateable.

POST public-api/employees/save

SaveEmployeesAsync

This method allows saving the employee details. Requires both Create and Update Employee permission. It accepts a maximum of 500 records at a time. In case the employee does not exist, a new record is created and on creation, it returns the employee ID. 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/employee/save.

POST public-api/employees/delete

DeleteEmployeeModelsAsync

This method is used to delete employees. It takes a list of employee numbers to delete. Requires Delete Employee permission or be an App Admin. It accepts a maximum of 500 records at a time.

POST public-api/employees/search/exact

GetExactEmployeeApiAsync

This method gets the employee that exactly matches the search string in the specified site. Requires Allow Employee permission.

POST public-api/employees/advancedinfosearch

EmployeeModelInfoAdvancedSearchAsync

This method returns a page full of active employees 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) or records to fetch, repeatedly, until you get them all. Requires Allow Employee permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/employees/getemployeesbynumber

GetEmployeesByNumberAsync

This method returns existing employees by number. Requires Allow Employee permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/employees/getemployeesbynumber-v2

GetEmployeesByNumberV2Async

This method returns existing employees by number. Requires Allow Employee permission Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/employees/infosearch

EmployeeModelInfoSearchAsync

This method returns all active employees whose employee number or name contains the specified texts that are entered on the combo box. Requires Allow Employee permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

GET public-api/employees/checkout-status/{EmployeeNumber}

AssetCheckOutStatusAsync

This method returns all of the assets currently checked out to the specified employee. It is optimized for employee number, but can search on employee name. Requires Allow Employee and Allow Asset permission as well as enforces the Role Site and Asset Type security.

POST public-api/employees/saveemployeemodels

SaveEmployeeModelsAsync

A public API created primary for use with our LDAP sync tool. This API takes a list of employees and will update and insert as necessary. Any employees not in the list, but active in the Cloud system will be deleted. Requires, Create, Edit, and Delete Employee permission

POST public-api/employees/savestaffmodels

SaveStaffModelsAsync

A public API created primary for use with our LDAP sync tool. This API takes a list of staff and will update and insert as necessary. Any staff not in the list, but active in the Cloud system will be deleted. Requires, Create, Edit, and Delete Employee permission

ApiFunding

ApiFundingPublicApiClient
APIMethod NameDescription
POST public-api/funding/createFunding

CreateAsync

This method creates one or more new fundings. Requires Create Funding permission, enforces Role Site and Asset Type security when associating assets. Accepts a maximum of 500 records at a time.

POST public-api/funding/updateFunding

UpdateAsync

This method updates the header info of one or more existing fundings. This does not affect the assets associated with the funding. The existing funding is retrieved by calling one of the search APIs. Requires Edit Funding permission. Accepts a maximum of 500 records at a time.

POST public-api/funding/deleteFunding

DeleteFundingsAsync

This method deletes the listed fundings. The existing funding is retrieved by calling one of the search APIs. Requires Delete Funding permission. Accepts a maximum of 500 records at a time.

POST public-api/funding/addFundingAssets

AddAssociatedAssetsAsync

This method is used to add assets to a funding that already exists. Provide the funding name and the assets that need to be added. Requires Edit Funding permission. Accepts a maximum of 500 records at a time.

POST public-api/funding/removeFundingAssets

RemoveAssociatedAssetsAsync

This method is used to remove assets from a funding that already exists. Provide the funding name and the assets that need to be removed. Requires Edit Funding permission. Accepts a maximum of 500 records at a time.

POST public-api/funding/addFundingRestrictedSites

AddRestrictedSitesAsync

This method is used to add restricted sites to a funding that already exists. Provide the funding name and the restricted sites that need to be added. Requires Edit Funding permission. Accepts a maximum of 500 records at a time.

POST public-api/funding/removeFundingRestrictedSites

RemoveRestrictedSitesAsync

This method is used to remove restricted sites from a funding that already exists. Provide the funding name and the restricted sites that need to be removed. Requires Edit Funding permission. Accepts a maximum of 500 records at a time.

POST public-api/funding/search/exactname

GetExactFundingAsync

This method gets the funding that exactly matches the search string. Requires Allow Funding permission, enforces Role Site and Asset Type security when retrieving associated assets and restricted sites.

POST public-api/funding/getfundingsbyname

GetFundingByNameAsync

This method returns existing fundings by name, only the fund details, not the assets and restricted sites. Requires Allow Funding permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

POST public-api/funding/fundinginfosearch

FundingModelHeaderInfoSearchAsync

This method returns all the active fundings whose funding name or description contains the specified texts that are entered. Requires Allow Funding permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

ApiLocations

ApiLocationsPublicApiClient
APIMethod NameDescription
POST public-api/locations/create

CreateAsync

This method creates a new location. The existing location is retrieved by calling one of the searches. 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 not display BatchNumber if it's 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. 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) or 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. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL. It requires the Allow Location permission and access to the Site where the Location is located.

POST public-api/locations/infosearch

LocationModelInfoSearchAsync

This method returns all active locations whose location code or location description matches the location code that is passed in. The site name parameter is optional. It requires the Allow Location permission and 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/deletelocationsbycode

DeleteLocationByCodeAsync

This method deletes existing locations by code. It requires the Delete Location permission and 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.

ApiManufacturers

ApiManufacturersPublicApiClient
APIMethod NameDescription
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. This will ignore the Manufacturer name already in existence. To create/update addresses (instead of ignoring them), please use the API public-api/addresses/manufacturers/save. Use “Save” to perform operations including both inserts and updates.

POST public-api/manufacturers/updateExisting

UpdateExistingAsync

This method updates the existing manufacturers. Every manufacturer will have a manufacturer name. It requires the Edit Manufacturer permission. It accepts a maximum of 500 records at a time. This will not work for manufacturers with unknown manufacturers names. To create/update addresses (instead of ignoring them), please use the API public-api/addresses/manufacturers/save. Use “Save” to perform operations including both inserts and updates.

ApiSites

ApiSitesPublicApiClient
APIMethod NameDescription
POST public-api/sites/create

CreateAsync

This method creates a new site. The existing site is retrieved by calling API function GetSitesByName() or one of the searches. 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 an existing site. 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. TotalRecordsLongCount fields as 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 site that exactly matches the search string. It requires the Allow Site permission and enforces Role Site restriction.

POST public-api/sites/getsitesbyname

GetSitesByNameAsync

This method returns existing sites by name. 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 all active sites whose site name or site description contains the specified texts that are entered on the combo box. It only returns the site name and site description similar to the site drop down controls on the web. It requires the Allow Site permission and enforces Role Site restriction. This method does not provide List of Messages on response information. 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 site by name. It requires the Delete Site permission and enforces Role Site restriction. It 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/sites/deletesitesbynumber

DeleteSitesByNumberAsync

This method deletes existing site by name. It requires the Delete Site permission and enforces Role Site restriction. It 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. This API is obsolete, supersceeded by deletesitesbyname.

ApiSystemInfo

ApiSystemInfoPublicApiClient
APIMethod NameDescription
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

ApiTransactionsPublicApiClient
APIMethod NameDescription
POST public-api/transactions/asset/history

GetTransactionsAsync

Method with paging used to return the transaction history of an asset with optional start and end date parameters Requires the Allow Asset Transaction permission, enforces Role Site and Asset Type security

POST public-api/transactions/grid-query/history-public-api

TransactionHistoryAsync

returns transaction history by the 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. Unique Transaction History Identifiers is the parameter TransactionUniqueIdentitifer from response of api call :public-api/transactions/grid-query/history-public-api

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.

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 Asset Transaction permission, enforces Role Site and Asset Type security

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/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 permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time

POST public-api/transactions/dispose

PublicAssetDisposeAsync

This method disposes the assets that are passed in, both Fixed and Inventory assets. For disposing Fixed Assets, you don’t need to provide the Location or Quantity fields. The UniqueRecordIdentifier is for the client to provide the service with a unique id, that way if the service returns an error, it can associate that error with the UniqueRecordIdentifier (if one is provided) (for example, so you can show the error message on the correct “row” of the grid). Requires the Allow Audit permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time

GET public-api/transactions/dispose/reasons

GetDisposeReasonsAsync

The method returns all active dispose reasons in the system as a simple list of strings Requires the Allow Dispose Reason permission

POST public-api/transactions/public/asset/move

PublicAssetMoveAsync

This method moves the assets that are passed in, both Fixed and Inventory assets. For moving Fixed Assets, you don’t need to provide the from location or quantity fields. Requires the Allow Move permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time

POST public-api/transactions/public/asset/check-out

PublicAssetCheckOutAsync

This method checks out the assets that are passed in, both Fixed and Inventory assets. For checking out Fixed Assets, you don’t need to provide the from location or quantity fields. Requires the Allow Check Out permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time

POST public-api/transactions/public/asset/check-in

PublicAssetCheckInAsync

This method checks in the assets that are passed in, both Fixed and Inventory assets. For checking in Fixed Assets, you don’t need to provide the from location or quantity fields. Requires the Allow Check In permission, enforces Role Site and Asset Type security Accepts a maximum of 500 records at a time

POST public-api/transactions/streamgridrequestcsv

StreamGridRequestCSVAsync

Request transaction history records as a stream of data in a CSV formated stream. If the FieldTitles parameter is null than 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 All of datatime field will not convert to local time,showing UTC(UniversalTime) with format yyyy-MM-dd HH:mm:ssZ

POST public-api/transactions/streamgridrequestarchivecsv

StreamGridRequestArchiveCSVAsync

Request transaction history records as a stream of data in a CSV formated stream. If the FieldTitles parameter is null than 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 All of datatime field will not convert to local time,showing UTC(UniversalTime) with format yyyy-MM-dd HH:mm:ssZ

ApiVendor

ApiVendorPublicApiClient
APIMethod NameDescription
GET public-api/vendors/checkout-status/{VendorNumber}

AssetCheckOutStatusAsync

This method returns all of the assets currently checked out to the specified vendor. It is optimized for vendor numbers but can search on a vendor name. It requires the Allow Check Out and Allow Vendor permission and enforces Role Site and Asset Type security.

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 vendor by number. It requires the Allow Vendor permission. Note: This is a Post API to avoid limitations inherent to passing parameters on the URL.

SystemInfo

SystemInfoPublicApiClient
APIMethod NameDescription
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.