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

# List operator tenants

> Lists every tenant the authenticated operator is a member of, with each
tenant's full settings — what backs the tenant switcher after login.

The result is scoped by the caller's identity, which is also what decides
which `:tenantID` the rest of the API will accept from them. Superusers are
**not** exempt — they get the tenants they belong to, not every tenant on
the platform.

`search` narrows the list by tenant name. With `infiniteScroll=true` the
response is paginated (`page`/`perPage`), carries a `meta` block and
returns HTTP 206 instead of 200 when more pages are available. Without it
the full list is returned, as it always was.



## OpenAPI

````yaml /api/services-api.yaml get /v1/tenants
openapi: 3.0.3
info:
  description: >-
    Talqui is an omnichannel customer service platform that unifies
    conversations from WhatsApp, Instagram, Telegram, and many other channels
    into a single attendant panel, alongside a broader ecosystem of plugins and
    integrations. This API gives developers programmatic access to Talqui's
    services layer, exposing the operations needed to read and manage tenants,
    conversations, plugins, and related resources that power that platform.


    Authentication is available on behalf of an Operator (the default for this
    API), a Plugin Connection, or a Plugin — see the [Talqui authentication
    guide](https://docs.talqui.chat/guides/introduction/authentication/) for how
    each token is obtained and when to use it.


    Need help or have questions not covered here? Reach out to
    support@talqui.com.
  license:
    name: ISC
    url: https://opensource.org/license/isc-license-txt
  title: Talqui - Services API
  version: 0.69.1
servers:
  - description: Production
    url: https://services-api.talqui.chat
security: []
tags:
  - name: Tenants
  - name: Settings
  - name: Analytics/Reports
  - name: Analytics
  - name: Campaigns
  - name: Campaigns/Models
  - name: Contacts
  - name: Contacts/Imports
  - name: Handoff links
  - name: Inboxes
  - name: Messages
  - name: Notifications
  - name: Sessions
  - name: Operators/Shortcuts
  - name: Operators
  - name: Plugins
  - name: Setup
  - name: Uploads
paths:
  /v1/tenants:
    get:
      tags:
        - Tenants
      summary: List operator tenants
      description: >-
        Lists every tenant the authenticated operator is a member of, with each

        tenant's full settings — what backs the tenant switcher after login.


        The result is scoped by the caller's identity, which is also what
        decides

        which `:tenantID` the rest of the API will accept from them. Superusers
        are

        **not** exempt — they get the tenants they belong to, not every tenant
        on

        the platform.


        `search` narrows the list by tenant name. With `infiniteScroll=true` the

        response is paginated (`page`/`perPage`), carries a `meta` block and

        returns HTTP 206 instead of 200 when more pages are available. Without
        it

        the full list is returned, as it always was.
      operationId: ListOperatorTenantsController
      parameters:
        - in: query
          name: search
          required: false
          schema:
            description: Case-insensitive match against the tenant name.
            maxLength: 120
            minLength: 1
            type: string
        - in: query
          name: infiniteScroll
          required: false
          schema:
            default: 'false'
            description: >-
              `true` returns one page plus `meta`; `false` (default) returns
              every matching tenant.
            enum:
              - 'true'
              - 'false'
            type: string
        - in: query
          name: page
          required: false
          schema:
            default: 1
            description: 1-indexed page number. Only read when `infiniteScroll=true`.
            maximum: 9007199254740991
            minimum: 1
            type: integer
        - in: query
          name: perPage
          required: false
          schema:
            default: 10
            description: Tenants per page (max 50). Only read when `infiniteScroll=true`.
            maximum: 50
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    additionalProperties: false
                    properties:
                      tenants:
                        description: Tenants the authenticated operator belongs to.
                        items:
                          additionalProperties: false
                          properties:
                            createdAt:
                              description: When the tenant was created.
                              format: date-time
                              type: string
                            createdBy:
                              description: Operator who created the tenant.
                              type: string
                            lastSignInAt:
                              description: When somebody last signed in to this tenant.
                              format: date-time
                              nullable: true
                              type: string
                            organizationID:
                              description: The Talqui organization this tenant belongs to.
                              type: string
                            ownerID:
                              description: The operator who owns the tenant.
                              type: string
                            subscriptionID:
                              description: Billing subscription, when the tenant has one.
                              nullable: true
                              type: string
                            tenantDescription:
                              description: Free-text description.
                              type: string
                            tenantID:
                              description: The tenant identifier.
                              type: string
                            tenantLogo:
                              description: Logo URL, when set.
                              nullable: true
                              type: string
                            tenantMeta:
                              additionalProperties: {}
                              description: Arbitrary metadata attached to the tenant.
                              type: object
                            tenantName:
                              description: Display name.
                              type: string
                            tenantOperatorRoles:
                              additionalProperties: false
                              description: Role groups inside the tenant.
                              properties:
                                managers:
                                  description: >-
                                    Operators holding the manager role in this
                                    tenant.
                                  items:
                                    type: string
                                  type: array
                                owners:
                                  description: >-
                                    Operators holding the owner role in this
                                    tenant.
                                  items:
                                    type: string
                                  type: array
                              required:
                                - owners
                                - managers
                              type: object
                            tenantOperatorsIDs:
                              description: Every operator who is a member of this tenant.
                              items:
                                type: string
                              type: array
                            tenantSettings:
                              additionalProperties: {}
                              description: >-
                                Tenant configuration bag: sessions, routing,
                                messages, business hours and inbox visibility.
                              type: object
                            tenantWebsite:
                              description: The tenant public website.
                              type: string
                            updatedAt:
                              description: When the tenant was last updated.
                              format: date-time
                              type: string
                            updatedBy:
                              description: Operator who last updated the tenant.
                              type: string
                          required:
                            - tenantID
                            - organizationID
                            - tenantName
                            - tenantDescription
                            - tenantWebsite
                            - tenantLogo
                            - tenantOperatorsIDs
                            - tenantOperatorRoles
                            - tenantMeta
                            - ownerID
                            - createdAt
                            - updatedAt
                          type: object
                        type: array
                    required:
                      - tenants
                    type: object
                  meta:
                    additionalProperties: false
                    description: Pagination state; present only when `infiniteScroll=true`.
                    properties:
                      count:
                        description: Number of tenants in this page.
                        type: number
                      currentPage:
                        description: The page returned by this response.
                        type: number
                      hasMore:
                        description: Whether more pages are available.
                        type: boolean
                      perPage:
                        description: Page size used for this response.
                        type: number
                      totalCount:
                        description: Total number of tenants matching the query.
                        type: number
                      totalPages:
                        description: Total number of pages available.
                        type: number
                    required:
                      - hasMore
                      - count
                      - totalCount
                      - totalPages
                      - currentPage
                      - perPage
                    type: object
                required:
                  - data
                type: object
          description: Response for status 200.
        '206':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    additionalProperties: false
                    properties:
                      tenants:
                        description: Tenants the authenticated operator belongs to.
                        items:
                          additionalProperties: false
                          properties:
                            createdAt:
                              description: When the tenant was created.
                              format: date-time
                              type: string
                            createdBy:
                              description: Operator who created the tenant.
                              type: string
                            lastSignInAt:
                              description: When somebody last signed in to this tenant.
                              format: date-time
                              nullable: true
                              type: string
                            organizationID:
                              description: The Talqui organization this tenant belongs to.
                              type: string
                            ownerID:
                              description: The operator who owns the tenant.
                              type: string
                            subscriptionID:
                              description: Billing subscription, when the tenant has one.
                              nullable: true
                              type: string
                            tenantDescription:
                              description: Free-text description.
                              type: string
                            tenantID:
                              description: The tenant identifier.
                              type: string
                            tenantLogo:
                              description: Logo URL, when set.
                              nullable: true
                              type: string
                            tenantMeta:
                              additionalProperties: {}
                              description: Arbitrary metadata attached to the tenant.
                              type: object
                            tenantName:
                              description: Display name.
                              type: string
                            tenantOperatorRoles:
                              additionalProperties: false
                              description: Role groups inside the tenant.
                              properties:
                                managers:
                                  description: >-
                                    Operators holding the manager role in this
                                    tenant.
                                  items:
                                    type: string
                                  type: array
                                owners:
                                  description: >-
                                    Operators holding the owner role in this
                                    tenant.
                                  items:
                                    type: string
                                  type: array
                              required:
                                - owners
                                - managers
                              type: object
                            tenantOperatorsIDs:
                              description: Every operator who is a member of this tenant.
                              items:
                                type: string
                              type: array
                            tenantSettings:
                              additionalProperties: {}
                              description: >-
                                Tenant configuration bag: sessions, routing,
                                messages, business hours and inbox visibility.
                              type: object
                            tenantWebsite:
                              description: The tenant public website.
                              type: string
                            updatedAt:
                              description: When the tenant was last updated.
                              format: date-time
                              type: string
                            updatedBy:
                              description: Operator who last updated the tenant.
                              type: string
                          required:
                            - tenantID
                            - organizationID
                            - tenantName
                            - tenantDescription
                            - tenantWebsite
                            - tenantLogo
                            - tenantOperatorsIDs
                            - tenantOperatorRoles
                            - tenantMeta
                            - ownerID
                            - createdAt
                            - updatedAt
                          type: object
                        type: array
                    required:
                      - tenants
                    type: object
                  meta:
                    additionalProperties: false
                    description: Pagination state; present only when `infiniteScroll=true`.
                    properties:
                      count:
                        description: Number of tenants in this page.
                        type: number
                      currentPage:
                        description: The page returned by this response.
                        type: number
                      hasMore:
                        description: Whether more pages are available.
                        type: boolean
                      perPage:
                        description: Page size used for this response.
                        type: number
                      totalCount:
                        description: Total number of tenants matching the query.
                        type: number
                      totalPages:
                        description: Total number of pages available.
                        type: number
                    required:
                      - hasMore
                      - count
                      - totalCount
                      - totalPages
                      - currentPage
                      - perPage
                    type: object
                required:
                  - data
                type: object
          description: Response for status 206.
        '400':
          content:
            application/json:
              schema:
                properties:
                  errors:
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/MissingOperatorIDError'
                        - $ref: '#/components/schemas/RequestValidationError'
                    maxItems: 1
                    minItems: 1
                    type: array
                required:
                  - errors
                type: object
          description: >-
            MissingOperatorIDError (error_code 1063): the resolved identity
            carries no operatorID. | RequestValidationError (error_code 1002):
            query params fail schema validation.
        '401':
          content:
            application/json:
              schema:
                properties:
                  errors:
                    items:
                      $ref: '#/components/schemas/UnauthorizedError'
                    maxItems: 1
                    minItems: 1
                    type: array
                required:
                  - errors
                type: object
          description: 'UnauthorizedError (error_code 1003): missing/invalid operator token.'
        '500':
          content:
            application/json:
              schema:
                properties:
                  errors:
                    items:
                      $ref: '#/components/schemas/UnknownError'
                    maxItems: 1
                    minItems: 1
                    type: array
                required:
                  - errors
                type: object
          description: >-
            UnknownError (error_code 5999): Unexpected internal error not
            otherwise documented for this endpoint.
components:
  schemas:
    MissingOperatorIDError:
      additionalProperties: false
      properties:
        error:
          enum:
            - MissingOperatorIDError
          type: string
        error_code:
          enum:
            - 1063
          type: number
        message:
          example: operatorID is required.
          type: string
        statusCode:
          enum:
            - 400
          type: number
      required:
        - statusCode
        - error
        - error_code
        - message
      type: object
    RequestValidationError:
      additionalProperties: false
      properties:
        error:
          enum:
            - RequestValidationError
          type: string
        error_code:
          enum:
            - 1002
          type: number
        fields:
          items:
            additionalProperties: false
            properties:
              allowed:
                type: string
              field:
                type: string
              received:
                type: string
            required:
              - field
              - received
              - allowed
            type: object
          type: array
        message:
          example: Invalid request data.
          type: string
        statusCode:
          enum:
            - 400
          type: number
      required:
        - statusCode
        - error
        - error_code
        - message
        - fields
      type: object
    UnauthorizedError:
      additionalProperties: false
      properties:
        error:
          enum:
            - UnauthorizedError
          type: string
        error_code:
          enum:
            - 1003
          type: number
        message:
          example: You are not authorized to perform this request.
          type: string
        statusCode:
          enum:
            - 401
          type: number
      required:
        - statusCode
        - error
        - error_code
        - message
      type: object
    UnknownError:
      additionalProperties: false
      properties:
        error:
          enum:
            - UnknownError
          type: string
        error_code:
          enum:
            - 5999
          type: number
        message:
          example: For some unknown reason your request has not succeeded.
          type: string
        statusCode:
          enum:
            - 500
          type: number
      required:
        - statusCode
        - error
        - error_code
        - message
      type: object

````

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