Assets
Delete selected assets
/a/Assets_deleteMultiple
Run the same bulk soft-delete implementation as Assets_delete through the CRM2-named route.
When to use this endpoint
Use Assets_deleteMultiple when reproducing CRM2’s archived-asset deletion request. It includes Assets_delete and returns that function’s response unchanged.
Authentication and permissions
The request must authenticate with signed API-key fields or a logged-in CRM session. The handler requires login or an established tenant database context and performs no additional Asset-page or role-permission check unless the page says otherwise.
Every query and write uses the authenticated tenant’s tables. CRM1 and CRM2 may hide actions through client-side permissions that these collection routes do not repeat.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ids | JSON array string | Yes | Asset IDs passed unchanged to Assets_delete. |
force | Integer-compatible | No | Legacy bypass passed through to the shared handler. Omit it for CRM2’s normal archive-then-delete workflow. |
Example request
$result = FM_api('Assets_deleteMultiple', [
'ids' => json_encode(['4821']),
]);
Example response
{
"results": [{"ok": 1}]
}
Errors and unusual responses
| Response | Condition |
|---|---|
{"error":"not logged in"} | No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs. |
{"error":"missing or invalid parameter: ids"} | The key is absent. All other validation and per-ID messages are those of Assets_delete. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- This is a compatibility alias, not a separate bulk algorithm. Partial results, archived-state checks, already-deleted warnings, and
forcebehavior are identical toAssets_delete.
Side effects
- Accepted rows are soft-deleted and receive deletion-log and history entries through the shared handler.
See it in Fieldmotion
CRM1
No direct production CRM1 caller was found; CRM1 calls Assets_delete.
CRM2
Open Assets, select archived rows, and choose Delete Archived Assets. The UI confirms the operation and calls this alias.
Related endpoints
Assets_deletedocuments the complete shared contract.