When to use this endpoint

Use Tasks_getDetails to support the legacy batched task cache used by CRM1 and CRM2 headers. It is not a caller-selectable detail API.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler calls the normal login guard but performs no additional task, page, role, ownership, or privacy-permission check.

All rows come from the authenticated tenant. Unless the page says otherwise, IDs, creator, assignee, and privacy do not restrict the result at handler level.

Parameters

ParameterTypeRequiredDescription
idsNative array or JSON arrayYesTask IDs. Every item is integer-coerced. A plain scalar string is rejected rather than treated as one ID.

Example request

$tasks = FM_api('Tasks_getDetails', [
	'ids' => json_encode(['318', '319']),
]);

Example response

[
  {
    "id": "318",
    "client_id": "1042",
    "type": "3",
    "details": "Confirm the site access details.",
    "resolution": "",
    "status": "1",
    "cdate": "2026-09-27 14:05:00",
    "task_type": "Customer follow-up",
    "last_update": "2026-09-28 10:42:16",
    "created_by": "7",
    "assigned_to": "17",
    "subject": "Confirm access details",
    "due_date": "2026-10-02 09:30:00",
    "assigned_date": "2026-09-27 14:05:00"
  }
]

Errors and unusual responses

ResponseCondition
{"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"}ids is absent.
{"error":"invalid parameter: ids"}ids is neither a native array nor a JSON array.
[]No row matches the IDs.

Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.

Behaviour and edge cases

  • The field set is fixed and last_edited is renamed last_update. A missing task-type row leaves task_type null.
  • There is no pagination, ordering, deduplication, privacy, creator, or assignee filter.
  • An empty ID array produces an invalid empty IN expression rather than a deliberate empty response; send at least one ID.

See it in Fieldmotion

CRM1

Open the Tasks page or any legacy component that calls the global taskGet() cache. Requests queued within a short window are combined into Tasks_getDetails.

CRM2

The CRM2 global taskGet() compatibility cache uses the same route. Newer task screens use mapped detail APIs.

Related endpoints

  • Tasks_getById supports selected raw columns and excludes deleted tasks.
  • Task_get retrieves one active task with linked job IDs.