---
title: "Search facilities by filter criteria with pagination"
method: GET
path: "/facilities"
tags: ["Facility"]
---

# Search facilities by filter criteria with pagination

`GET /facilities`

Returns a paginated list of facilities matching the supplied filter criteria. Use this to search or list facilities for a tenant; use GET /facilities/{id} instead when you already know the facility identifier. Supports offset-based pagination via page/size. Search by Roster (CP-35452): the rosterIds query param filters to facilities belonging to one or more selected rosters; combines with other filters using AND logic. Filtering by credentialingCycle, nextCredentialingDate, credentialingStatus, and User Defined Fields (UDFs) is supported through the filter parameter. UDF fields can be filtered using the path format: `data.userDefinedFields.{fieldName}` for simple fields or `data.userDefinedFields.{parent}.{child}` for nested fields.

## Query parameters

- `delegationStatus` string
- `externalId` string
- `filter` string
- `lineOfBusiness` string
- `name` string
- `ncpdpId` string
- `ncpdpIdContains` string
- `npi` string
- `page` integer
- `rosterIds` string
- `size` integer
- `tin` string

## Headers

- `tenant-id` string

## Response `200`

List of Facilities

- PagedResponse
  - `data` unknown[] — The page of results for this request.
    - unknown
  - `totalCount` integer — Total number of records matching the request, across all pages.
  - `identifiersSearched` integer — Count of identifiers submitted for a bulk-identifier search (e.g. bulk NPI search). Omitted/null for standard (non-bulk) list requests.
  - `matchedCount` integer — Count of submitted identifiers that matched a record. Omitted/null for standard (non-bulk) list requests.
  - `notFoundCount` integer — Count of submitted identifiers that did not match any record. Omitted/null for standard (non-bulk) list requests.
  - `unmatchedIdentifiers` string[] — Submitted identifiers that did not match any record. Omitted/null for standard (non-bulk) list requests.

## Other responses

- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `500` — Internal server error

---

[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)
