Zoomed Image

The xAssets API

Introduction

There are two ways to execute API calls in xAssets Applications

  • Build a program to embed restful readonly API calls
  • Embed the API accesses within a transformation, and use either a program, a schedule or a menu item within xAssets to invoke the transformation

The option to embed API functionality within transformations requires no programming expertise and does not need to be hosted on a computer, since the programs will exist within your xAssets database, and xAssets Engineers will write the scripts for you. These scripts can still be triggered from an external program.

When using restful calls, all methods automatically route through to one of three interfaces:

  • Command Processor - to "get" data
  • Save - to "save" standard formatted data to tables
  • SaveSpecial - to execute specialized/complex save operations such as asset disposals, asset splits, and to run transformations

One restful call is needed to get an authorization token, and this is then used in subsequent restful calls to get data and run queries from the database. API get commands are listed below.

Using restful calls, you explicitly call the web services interface as follows:

  • Logon - to establish a session and obtain a bearer token
  • CommandProcessor - to get data, settings or XML
  • Save - to save data back to the database - see the save function in the api interface section below
  • SaveSpecial - for specialized save operations such as asset disposal, bulk update and bulk transfer

These methods are described in detail in the API Interface section.

Commonly Used API Methods

This section links to methods which are most commonly used.

Get data from a query or an asset record for editing or creation
Save changed XML data for any record
To run a transformation. Transformations can themselves run any server-side task
To execute a month end depreciation batch and create budgetary depreciation for future periods
To dispose of or transfer a list of assets

Most tasks can be achieved within transformations, which can run on a schedule, a trigger, or be manually launched from any menu item. This includes notifications, emailing reports, imports, exports, data manipulation and integration to other local and cloud applications.

Index of API Get Operations

Get operations are called using the API Interface Function named "CommandProcessor".

