# Grouped issue counts

Totals for the issues the caller can see, grouped, honouring every filter listIssues honours because it shares the same query builder. A count walking a different predicate than the list beside it would put two numbers on screen that disagree, with neither looking wrong alone.

Exists because a paged list cannot answer "how many". Group headers, board columns and the progress bars on the cycles and projects pages each need a real total per group, and one grouped query serves a whole screen where per-group requests would take one per column.

Each group carries `total` and `done` - both, because a progress bar needs two numbers and fetching them separately would double the requests per bar. `done` counts issues whose state is of the `completed` type.

`key` is always a string, including for priority, which groups on an integer column. A null key is a real group: unassigned, no project, or no cycle. Groups holding no issues are ABSENT rather than zero - the caller knows its own states, projects and cycles and can render those as zero, which the server cannot do for assignees.

Canonical: https://easerix.com/docs/developers/api/tasks/issues/countIssues

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

export default function Layout(props) {
  const { APIPage, OpenAPIPage } = props.components ?? {};
  // "APIPage" is the old name from v10, this allows both for backward compatibility
  const Comp = OpenAPIPage ?? APIPage;
  return (
    <>
      {props.children}
      <Comp document="tasks" operations={[{"path":"/v1/issues/counts","method":"get"}]} />
    </>
  );
}
