When to use this endpoint

Use Skill_getRequestedDetails to resolve skill IDs in CRM2 selectors, user assignments, or job details. Use Skills_getDataTable when counts and paging are required.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler performs no additional page or role-permission check.

The lookup and any write use the authenticated tenant; an ID from another tenant cannot be addressed through this call.

Parameters

ParameterTypeRequiredDescription
fieldsNative arrayNoAny of id, name, cdate, lastEdited, and description. Omission selects all; unknown names are ignored; id is always included. JSON array text is not decoded.
id / idsInteger string or native arrayNoOptional ID restriction; id takes precedence. Scalars and members are integer-converted. A present empty native array adds no filter and therefore does not mean “return none.”
name / cdate / lastEdited / descriptionScalar or native arrayNoExact mapped filters. Text/datetime values are trimmed and matched case-insensitively; lastEdited uses integer equality. Arrays become IN filters.
orderMapped name or native arrayNoOrdering by mapped keys. Items can be names or objects such as {"id":"name","dir":"desc"}; exact desc reverses that key.
advanceSearchNative arrayNoShared CRM2 advanced conditions over mapped fields.

Example request

$skills = FM_api('Skill_getRequestedDetails', [
	'id' => ['42', '43'],
	'fields' => ['id', 'name', 'description'],
	'order' => [['id' => 'name', 'dir' => 'asc']],
]);

Example response

[
  {"id": "42", "name": "Electrical testing", "description": "Qualified tester"},
  {"id": "43", "name": "Gas safety", "description": "Certified engineer"}
]

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.
[]No row matches the supplied IDs or filters. Missing IDs are silently omitted.
Runtime warning or type errorfields, order, an ID list, or advanced-search data uses an unsupported scalar shape.

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

Behaviour and edge cases

  • No default order is applied. The skill table has no archived or deleted filter.
  • cdate is mapped as datetime but stored as an integer Unix timestamp in the tenant schema, so the raw numeric database value is returned and exact text filtering can be misleading.
  • Legacy advanced-search objects containing raw where expressions are trusted internal UI input and should not be constructed by third parties.

See it in Fieldmotion

CRM1

A production-source search found no direct browser caller. Server-side job-detail assembly uses this function internally to resolve stored skill IDs to names.

CRM2

Open a user’s Skills editor, the Skills list picker, Users, or job details containing required skills. These flows request selected skill fields through Skill_getRequestedDetails.

Related endpoints