API REFERENCE

Assets API

An asset is a piece of hardware you support — a workstation, server, network device, printer, or mobile device — tied to a client. Use this API to register assets, keep them on a maintenance schedule, map how they relate, and drive RMM actions from your own tools.

Register an asset

POST /assets needs five fields: client_id, an asset_type of workstation, network_device, server, mobile_device, printer, or unknown, an asset_tag you assign, name, and status. Serial number, location, and warranty dates are optional.

curl
curl https://algapsa.com/api/v1/assets \
  -H "X-API-Key: $ALGA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "cl_3f9a2c",
    "asset_type": "workstation",
    "asset_tag": "WS-0481",
    "name": "Reception desk PC",
    "status": "active",
    "serial_number": "5CD1234XYZ",
    "warranty_end_date": "2027-08-01"
  }'

Maintenance and relationships

Each asset carries its own maintenance log. List schedules with GET /assets/{id}/maintenance, add one with POST /assets/{id}/maintenance, and log work that actually happened with POST /assets/{id}/maintenance/record; past work reads back from GET /assets/{id}/history. To model how hardware connects — a laptop docked to a monitor, a VM on a host — use POST /assets/{id}/relationships. Documents attach through POST /assets/{id}/documents.

RMM actions

When an asset is connected to an RMM agent, you can act on it remotely: POST /assets/{id}/rmm/reboot, POST /assets/{id}/rmm/script to run a script, and POST /assets/{id}/rmm/refresh to pull current state. Read installed software from GET /assets/{id}/software and a rollup from GET /assets/{id}/summary.

Endpoints

Every endpoint links through to its full parameters, request and response schemas, and code samples.

GET/api/v1/assetsAlgaPSAList assetsPOST/api/v1/assetsAlgaPSACreate assetGET/api/v1/assets/{id}AlgaPSAGet asset detailsPUT/api/v1/assets/{id}AlgaPSAUpdate assetDELETE/api/v1/assets/{id}AlgaPSADelete assetGET/api/v1/assets/{id}/documentsAlgaPSAList asset document associationsPOST/api/v1/assets/{id}/documentsAlgaPSAAssociate document with assetGET/api/v1/assets/{id}/historyAlgaPSAList asset maintenance historyGET/api/v1/assets/{id}/maintenanceAlgaPSAList asset maintenance schedulesPOST/api/v1/assets/{id}/maintenanceAlgaPSACreate asset maintenance schedulePOST/api/v1/assets/{id}/maintenance/recordAlgaPSARecord asset maintenanceGET/api/v1/assets/{id}/notesAlgaPSAGET v1PUT/api/v1/assets/{id}/notesAlgaPSAPUT v1DELETE/api/v1/assets/{id}/notesAlgaPSADELETE v1GET/api/v1/assets/{id}/relationshipsAlgaPSAList asset relationshipsPOST/api/v1/assets/{id}/relationshipsAlgaPSACreate asset relationshipGET/api/v1/assets/{id}/rmmAlgaPSAGET v1POST/api/v1/assets/{id}/rmm/rebootAlgaPSAPOST v1POST/api/v1/assets/{id}/rmm/refreshAlgaPSAPOST v1GET/api/v1/assets/{id}/rmm/remote-controlAlgaPSAGET v1POST/api/v1/assets/{id}/rmm/scriptAlgaPSAPOST v1GET/api/v1/assets/{id}/softwareAlgaPSAGET v1GET/api/v1/assets/{id}/summaryAlgaPSAGET v1PUT/api/v1/assets/bulk-statusAlgaPSABulk update asset statusPUT/api/v1/assets/bulk-updateAlgaPSABulk update assetsDELETE/api/v1/assets/documents/{associationId}AlgaPSARemove asset document associationGET/api/v1/assets/exportAlgaPSAExport assetsPUT/api/v1/assets/maintenance/{scheduleId}AlgaPSAUpdate asset maintenance scheduleDELETE/api/v1/assets/maintenance/{scheduleId}AlgaPSADelete asset maintenance scheduleDELETE/api/v1/assets/relationships/{relationshipId}AlgaPSADelete asset relationshipGET/api/v1/assets/searchAlgaPSASearch assetsGET/api/v1/assets/statsAlgaPSAGet asset statistics