> ## 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 organization portals available to an authorized patient

> Lists the personal booking link, eligible organization schedules, and visible telehealth waiting rooms for the authorized patient, in that order. Availability depends on the organization subscription and each portal's scheduling and visibility settings. Organization schedules and waiting rooms are ordered by ID. Appointment history does not determine eligibility.



## OpenAPI

````yaml /openapi/nimbo_patient_portal.yml get /api/v1/patient_portal/people/{person_id}/organization_portals
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}/organization_portals:
    get:
      tags:
        - Patient Portal
      summary: List organization portals available to an authorized patient
      description: >-
        Lists the personal booking link, eligible organization schedules, and
        visible telehealth waiting rooms for the authorized patient, in that
        order. Availability depends on the organization subscription and each
        portal's scheduling and visibility settings. Organization schedules and
        waiting rooms are ordered by ID. Appointment history does not determine
        eligibility.
      operationId: listPatientPortalPersonOrganizationPortals
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: integer
          example: 123
      responses:
        '200':
          description: Patient and organization portal links.
          content:
            application/json:
              schema:
                type: object
                required:
                  - organization_portals
                additionalProperties: false
                properties:
                  organization_portals:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          description: >-
                            The selected account's personal booking link.
                            Historical consultation physicians are not
                            aggregated here. Returned only when the account
                            username and schedule configuration are present and
                            use_portal is true, with a missing use_portal value
                            defaulting to true.
                          required:
                            - name
                            - value
                            - url
                          additionalProperties: false
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                              enum:
                                - personalPortal
                            url:
                              type: string
                              example: https://patients.example.test/c/demo-doctor
                        - type: object
                          description: >-
                            Clinic or group scheduling link that has its own
                            non-empty slug and passed both API-owned visibility
                            predicates. Eligibility does not depend on the
                            organization's main/default schedule or on another
                            portal category. The complete stored configuration
                            remains in the payload.
                          required:
                            - name
                            - value
                            - url
                            - configuration
                          additionalProperties: false
                          properties:
                            name:
                              type: string
                              example: Main portal
                            value:
                              type: string
                              pattern: ^organizationPortal[1-9][0-9]*$
                              example: organizationPortal1
                            url:
                              type: string
                              example: https://patients.example.test/op/demo-main
                            configuration:
                              type: object
                              description: >-
                                Stored schedule configuration. Returned entries
                                have public_scheduling_enabled true or missing
                                and show_in_web_app_patient exactly true.
                              additionalProperties: true
                        - type: object
                          description: >-
                            An active telehealth WaitingRoom returned when the
                            room has a non-empty slug and its own configuration
                            has show_in_web_app_patient exactly true, in
                            addition to the organization Agenda Pro
                            subscription. The released feature no longer depends
                            on telehealth_waiting_room Flipper state.
                            waiting_room_accounts describes room operators and
                            does not authorize patient visibility. The room's
                            stored name and slug produce the display name and
                            URL.
                          required:
                            - name
                            - value
                            - url
                          additionalProperties: false
                          properties:
                            name:
                              type: string
                              example: Teleconsulta sin cita
                            value:
                              type: string
                              enum:
                                - waitingRoom
                            url:
                              type: string
                              example: https://patients.example.test/o/demo-video
        '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.

````