AccountingPeriodSetXML
Generate XML for table AccountingPeriodSet
AccountingPeriodXML
Generate XML for table AccountingPeriod
APIKeyXML
Return an XML table of API keys
AssetAuditXML
Generate a table of Asset History information for an asset or a list of assets xAssets stores each instance of an asset record every time it is saved, so a full audit trail exists for the asset in a history table Use this function to query the asset history. You can query for a specific field or for all fields, and over all time or over a specific time frame Any number of Asset table fields can be added to the data
AssetCheckOutXML
Generate the checkout records needed for checking out an asset or a list of assets
AssetDefaultXML
Generate XML for table AssetDefault
AssetDependencyXML
Generate the records needed to display inter-asset dependencies. Note that asset-dependency is also a supported type of query, so this API method is mainly of use to the system for editing AssetDependency records directly.
AssetDepreciationProfileSectXML
Generate XML for table AssetDepreciationProfileSect
AssetDepreciationProfileXML
Generate records for the depreciation profile of an asset. This data determines how the asset will be depreciated in each accounting book.
AssetInsurancePolicyXML
Generate XML for table AssetInsurancePolicy
AssetServiceHistoryDepXML
Generate XML for table AssetServiceHistoryDep
AssetServiceHistoryXML
Generate XML for table AssetServiceHistory
AssetServicePlanXML
Generate XML for table AssetServicePlan
AssetTransactionXML
Generate XML for table AssetTransaction
AssetViewFieldXML
Generate XML for table AssetViewField
AssetViewXML
Generate XML for table AssetView
AssetXML
This function performs multiple actions - Run a query and return the data as an XML table - Create the XML template required for a new asset record - Return the XML for a single asset or a group of assets, for use in editing or bulk update Any query can be run, this function is the primary way to execute a query in an API call, and queries are not restricted to being based on the asset table, but can query any set of tables in the data model All XML is represented in the standardized structure documentelement - records - fields
BookXML
Generate XML for table Book
BudgetXML
Generate XML for table Budget
CategoryBookXML
Generate XML for table CategoryBook
CategoryGroupXML
Generate XML for table CategoryGroup
CategoryXML
Generate XML for table Category
CheckOutStatusXML
Generate XML for table CheckOutStatus
ClaimXML
Generate XML for table Claim
CollectionServerXML
Generate XML for table CollectionServer
CompanyXML
Generate XML for table Company
CostCentreTypeXML
Generate XML for table CostCentreType
CostCentreXML
Generate XML for table CostCentre
CredentialPackXML
Generate XML for table CredentialPack
CurrencyCodeXML
Generate XML for table CurrencyCode
CustodianStatusXML
Generate XML for table CustodianStatus
CustodianXML
Generate XML for table Custodian
DataMappingTypeXML
Generate XML for table DataMappingType
DataMappingXML
Generate XML for table DataMapping
DBTransformScheduleXML
Generate XML for table DBTransformSchedule
DBTransformXML
Generate XML for table DBTransform
DepartmentTypeXML
Generate XML for table DepartmentType
DepartmentXML
Generate XML for table Department
DependencyTypeXML
Generate XML for table DependencyType
DepreciationTableXML
Generate XML for table DepreciationTable
DepreciationTypeXML
Generate XML for table DepreciationType
Disconnect
Disconnects a live session
DocumentObjectUsageXML
Generate XML for table DocumentObjectUsage
DocumentObjectXML
Generate XML for table DocumentObject
ErrorCodeXML
Generate XML for table ErrorCode
ExchangeRateXML
Generate XML for table ExchangeRate
FinancialYearXML
Generate XML for table FinancialYear
GetAPIToken
Build a token that can be embedded in links or emails When used, the token is routed to a.aspx or xpanel.aspx, it will authenticate the user and perform a specific action as specified in Arguments
GetAPITokenForRole
Generate a role token that can be embedded in links or emails When used, the token is routed to a.aspx or xpanel.aspx, it will authenticate the user and perform a specific action as specified in Arguments
GetAssetValueOnTransactionDate
Get the value of an asset on the date of a specified asset transaction record
GetAssetViewFormID
Find the best fit Form (Asset View) to edit a record given a form name match, Asset ID, CategoryID, ServiceTypeID or Subject, or any combination of these
GetCategoryFromAsset
Get the Category of a given asset record
GetFieldLookupAll
Get the default display type and lookup name for the field specified
GetHomeCurrencyValue
Get a converted value at a specified date for the currency provided
GetLastAssetID
Get the Asset ID of the Asset that this user account last inspected or edited
GetLogonNonce
Get the logon nonce which is required to make subsequent requests to the server The nonce can only be retrieved once - subsequent calls will return an empty string (after the nonce time has been retrieved)
GetLogonNonceTime
Get the logon nonce date which is required by some clients to verify that the nonce was retrieved at the right request time The nonce date can only be retrieved once, subsequent calls will return a constant zero date
GetParameters
Get a list of parameters expected in order to run a query or a transformation
GetQueryVariantCount
Get the number of query variants that the specified query has
GetQueryVariantIndex
Get the index of a query variant. Note that passing through "Base Query" will always return zero since by convention the base query of each query in the database is the 0th query variant
GetSpecialOption
Get the value of a special option
GetSpecificationID
Get the specification ID of a specification field
GetSpecificationTypeID
Get the specification type of a specification field
GetTimeZone
Returns the time zone for the currently logged on user. This can be set in useroptions, or if not set, it will default to the time zone of the user's browser
GetUserGroup
Get the usergroup for a given user. If the userID is not provided, the user group of the current user is returned
ImportanceRatingXML
Generate XML for table ImportanceRating
IndexationXML
Generate XML for table Indexation
InsurancePolicyXML
Generate XML for table InsurancePolicy
LeaseXML
Generate XML for table Lease
LicenseCodeXML
Generate XML for table LicenseCode
LocationTypeXML
Generate XML for table LocationType
LocationXML
Generate XML for table Location
LogonGUID
Get the current logged in user's logon guid
LookupAccountingPeriod
Returns a list of accounting periods for use in dropdowns and searches
LookupAccountingPeriodSet
Returns a list of accounting period sets for use in dropdowns
LookupAssetFromCustodian
Returns a list of assets (ID and Asset Description) for a given custodian
LookupAssetHierarchy
Build an XML tree structure of the asset hierarchy determined by parent-child relationships
LookupAssetViewField
Get a lookup list of fields in an Asset View (Form)
LookupAttribute
Lookup any attribute of a table using its ID field
LookupAttributeDictionary
Lookup returns multiple attributes as named value pairs in a dictionary This function should not be used for retrieving queryvariant data
LookupAttributes
Lookup returns multiple attributes as named value pairs in a caret separated string This function should not be used for retrieving queryvariant data
LookupDataMapping
Generate a lookup list of values for a datamapping entity
LookupDescription
Returns the value of a description field for a given ID in any lookup table
LookupID
Returns the value of an ID field for a given description or name in any lookup table
LookupQueryCSV
Execute a query and return its data as a CSV string. In general this is used for queries that return a single field. The values of the first field on each record are concatenated into a CSV string
LookupQueryXML
Execute a query and return its data as a XML string. The values of each field on each record are concatenated into a XML string, each XML node under the document represents a record, and each XML node under each record represents a field
MainMenuCategoryXML
Generate XML for table MainMenuCategory
MainMenuGroupXML
Generate XML for table MainMenuGroup
MainMenuXML
Generate XML for table MainMenu
NominalCodeXML
Generate XML for table NominalCode
NominalGroupXML
Generate XML for table NominalGroup
ObjectPermissionsXML
Generate XML for table ObjectPermissions
PeriodicityXML
Generate XML for table Periodicity
PreloadEnglishQuery
Preloads the english language engine to speed up subsequent queries
ProblemXML
Generate XML for table Problem
ProductClassXML
Generate XML for table ProductClass
ProductFamilyXML
Generate XML for table ProductFamily
ProductMigrationXML
Generate XML for table ProductMigration
ProductSuiteXML
Generate XML for table ProductSuite
ProductTypeXML
Generate XML for table ProductType
PurchaseOrderStatusXML
Generate XML for table PurchaseOrderStatus
PurchaseOrderXML
Generate XML for table PurchaseOrder
ReadAPIToken
Read an API token file and return its contents as JSON Only available to the asp.net web project
SavedSelectFieldXML
Generate XML for table SavedSelectField
SavedSelectXML
Generate XML for table SavedSelect
SaveFile
Saves a file to the pcafiles or userfiles folder depending on its extension.
SaveSpecial
Special case saves that require XML plus an instruction on what to do with or how to save the xml
SaveXML
Save standard form XML back to the database. The XML tag signifies the table name (can be tagged for compression). Only one table can be saved in a single call One or more records can be saved in a single call
ServiceIntervalUnitsXML
Generate XML for table ServiceIntervalUnits
ServicePriorityXML
Generate XML for table ServicePriority
ServiceStatusXML
Generate XML for table ServiceStatus
ServiceTypeXML
Generate XML for table ServiceType
SetOfCompaniesXML
Generate XML for table SetOfCompanies
SoftwareTransactionXML
Generate XML for table SoftwareTransaction
SpecialOptionXML
Generate XML for table SpecialOption
SpecificationTypeXML
Generate XML for table SpecificationType
SpecificationXML
Generate XML for table Specification
StatusXML
Generate XML for table Status
SupplierXML
Generate XML for table Supplier
TransactionTypePostRuleXML
Generate XML for table TransactionTypePostRule
TransactionTypeXML
Generate XML for table TransactionType
UserGroupXML
Generate XML for table UserGroup
UserOptionsXML
Generate XML for table UserOptions
UserSettingsXML
Generate XML for table UserSettings
VerificationTypeXML
Generate XML for table VerificationType
VerificationXML
Generate XML for table Verification
WorkCentreTypeXML
Generate XML for table WorkCentreType
WorkCentreXML
Generate XML for table WorkCentre

