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

# List perio charts

> **This endpoint is not yet available in production.**

This endpoint retrieves appointments for a specific location.

- The `q[fetch_modified_since]` is used to capture the delta changes, pass the datetime in UTC



## OpenAPI

````yaml https://app.teamcaredental.com/openapi-vendors.json get /locations/{location_id}/patients/{patient_id}/perio_charts
openapi: 3.1.0
info:
  title: TeamCare Vendor API
  version: 1.0.0
  description: Vendor APIs for integrating dental office data. HIPAA-compliant and opt-in.
servers:
  - url: https://app.teamcaredental.com/api/v1/vendors
security:
  - bearerAuth: []
paths:
  /locations/{location_id}/patients/{patient_id}/perio_charts:
    get:
      tags:
        - Perio Charts
      summary: List perio charts
      description: >-
        **This endpoint is not yet available in production.**


        This endpoint retrieves appointments for a specific location.


        - The `q[fetch_modified_since]` is used to capture the delta changes,
        pass the datetime in UTC
      operationId: locations_resources_patients_perio_charts_list
      parameters:
        - name: location_id
          in: path
          required: true
          description: The ID of the location for which patients are to be retrieved.
          schema:
            type: string
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: '1'
                        type:
                          type: string
                          example: perio_chart
                        attributes:
                          type: object
                          properties:
                            patient_id:
                              type: integer
                              example: 3859416
                            provider_id:
                              type:
                                - string
                                - 'null'
                            exam_date:
                              type: string
                              format: date-time
                              example: '2026-07-02T00:00:00.000Z'
                            note:
                              type: string
                              example: test note
                            deleted:
                              type: boolean
                              example: false
                            updated_at:
                              type: string
                              format: date-time
                              example: '2026-07-02T06:17:38.685Z'
                  pagy:
                    type: object
                    properties:
                      total:
                        type: integer
                      items:
                        type: integer
              example:
                data:
                  - id: '1'
                    type: perio_chart
                    attributes:
                      patient_id: 3859416
                      provider_id: null
                      exam_date: '2026-07-02T00:00:00.000Z'
                      note: test note
                      deleted: false
                      updated_at: '2026-07-02T06:17:38.685Z'
                pagy:
                  total: 0
                  items: 0
        '401':
          description: Missing, invalid or expired token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: not authorized
        '403':
          description: The credential may not access this resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: access Denied
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: resource not found
        '422':
          description: The request could not be processed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: ...
        '429':
          description: >-
            Concurrency limit exceeded. The request was not executed; retry is
            safe.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
                  sync_type:
                    type: string
                    enum:
                      - initial
                      - incremental
                  max_concurrent_locations:
                    type: integer
                  active_location_ids:
                    type: array
                    items:
                      type: integer
                  retry_after_seconds:
                    type: integer
              example:
                errors: >-
                  Too many locations syncing concurrently. At most 5 locations
                  may have initial sync requests in flight at a time.
                sync_type: initial
                max_concurrent_locations: 5
                active_location_ids:
                  - 101
                  - 102
                  - 103
                  - 104
                  - 105
                retry_after_seconds: 1
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT returned by POST /auth/token. Valid for six hours.

````