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

# List accessible organizations and practices

> Returns the organizations, regions, and practices available to the authenticated account. Organizations contain practices. Regions are optional, overlapping groupings of practices rather than an intermediate parent level. The response uses three flat arrays: associate regions and practices with organizations through `organization_id`, and associate each practice with every region ID in `region_practices`. Arrays may be empty when the account has access only at another scope. Use returned practice IDs in practice-scoped API requests. Supply at most one of `organization_id`, `region_ids`, or `practice_ids`.



## OpenAPI

````yaml /openapi/peerlogic-api.json get /api/org-hierarchy/
openapi: 3.1.0
info:
  title: Peerlogic API
  version: 1.0.0
  description: >-
    Customer-facing API reference for accessing Peerlogic calls, insights,
    conversations, tasks, opportunities, subscriptions, and events.
servers:
  - url: https://api.prod.peerlogic.com
    description: Production
security: []
tags:
  - name: Authentication
    description: Obtain an access token for authenticated API requests.
  - name: Call insights
    description: Call records and aggregate performance insights.
  - name: Transcripts
    description: Transcripts, summaries, sentiment, pauses, and call-purpose details.
  - name: Aimee
    description: Aimee activity, configuration, and performance insights.
  - name: Conversations
    description: Conversation records, messages, and conversation actions.
  - name: Tasks
    description: Customer tasks and task workflow actions.
  - name: Opportunities
    description: Opportunities and follow-up reporting.
  - name: Subscriptions and events
    description: >-
      Create and manage event subscriptions, then inspect event records and
      analytics. For the complete webhook delivery flow, see the Webhooks and
      subscriptions guide.
  - name: Organizations and practices
    description: >-
      Discover the organizations and practices available to the authenticated
      account.
  - name: Contacts and patients
    description: Find contacts and patients for caller recognition and related workflows.
  - name: Appointments
    description: Retrieve appointment history and upcoming appointments for a patient.
  - name: Messaging
    description: Send practice messages, including missed-call recovery outreach.
  - name: Call recordings
    description: Retrieve recording metadata and secure audio URLs for calls.
