---
title: "List medical specialties for a tenant"
method: GET
path: "/specialties"
tags: ["Specialty"]
---

# List medical specialties for a tenant

`GET /specialties`

Returns a page of medical specialty records (platform-defined specialties, not NUCC taxonomy entries) scoped to the calling tenant.

**When to use:** Use this endpoint to populate specialty pickers or to browse available specialties. For a single specialty by ID use `GET /specialties/{id}`; for NUCC taxonomy lookups use `GET /specialties/nuccByTaxonomy/{taxonomyCode}`.

**Preconditions:** Requires the `READ_SPECIALTY` permission. The `tenant-id` header must be supplied on every request.

**Results:** Returns an object with a `totalCount` field and a `data` array of specialty objects. This endpoint currently returns a fixed first page of up to 10 records; `offset`/`limit` query parameters are not exposed. The `name` parameter is accepted but is not currently applied by the service — supplying a value has no effect on the results returned.

## Query parameters

- `name` string

## Headers

- `tenant-id` string, required

## Response `200`

A page of up to 10 specialty records for the tenant, with the total matching count.

- GetSpecialtiesResponse
  - `totalCount` integer
  - `data` SpecialtySchema — Represents the master specialty list, including custom specialties, to include crosswalk between NUCC, HSD, and ABMS Specialties. References the entities for NUCC, HSD, and ABMS specialties.
    - `name` string, required — The name of the specialty.
    - `classificationSource` string, required — The source of the specialty classification (e.g., NUCC, HSD, ABMS).
    - `subspecialtyName` string — The subspecialty name of the specialty.
    - `specialtyCategory` 'Individual' | 'Non-Individual', required — Allowed categories for NUCC Specialty
    - `taxonomyCode` string — The taxonomy code associated with the specialty.
    - `taxonomyDescription` string — The description of the taxonomy code.

## Other responses

- `400` — Invalid request parameters
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
