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

# List authorized patient consultation schedules



## OpenAPI

````yaml /openapi/nimbo_patient_portal.yml get /api/v1/patient_portal/people/{person_id}/consultation_schedules
openapi: 3.1.0
info:
  title: Nimbo patient portal
  version: 1.0.0
  description: >-
    Nimbo API reference. Use the API host and integration access provided by
    Nimbo.
servers:
  - url: https://api.example.test
security: []
tags:
  - name: Patient Portal
  - name: Patient portal authentication
paths:
  /api/v1/patient_portal/people/{person_id}/consultation_schedules:
    get:
      tags:
        - Patient Portal
      summary: List authorized patient consultation schedules
      operationId: listPatientPortalPersonConsultationSchedules
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: integer
          example: 123
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
          example: 1
        - name: per_page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 10
          example: 10
        - name: state
          in: query
          required: false
          schema:
            type: string
            enum:
              - unstarted
          example: unstarted
      responses:
        '200':
          description: >-
            Paginated non-deleted upcoming schedules ordered by starts_at
            ascending, or descending for state=unstarted.
          content:
            application/json:
              schema:
                type: object
                required:
                  - consultation_schedules
                  - meta
                additionalProperties: false
                properties:
                  consultation_schedules:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - cause
                        - starts_at
                        - ends_at
                        - doctor_name
                        - doctor_image
                        - organization_name
                        - patient_name
                        - schedule_type
                        - status
                        - can_confirm_schedule
                        - can_cancel_schedule
                        - doctor_speciality
                        - doctor_speciality_es
                        - doctor_speciality_en
                      additionalProperties: false
                      properties:
                        id:
                          type: integer
                        cause:
                          type:
                            - string
                            - 'null'
                        starts_at:
                          type:
                            - string
                            - 'null'
                          format: date-time
                        ends_at:
                          type:
                            - string
                            - 'null'
                          format: date-time
                        doctor_name:
                          type:
                            - string
                            - 'null'
                        doctor_image:
                          type: string
                        organization_name:
                          type:
                            - string
                            - 'null'
                        patient_name:
                          type: string
                        schedule_type:
                          type:
                            - string
                            - 'null'
                        status:
                          type:
                            - string
                            - 'null'
                        can_confirm_schedule:
                          type: boolean
                        can_cancel_schedule:
                          type: boolean
                        doctor_speciality:
                          type:
                            - string
                            - 'null'
                        doctor_speciality_es:
                          type:
                            - string
                            - 'null'
                        doctor_speciality_en:
                          type:
                            - string
                            - 'null'
                  meta:
                    type: object
                    required:
                      - total_pages
                    additionalProperties: false
                    properties:
                      total_pages:
                        type: integer
        '401':
          description: Missing, expired, invalid, or unauthorized patient portal token.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                additionalProperties: false
                properties:
                  error:
                    type: string
              examples:
                unauthorized:
                  value:
                    error: Unauthorized
        '404':
          description: >-
            The requested resource was not found or is outside the authorized
            patient scope.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                additionalProperties: false
                properties:
                  error:
                    type: string
              examples:
                not_found:
                  value:
                    error: Not found
      security:
        - PatientPortalToken: []
components:
  securitySchemes:
    PatientPortalToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Patient portal JWT accepted either as a raw Authorization header value
        or as a Bearer token for client compatibility.

````