paths:
  /api/org-hierarchy/:
    parameters: []
    get:
      tags:
        - Organizations and practices
      summary: List accessible organizations and practices
      description: >-
        Returns the organizations, regions, and practices available to the
        authenticated account. Organizations contain practices. Regions are
        optional, overlapping groupings of practices rather than an intermediate
        parent level. The response uses three flat arrays: associate regions and
        practices with organizations through `organization_id`, and associate
        each practice with every region ID in `region_practices`. Arrays may be
        empty when the account has access only at another scope. Use returned
        practice IDs in practice-scoped API requests. Supply at most one of
        `organization_id`, `region_ids`, or `practice_ids`.
      operationId: org_hierarchy_list
      parameters:
        - name: organization_id
          in: query
          description: >-
            Return the accessible hierarchy for this organization. Do not
            combine with `region_ids` or `practice_ids`.
          required: false
          schema:
            type: string
        - name: region_ids
          in: query
          description: >-
            Return the accessible hierarchy for one or more regions. Repeat the
            parameter for multiple IDs. Do not combine with `organization_id` or
            `practice_ids`.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: practice_ids
          in: query
          description: >-
            Return one or more accessible practices and their available
            hierarchy context. Repeat the parameter for multiple IDs. Do not
            combine with `organization_id` or `region_ids`.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: >-
            The accessible organization, region, and practice hierarchy. Each
            array contains only resources visible to the authenticated account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationHierarchy'
        '400':
          description: >-
            The request is invalid, including when more than one hierarchy
            filter family is supplied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              example:
                field_error: >-
                  exactly one of the parameters among organization_id,
                  region_ids, and practice_ids should be specified.
        '401':
          description: Authentication is required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
              example:
                detail: '''Authorization'' header is required'
        '403':
          description: >-
            The authenticated user does not have access to the requested
            practice or resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionError'
              example:
                message: No permissions assigned to permit access to this endpoint.
      security:
        - bearerAuth: []
components:
  schemas:
    OrganizationHierarchy:
      type: object
      description: >-
        The organizations, regions, and practices visible to the authenticated
        account. Organizations contain practices. Regions are optional,
        many-to-many groupings of practices, not an intermediate parent level.
        The arrays are flat and can be associated through their identifier
        fields.
      required:
        - data
      properties:
        data:
          type: object
          description: >-
            Accessible hierarchy resources. Any array can be empty when the
            account does not have access at that hierarchy level.
          required:
            - organization
            - regions
            - practices
          properties:
            organization:
              type: array
              description: >-
                Organizations visible to the authenticated account. The property
                name is singular, but its value is an array.
              items:
                type: object
                description: A top-level customer organization.
                required:
                  - id
                  - name
                  - view
                  - manage
                properties:
                  id:
                    type: string
                    description: Unique organization ID.
                    example: org_123
                    readOnly: true
                  name:
                    type: string
                    description: Organization name.
                    example: Example Veterinary Group
                    readOnly: true
                  view:
                    type: boolean
                    description: >-
                      Whether the account has view-level access at the
                      organization level.
                    example: true
                    readOnly: true
                  manage:
                    type: boolean
                    description: >-
                      Whether the account has management-level access at the
                      organization level.
                    example: false
                    readOnly: true
            regions:
              type: array
              description: >-
                Practice groupings visible to the authenticated account. Regions
                are optional and can overlap: a practice can belong to no
                regions, one region, or multiple regions.
              items:
                type: object
                description: A named grouping of practices within an organization.
                required:
                  - id
                  - name
                  - organization_id
                  - view
                  - manage
                properties:
                  id:
                    type: string
                    description: Unique region ID.
                    example: region_west
                    readOnly: true
                  name:
                    type: string
                    description: Region name.
                    example: West
                    readOnly: true
                  organization_id:
                    type: string
                    description: ID of the organization that contains this region.
                    example: org_123
                    readOnly: true
                  view:
                    type: boolean
                    description: >-
                      Whether the account has view-level access at the region
                      level.
                    example: true
                    readOnly: true
                  manage:
                    type: boolean
                    description: >-
                      Whether the account has management-level access at the
                      region level.
                    example: false
                    readOnly: true
            practices:
              type: array
              description: >-
                Practice locations visible to the authenticated account. Use
                each practice `id` in practice-scoped API requests.
              items:
                type: object
                description: A customer practice or location.
                required:
                  - id
                  - name
                  - organization_id
                  - region_practices
                  - view
                  - manage
                  - direct
                properties:
                  id:
                    type: string
                    description: Unique practice ID.
                    example: practice_phoenix
                    readOnly: true
                  name:
                    type: string
                    description: Practice name.
                    example: Example Veterinary Group - Phoenix
                    readOnly: true
                  organization_id:
                    type: string
                    description: ID of the organization that contains this practice.
                    example: org_123
                    readOnly: true
                  region_practices:
                    type: array
                    description: >-
                      Every region ID that includes this practice. The array is
                      empty when the practice is not assigned to a region and
                      can contain multiple IDs.
                    items:
                      type: string
                    example:
                      - region_west
                      - region_pilot
                    readOnly: true
                  view:
                    type: boolean
                    description: >-
                      Whether the account has view-level access to the practice,
                      directly or through a parent organization or region.
                    example: true
                    readOnly: true
                  manage:
                    type: boolean
                    description: >-
                      Whether the account has management-level access to the
                      practice, directly or through a parent organization or
                      region.
                    example: false
                    readOnly: true
                  direct:
                    type: boolean
                    description: >-
                      Whether access to this practice is assigned directly at
                      the practice level rather than through an organization or
                      region.
                    example: false
                    readOnly: true
      example:
        data:
          organization:
            - id: org_123
              name: Example Veterinary Group
              view: true
              manage: false
          regions:
            - id: region_west
              name: West
              organization_id: org_123
              view: true
              manage: false
            - id: region_pilot
              name: Pilot practices
              organization_id: org_123
              view: true
              manage: false
          practices:
            - id: practice_phoenix
              name: Example Veterinary Group - Phoenix
              organization_id: org_123
              region_practices:
                - region_west
                - region_pilot
              view: true
              manage: false
              direct: false
    ValidationError:
      title: Validation error
      type: object
      additionalProperties: true
      description: Validation details keyed by the invalid field or grouped under `errors`.
    AuthenticationError:
      title: Authentication error
      type: object
      additionalProperties: true
      required:
        - detail
      properties:
        detail:
          type: string
          description: Why authentication failed.
    PermissionError:
      title: Permission error
      type: object
      additionalProperties: false
      required:
        - message
      properties:
        message:
          type: string
          description: Why access was denied.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token issued by Peerlogic.

````

## Related topics

- [Organization, practice, and resource IDs](/concepts/organizations-and-practices.md)
- [List organizations](/peerlogic-api-reference/organizations-and-practices/list-organizations.md)
- [List practices](/peerlogic-api-reference/organizations-and-practices/list-practices.md)
- [List answered calls](/peerlogic-api-reference/call-insights/list-answered-calls.md)
- [List regions](/peerlogic-api-reference/organizations-and-practices/list-regions.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.