v1

latestOpenAPI 3.1.02026-08-063776831.4 MB
Facility

Find Facility by filter criteria with pagination

Returns a paginated list of all Facilities. Supports both offset-based (page/size) pagination. 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.

get/facilities

Query parameters

delegationStatusstring

Filter by delegation status (Direct or Delegated)

externalIdstring

Filter by external ID

filterstring

Filter criteria as JSON (must be URL encoded). Multiple filters are combined with AND logic.

Filterable Fields:

Credentialing Fields:

  • credentialingCycle (String): Credentialing cycle type - INITIAL or RECREDENTIALING (eq, neq, in, nin, contains)
  • nextCredentialingDate (Date): Next credentialing date in ISO format YYYY-MM-DD (eq, neq, gt, gte, lt, lte, in, nin)
  • credentialingStatus (String): Current credentialing status (eq, neq, in, nin, contains)

User Defined Fields (UDFs):

  • userDefinedFields.* (Dynamic): Any user-defined field stored in data.userDefinedFields object
    • Field Path Format: Use userDefinedFields.{fieldName} or userDefinedFields.{fieldName}.{subfield} for nested fields
    • Important: Clients should use only the userDefinedFields.* format (without data. prefix). The backend automatically transforms userDefinedFields.* to data.userDefinedFields.* internally.
    • Supported Operations (varies by field type):
      • String fields: eq, neq, in, nin, contains
      • Numeric fields: eq, neq, gt, gte, lt, lte, in, nin
      • Array fields: eq, in (checks if array contains the value)
      • Boolean fields: eq, neq
    • Examples: userDefinedFields.market, userDefinedFields.location.region

Other Data Fields:

  • data.* (Any): Any data field (eq, neq, in, nin, contains, gt, gte, lt, lte)

Operations:

  • String: eq, neq, in, nin, contains
  • Date: eq, neq, gt, gte, lt, lte, in, nin
  • Numeric: eq, neq, gt, gte, lt, lte, in, nin
  • Array: eq, in (checks if array contains the value)
  • Boolean: eq, neq

Examples:

Credentialing Filters:

{"credentialingCycle":{"eq":"INITIAL"}}
{"nextCredentialingDate":{"gte":"2025-01-01"}}
{"credentialingStatus":{"eq":"CRED_APPROVED"}}
{"credentialingCycle":{"eq":"INITIAL"},"nextCredentialingDate":{"gte":"2025-01-01","lte":"2025-12-31"}}
{"credentialingStatus":{"in":["CRED_APPROVED","PSV_READY"]},"credentialingCycle":{"eq":"RECREDENTIALING"}}

User Defined Fields (UDFs):

{"userDefinedFields.market":{"eq":"MARKET1"}}
{"userDefinedFields.market":{"in":["MARKET1","MARKET2"]}}
{"userDefinedFields.location.region":{"eq":"NORTH"}}

Note: Clients must use the userDefinedFields.* format (without data. prefix). The backend automatically transforms these to data.userDefinedFields.* internally.

Combined Filters:

{"credentialingStatus":{"eq":"CRED_APPROVED"},"userDefinedFields.market":{"eq":"MARKET1"}}
{"credentialingCycle":{"eq":"INITIAL"},"nextCredentialingDate":{"gte":"2025-01-01"},"userDefinedFields.market":{"in":["MARKET1","MARKET2"]}}

Notes:

  • Filter must be URL encoded when sent as query parameter
  • tenantId from header always takes precedence (cannot be overridden)
  • Credentialing fields are derived from the most recent CRED_APPROVED timeline event
  • Date format must be ISO 8601: YYYY-MM-DD
  • String operations are case-sensitive
  • UDF field names are case-sensitive - use exact field names as stored in your data
  • UDF fields are dynamically supported - any field under userDefinedFields.* can be filtered (use userDefinedFields.* format, not data.userDefinedFields.*)
  • UDF nested fields are supported using dot notation: userDefinedFields.parent.child
lineOfBusinessstring

Filter by line of business (comma-separated list, e.g., MEDICARE,MEDICAID)

namestring

Filter by facility name

npistring

Filter by facility NPI. May contain one or more values for bulk search (copy-paste): separate with comma, newline, tab, semicolon, or space. When one or more NPI values are provided via this parameter, the response includes optional identifiersSearched, matchedCount, notFoundCount, unmatchedIdentifiers. When the query parameter is omitted (standard list request), those fields are null.

pageinteger

Page number for offset-based pagination (0-based index). Defaults to 0 if not specified.

sizeinteger

Number of items per page in offset-based pagination. Defaults to 10 if not specified.

tinstring

Filter by facility TIN

Headers

tenant-idstring

Response

List of Facilities

totalCountinteger
identifiersSearchedinteger
matchedCountinteger
notFoundCountinteger
unmatchedIdentifiersstring[]