Grouped by symptom, never by module, because the person with the problem does not know which module has it. One hundred questions across ten pages, each answered with the causes in the order they usually turn out to be true.
A custom entity list answers a totalCount but no rows
Published
List custom entity records with the plural identifier: /cdna-api/custom-entities/<plural identifier>. Custom entity routes take the type's identifiers exactly as defined, case included: the plural for a list, the singular for one record and for creating, editing and deleting.
With a properties selector, a list called on the singular still answers 200 with the right totalCount but empty data; without one, the records come back even so. One record on the plural is a 404.
HTTPReal answers from this documentation site's sandbox type
GET /cdna-api/custom-entities/apiSandbox?properties={id} singular for a list
# 200 {"result": "success", "totalCount": 1, "data": []}
GET /cdna-api/custom-entities/apiSandboxes?properties={id} plural: the rows come back
GET /cdna-api/custom-entities/apiSandboxes/2?properties={id} plural for one record
# 404 {"result": "error", "message": "Page or record not found"}
Both identifiers are on the type's definition (GET /cdna-api/custom-entities/definitions). The routes are listed in the Custom Entities reference.