---
title: "Get Classifications"
method: GET
path: "/licenses/{license_id}/classifications"
tags: ["licenses"]
---

# Get Classifications

`GET /licenses/{license_id}/classifications`

## Request

- Base URL: `https://api.licenscheck.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.licenscheck.com/licenses/{license_id}/classifications`
- Auth: none declared

Fetch every trade classification held under a license.

Args:
    license_id: The queried license's internal UUID.
    repo: Injected `LicenseRepository`.

Returns:
    The queried license's id and its classifications, primary first.
    Empty if the ingestion pipeline hasn't populated any for it yet.

Raises:
    LicenseNotFoundError: If no license with that id exists (a 404).

## Path parameters

- `license_id` string, uuid, required

## Response `200`

Successful Response

- LicenseClassificationsOut: Response for GET /licenses/{id}/classifications.
  - `license_id` string, uuid, required: ID of the license whose classifications were queried.
  - `classifications` LicenseClassificationOut[], required: Every trade classification held under this license, primary first.
    - `id` string, uuid, required: Internal UUID identifier for this classification record.
    - `classification_code` string, required: Raw code as given by the state board, e.g. "C-10".
    - `license_type` 'general_contractor' | 'building_contractor' | 'residential_contractor' | 'air_conditioning_contractor' | 'electrical_contractor' | 'roofing_contractor' | 'plumbing_contractor' | 'pool_spa_contractor' | 'mechanical_contractor' | 'sheet_metal_contractor' | 'utility_excavation_contractor' | 'solar_contractor' | 'specialty_contractor' | 'pollutant_storage_contractor' | 'precision_tank_tester' | 'other' | 'unknown', required: Normalized contractor trade category. Each state board has its own raw code vocabulary (e.g. Florida DBPR's "CBC", "RG", ...); each state's ingestion DAG maps its own codes onto this shared vocabulary. Folds a state's "statewide" vs "local" license classes (e.g. FL's Certified vs Registered) into the same category here -- that distinction isn't tracked separately (yet).
    - `is_primary` boolean, required: Whether this was the first-listed classification -- matches the license's own license_type.
    - `delisted_at` string, date-time, nullable, required: When the state board stopped listing this classification on the license, or null while it does.

## Other responses

- `404`: No license with that id exists.
- `422`: Validation Error

---

[API](https://skmtc.dev/licenscheck/apis/licenscheck-api.md) · [All operations](https://skmtc.dev/licenscheck/apis/licenscheck-api/llms.txt) · [OpenAPI document](https://skmtc.dev/licenscheck/apis/licenscheck-api/revisions/472db933f385?raw)
