---
title: "List tool classifications"
method: GET
path: "/v2/organizations/{organization_id}/insights/tool_classifications"
tags: ["tool_classifications"]
---

# List tool classifications

`GET /v2/organizations/{organization_id}/insights/tool_classifications`

## Request

- Base URL: `https://api.hubstaff.com`
- URL: `https://api.hubstaff.com/v2/organizations/{organization_id}/insights/tool_classifications`
- Auth: OAuth 2
  - Authorization code: `https://account.hubstaff.com/authorizations/new`
  - Token URL: `https://account.hubstaff.com/access_tokens` scopes: `hubstaff:read`, `hubstaff:write`
- TypeScript: <https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/docs/v2/organizations/:organization_id/insights/tool_classifications/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a paginated list of Applications or URL sites (one tool_type per request) with their
productivity and category classifications for the given organization.

tool_type is required. Results can be further filtered by name (search), productivity, and job_type.
Use GET /organizations/:id/job_types to discover valid job_type values for this organization.

Pagination is id-based within the chosen tool_type: to get the next page, pass
pagination.next_page_start_id from the previous response as page_start_id.

Requires Owner or Organization Manager role.
Requires the Insights add-on.

## Path parameters

- `organization_id` integer, required

## Query parameters

- `page_start_id` integer
- `page_limit` integer
- `tool_type` 'application' | 'url', required
- `name` string
- `job_type` string
- `productivity` 'core' | 'non_core' | 'unproductive'

## Response `200`

A list of tool classifications

- object
  - `tool_classifications` ToolClassification[]
    - `id` integer, required: Tool ID (Application or URL site ID)
    - `tool_type` string, required: Tool type: application or url
    - `name` string, required: Tool display name
    - `productivity` string, required: Effective productivity: core, non_core, or unproductive
    - `job_type` string, required: Job type for this classification. Null = all.
    - `category` string, required: Category name. Defaults to the tool's empty category ('Uncategorized' for apps, 'Browsing' for URLs) when none set.

## Other responses

- `400`: Invalid parameters
- `401`: Unauthorized
- `403`: API access is only for organizations on an active plan
- `404`: Could not find record
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api.md) - [All operations](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/revisions/c6b90e4e4bdc?raw)