Index of Save Special Operations

SaveSpecial operations are specialized save methods called using the Restful API Interface Function named "SaveSpecial". SaveSpecial and Save operations are only available through the restful API from version 7.3.43 or later.

In order to save XML, which was retrieved from a table or API method, and then modified, use the WebSaveXML function.

SpecialAccountingPeriodCreateNew
Create a new accounting period set and financial year based on the XML supplied This is used by the accountingperiodsetnew.aspx page to create a new accounting period set and financial year, and then create the accounting periods for that financial year. The XML is in the form of an AccountingPeriodSetNew XML document
SpecialAccountingProcess
Run a period end depreciation calculation, create journals and close a financial accounting period
SpecialAccountingProcessBatch
Run a special accounting process batch job to change the status of an accounting period set This method is used to change the status of an accounting period set, either to move it forward or backward in the process. The XML passed in contains the parameters for the operation, including the accounting period set ID, from and to statuses, and the direction of the operation.
SpecialAddChildAssetsToList
Recursively add all child assets to a list based on the MovesWithParent flag.
SpecialAddFormFieldsToForm
Add fields from one form to another
SpecialAddQueryFieldsToQuery
Add fields from one query to another
SpecialAssetClone
Clone an Asset. This makes a "deep" copy of an asset record, such that all child information (specification data, devices, software, transactions, service plans, maintenance) is copied.
SpecialAssetDependencyAttachList
Attach a saved list of assets to an asset using a dependency type ID.
SpecialAssetMerge
Merge a list of assets into a single asset. A single asset is selected as the merge target, and the remaining assets in the list are merged onto it
SpecialAssetPOAdd
Add a list of asset records as line items to an existing purchase order
SpecialAssetPOApprove
Approve a list of purchase orders
SpecialAssetPODelete
Remove or delete one or more assets from a purchase order
SpecialAssetPOSetStatus
Set the status of multiple purchase orders in a single call
SpecialAssetReceive
Receive assets into service. This function processes the XML to receive assets and update their status accordingly.
SpecialAssetSaveSpecArray
Save an array of specification values against an asset. This is used for specification types 12 (text array), 13 (lookup array) and 15 (custodian array). For Type 12, the value is a text string. For Type 13, the value is a comma-separated list of SpecificationLookupIDs. For Type 15, the value is a comma-separated list of CustodianIDs.
SpecialAssetServicePlanDelete
Delete service plans from the AssetServicePlan table. This function processes an XML string containing service plan data and deletes the corresponding records.
SpecialAssetSplit
Split one asset into many assets. XML is ignored
SpecialAssetUpdate
Update any single-ID-keyed table in the data model, including the Asset table, with full support for coded business rules in the API layer
SpecialAssetViewClone
Clone an asset view. This function creates a new AssetView based on an existing one, allowing for modifications such as renaming, adding fields, changing groups, and sorting.
SpecialBarcodeAssign
Assign barcodes to a list of assets
SpecialBuildPCADeployment
Create the self extracting DiscoverMyPC and InstallDiscoverMyPC downloads
SpecialBulkDisposal
Dispose of or Transfer a list of assets
SpecialBulkUndispose
Undispose a list of Assets
SpecialBulkUpdate
Bulk update a list of assets with a single piece of Asset XML. This will update only fields with a value specified in the XML, if a field is blank in the XML or absent, it will not be updated in each Asset record.
SpecialBulkUpdateRemoveADPS
Remove a list of Asset Depreciation Profiles from the database. This is used to remove Asset Depreciation Profiles from a list of Assets. It will remove the AssetDepreciationProfile records for the specified Asset IDs.
SpecialCostCentreSave
Save the CostCentre hierarchy. This function processes an XML string representing a CostCentre hierarchy and saves it to the database. It generates XML output for the saved CostCentres.
SpecialCreateQueryFields
Create the fields in a query based on user sql
SpecialDBTransformClone
Clone a Data Transformation record, including its steps and source layout.
SpecialDBTransformRun
Run a transformation. Transformations can perform any tasks including imports, exports, email notifications, data recognition and cleansing, integration to local systems and web services. Transformations can be run on a trigger, on a scheduled batch job or can be started by an application user from a menu item.
SpecialDeleteAPIKey
Delete one or more API keys based on the first 8 characters of the key.
SpecialDeleteExpiredAPIKeys
Delete expired API keys from the database. This function removes API keys that have expired based on their expiration date.
SpecialDeleteRecords
Delete a list of records from a xAssets table, with full respect for coded API business rules
SpecialDepartmentSave
Save the Department hierarchy. This function processes an XML string representing a Department hierarchy and saves it to the database. It generates XML output for the saved Departments.
SpecialDepartmentSave2
Save the Department hierarchy. This function processes an XML string representing a Department hierarchy and saves it to the database. It generates XML output for the saved Departments.
SpecialDeployCategoryBook
Deploy the attributes of an existing category book record to all assets in that category and book. Leaving out the CategoryID will apply to all Categories. Leaving out the BookID will apply to all Books. Leaving out both will update all assets in the system.
SpecialDeployServicePlan
Deploy a service plan to assets based on the provided XML. This function processes the XML to create service plans for assets, categories, or locations.
SpecialDepreciationDeploy
Deploy a special depreciation formula onto assets. This function applies a depreciation profile to assets based on the provided XML configuration. It can handle categories, books, and asset IDs, and applies the specified recovery period and depreciation type.
SpecialDepreciationTableCells
Save a special depreciation table from a CSV table in XML format.
SpecialDisposeUnLicensed
Special function to dispose of over-licensed assets. This function checks for over-licensed assets and returns a list of them for disposal.
SpecialDocumentAttach
Attach documents to a special table. This function processes a list of Asset IDs and Document IDs, and attaches the documents to the specified table. It generates XML output for the attached documents.
SpecialDocumentUsageDelete
Delete document object usage This function processes a list of Asset IDs and deletes the associated document object usage records.
SpecialExchangeRateSave
Save special exchange rates. This function saves exchange rates from an XML string, generating new IDs for each rate and setting temporary end dates. It also updates existing rates if they match the start date and currency code.
SpecialFixAssetDependencies
For each asset which has dependencies in the system, this will self heal such that moves with parent fields are copied to each child asset
SpecialGenerateWorkOrdersLaunch
Generate work orders based on the provided XML parameters. This function processes the XML to generate work orders for assets, categories, or locations.
SpecialGetDocumentFromBlob
Get a document from the BLOB storage. This function retrieves a document from the BLOB storage based on the DocumentObjectID provided in the arguments. It saves the document to a temporary location and returns the path to that document.
SpecialIncidentDelete
Delete incidents from the AssetServiceHistory table. This function processes an XML string containing incident data and deletes the corresponding records. It generates XML output for the deleted incidents.
SpecialIndexationSave
Save special indexation values for categories and financial years. This function processes an XML string containing indexation data and saves it to the database. It generates XML output for the saved indexation values.
SpecialInsuranceRemoveAsset
Remove an asset from an insurance policy. This function checks if the asset is attached to the specified insurance policy and removes it if found. If the asset is not attached, it throws an exception.
SpecialLocationSave
Save the location hierarchy. This function processes an XML string representing a location hierarchy and saves it to the database. It generates XML output for the saved locations.
SpecialLocationSave2
Save the location hierarchy. This function processes an XML string representing a location hierarchy and saves it to the database. It generates XML output for the saved locations.
SpecialLogoffUser
Forcibly log one or more users off, thus freeing connections when the concurrent user licensing model is deployed
SpecialMainMenuCategoryCopy
Copy or move main menu categories to a new main menu group. This function processes a list of main menu category IDs and copies or moves them to a specified main menu group. It generates XML output for the copied or moved main menu categories and their items.
SpecialMainMenuCopy
Copy or move main menu items to a new category. This function processes a list of main menu IDs and copies or moves them to a specified main menu category. It generates XML output for the copied or moved main menu items.
SpecialMainMenuGroupID
Set the main menu group for a user. This function processes an XML string and sets the main menu group for the user.
SpecialPositionDepreciation
SpecialPositionDepreciation is used to set the current accounting period for a given accounting period set based on a specific date. This is typically used to position the depreciation calculation to a specific date within the accounting period set. This should not be used on production instances as it will reset calculations and may invalidate accounts integrity.
SpecialRecogniseSoftware
Recognise a table containing a block of software for recognition
SpecialRefreshCollectionServers
Refresh the CollectionServer table based on the collection servers that are running. This function updates the CollectionServer table to ensure it reflects the current state of collection servers.
SpecialRefreshCredentialPacks
Refresh the CredentialPacks table based on the files in the system area. This function checks for updates to credential packs and updates the database accordingly.
SpecialRemoveADPS
Remove a list of Asset Depreciation Profile Sections from the database. This is used to remove sections from a list of Asset Depreciation Profiles.
SpecialReportCreate
Run any report into a PDF file, and return the path of the PDF file to the caller
SpecialReportSave
Save an existing report's XML to a file. This function saves the provided XML string to a file named after the report name in the reports directory. If the file does not have a ".xml" extension, it appends it.
SpecialResetNextID
Reset the NextID for a table or all tables.
SpecialResetUser
Reset a users permissions. This will execute all sql grant commands needed for the user to have operational access to the sql server database. Although rarely needed, there are situations where the users grants are lost by sql server, this restores the users account where a permission denied error message was raised.
SpecialRestartBatchProcessor
Restart the batch processor.
SpecialSaveCollectionServer
Save a collection server's details. This function saves or updates the details of a collection server in the database. If the collection server does not exist, it creates a new entry; otherwise, it updates the existing one.
SpecialSavedSelectClone
Clone a saved select (query)
SpecialSaveLastSearch
Save the last search XML for a subject. This function updates the SavedSelect table with the provided search XML.
SpecialSavePCAFile
Save a PCA file to the pcanalyser folder.
SpecialSaveSpecialOption
Save an option to the SpecialOption table
SpecialSaveUserFile
Save a user file to the userfiles folder.
SpecialSaveUserMenuStyle
Save the user menu style.
SpecialSaveUserMenuWidth
Save the user menu width. This function updates the user's menu width in the UserOptions table.
SpecialSaveXCSScript
Save an XCS script. This function is used to save XCS scripts in the database.
SpecialSetAccountingPeriodDates
Set the current accounting period and forecast accounting period for the user
SpecialSetHomeCurrency
Set the home currency for the asset system. This function updates various asset-related tables to set the home currency code.
SpecialSetMenuGroup
Set the main menu group (profile) for the current user
SpecialSpecificationCategoryCopy
Copy a specification category from one category to another. This function copies the specification categories from one source category to a target category. It deletes existing categories in the target before copying the new ones.
SpecialSpecificationCategoryMakeSame
Make a specification field have the same categories as another specification field. This function copies the categories from one specification field to another. It deletes existing categories in the target specification before copying the new ones.
SpecialSpecificationLookupListCopy
Copy a specification lookup list from one specification to another. This function copies the lookup list from one specification to another, optionally replacing the existing list. It updates the SpecificationLookup table with the new entries.
SpecialTaskAssetLinkAdd
Add a link between a task and an asset in the ASHDep table
SpecialTaskAssetLinkRemove
Remove a link between a task and an asset in the ASHDep table
SpecialTaskClone
Clone a task. This is used by the client to clone a task
SpecialTaskLinkAdd
Add a link between a task and an incident in the ASHDep table
SpecialTaskLinkRemove
Remove a link between a task and an incident in the ASHDep table
SpecialTaskPOAdd
Add a list of task records as service cost items to an existing purchase order
SpecialTaskPORemove
Detach one or more purchase orders from a parent incident record
SpecialTransactionDelete
Delete special transactions created by the assetxml module. This function deletes asset transactions with a subject ID of 2, which are typically created by the assetxml module.
SpecialUnlockUser
Unlock one or more locked-out users account
SpecialUserGroupClone
Clone a user group and its permissions. This function creates a new user group by cloning an existing one, including its permissions.
SpecialUserGroupPermissions
Grant or deny access to a list of main menu items for a specific user group. This function allows an administrator to set permissions for a user group on specified main menu items.
SpecialVerificationCommitSimple
Commit verification results. This function processes a verification commit, updating asset records based on the provided XML and arguments.
SpecialVerificationHandHeld
Process special verification for handheld devices. This function processes a verification for handheld devices, running a database transformation and handling exceptions.
SpecialVerificationRestart
Restart a verification by deleting the existing verification records. This function deletes the existing verification records for a given VerificationID and resets the status to "NEW".
SpecialVerificationResults
Process special verification results from a scanner. This function processes the verification results from a scanner, updating asset records and handling exceptions.
SpecialWorkCentreSave
Save the WorkCentre hierarchy. This function processes an XML string representing a WorkCentre hierarchy and saves it to the database. It generates XML output for the saved WorkCentres.
SpecialWorkCentreSave2
Save the WorkCentre hierarchy. This function processes an XML string representing a WorkCentre hierarchy and saves it to the database. It generates XML output for the saved WorkCentres.
SpecialXCSRecompile
Recompile the customer XCS script. This function triggers a recompilation of the customer script by saving the XCS code.

Index of API Interface Functions

The example programs provided include the most commonly used interface methods.

HelloWorld
A helper function to test that API connectivity is established
SaveFile
Send a file into either the userfiles folder or the pcafiles folder, depending on its extension
WebCommandProcessorArray
Execute an API command with arguments. Most commands either return a single value, or return a data table in the form of XML
WebLogon
Connect to an xAssets Instance with a Username and Password
WebLogonCollectionServer
Connect a discovery service to an xAssets Instance with a Username and Password
WebSaveSpecial
Execute a SaveSpecial method, optionally with XML data, into the xAssets database for your instance
WebSaveXML
Save XML data into the database Typically an API caller would retrieve data from a get function such as AssetXML, then load the xml string into an XML document object, then edit the data, and finally save the data using this method

Download the Visual Studio API Samples Project