> ## Documentation Index
> Fetch the complete documentation index at: https://docs.silnahealth.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Procedure Groups



## OpenAPI

````yaml get /public/v1/procedure-groups/
openapi: 3.0.2
info:
  title: Silna Public API
  version: '1.0'
servers:
  - url: https://app.silnahealth.com/api
security:
  - bearerAuth: []
paths:
  /public/v1/procedure-groups/:
    get:
      tags:
        - V1ProcedureGroupsResource
      summary: Get Procedure Groups
      operationId: V1ProcedureGroupsResource.get
      parameters:
        - in: query
          name: starting_after
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: ending_before
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: limit
          required: false
          schema:
            type: integer
        - in: query
          name: provider_id
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: mso_id
          required: false
          schema:
            format: uuid
            type: string
        - in: query
          name: specialty
          required: false
          schema:
            $ref: '#/components/schemas/PublicSpecialty'
        - in: query
          name: cpt_codes
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeysetPaginatedResponse__V1ProcedureGroup'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
                description: The maximum number of requests allowed in the time window
            X-RateLimit-Remaining:
              schema:
                type: integer
                description: The number of requests remaining in the current time window
            X-RateLimit-Reset:
              schema:
                type: integer
                description: The time when the rate limit will reset, in Unix timestamp
            Retry-After:
              schema:
                type: number
                description: The number of seconds to wait before making another request
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
                description: The maximum number of requests allowed in the time window
            X-RateLimit-Remaining:
              schema:
                type: integer
                description: The number of requests remaining in the current time window
            X-RateLimit-Reset:
              schema:
                type: integer
                description: The time when the rate limit will reset, in Unix timestamp
            Retry-After:
              schema:
                type: number
                description: The number of seconds to wait before making another request
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
                description: The maximum number of requests allowed in the time window
            X-RateLimit-Remaining:
              schema:
                type: integer
                description: The number of requests remaining in the current time window
            X-RateLimit-Reset:
              schema:
                type: integer
                description: The time when the rate limit will reset, in Unix timestamp
            Retry-After:
              schema:
                type: number
                description: The number of seconds to wait before making another request
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectNotFoundError'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
                description: The maximum number of requests allowed in the time window
            X-RateLimit-Remaining:
              schema:
                type: integer
                description: The number of requests remaining in the current time window
            X-RateLimit-Reset:
              schema:
                type: integer
                description: The time when the rate limit will reset, in Unix timestamp
            Retry-After:
              schema:
                type: number
                description: The number of seconds to wait before making another request
        '429':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsError'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
                description: The maximum number of requests allowed in the time window
            X-RateLimit-Remaining:
              schema:
                type: integer
                description: The number of requests remaining in the current time window
            X-RateLimit-Reset:
              schema:
                type: integer
                description: The time when the rate limit will reset, in Unix timestamp
            Retry-After:
              schema:
                type: number
                description: The number of seconds to wait before making another request
components:
  schemas:
    PublicSpecialty:
      type: string
      enum:
        - PHYSICAL_THERAPY
        - ABA_THERAPY
        - SPEECH_THERAPY
        - OCCUPATIONAL_THERAPY
        - PSYCHOLOGICAL_TESTING
        - HOME_HEALTH_CARE
        - HOSPICE
        - CARDIAC_REHABILITATION
        - INTENSIVE_CARDIAC_REHABILITATION
        - MENTAL_HEALTH
        - PRINCIPAL_ILLNESS_NAVIGATION
        - PRINCIPAL_CARE_MANAGEMENT
        - ADVANCED_PRIMARY_CARE_MODELS
        - PREVENTATIVE_HEALTH
        - PARTIAL_HOSPITALIZATION_PROGRAM
        - INTENSIVE_OUTPATIENT_PROGRAM
        - INTERVENTIONAL_RADIOLOGY
        - VASCULAR_SURGERY
        - INTERVENTIONAL_CARDIOLOGY
        - ORTHOPEDICS
        - CHIROPRACTIC
        - GYNECOLOGY
        - LONG_TERM_CARE
        - NUTRITIONAL_COUNSELING
        - PHYSICAL_MEDICINE
        - PULMONARY_REHABILITATION
        - INJECTABLE_SPECIALTY_MEDICATIONS
        - ALLERGY_TESTING
        - SKILLED_NURSING
        - RADIOLOGY
        - OTOLARYNGOLOGY
        - DURABLE_MEDICAL_EQUIPMENT
        - DERMATOLOGY
        - PROFESSIONAL_OFFICE_VISIT
        - PSYCHIATRY
        - PRIVATE_DUTY_NURSING
      x-folder: specialty
    KeysetPaginatedResponse__V1ProcedureGroup:
      properties:
        has_more:
          title: Has More
          type: boolean
        records:
          items:
            $ref: '#/components/schemas/V1ProcedureGroup'
          title: Records
          type: array
        first_id:
          default: null
          title: First Id
          nullable: true
          format: uuid
          type: string
        last_id:
          default: null
          title: Last Id
          nullable: true
          format: uuid
          type: string
      required:
        - has_more
        - records
      title: KeysetPaginatedResponse[V1ProcedureGroup]
      type: object
      x-folder: null
    ValidationError:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Human readable error message
      x-folder: null
    AuthenticationError:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Human readable error message
        type:
          $ref: '#/components/schemas/PublicApiErrorType'
      x-folder: null
    ObjectNotFoundError:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Human readable error message
      x-folder: null
    TooManyRequestsError:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Human readable error message
      x-folder: null
    V1ProcedureGroup:
      properties:
        id:
          description: Procedure Group ID
          format: uuid
          title: Id
          type: string
        name:
          description: Procedure Group Name
          title: Name
          type: string
        specialty:
          $ref: '#/components/schemas/PublicSpecialty'
          description: Specialty the procedure group is configured for
        cpt_codes:
          description: CPT codes in the procedure group
          items:
            type: string
          title: Cpt Codes
          type: array
          example:
            - - '97110'
              - '97140'
      required:
        - id
        - name
        - specialty
        - cpt_codes
      title: V1ProcedureGroup
      type: object
      x-folder: public_api
    PublicApiErrorType:
      type: string
      enum:
        - AUTH_INVALID_REQUEST_HEADER
        - AUTH_INVALID_CREDENTIALS
      x-folder: null
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````