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

# List Integrations

> ワークスペース単位で設定された外部サービス連携を一覧で取得します。
削除済みの連携は含まれません。プロバイダー（`provider`）、ハンドル（`handle`）、
接続状態（`connection_status`）、接続日時（`connected_at`）の公開情報のみを返却し、
認証情報や内部設定は返却しません。プロバイダーと接続状態は将来値を含む文字列として
返却されます（既知値の例: `HUBSPOT`、`SALESFORCE`、`MICROSOFT_TEAMS` /
`CONNECTED`、`DISCONNECTED`、`ERROR`）。

メンバー個人が接続するメール連携（Gmail / Outlook）や SMS 連携は
ワークスペース単位の連携ではないため、本エンドポイントの対象外です。

CRM 連携（HubSpot / Salesforce）がワークスペースで無効化されている場合、
該当プロバイダーの連携は結果に含まれません（`pagination.total_size` にも計上されません）。




## OpenAPI

````yaml /openapi.yaml get /v1/settings/integrations
openapi: 3.1.0
info:
  title: Frictio Public API
  version: 1.0.0-beta
servers:
  - url: https://public-api.frictio.ai
security:
  - ApiKeyAuth: []
paths:
  /v1/settings/integrations:
    get:
      summary: List Integrations
      description: |
        ワークスペース単位で設定された外部サービス連携を一覧で取得します。
        削除済みの連携は含まれません。プロバイダー（`provider`）、ハンドル（`handle`）、
        接続状態（`connection_status`）、接続日時（`connected_at`）の公開情報のみを返却し、
        認証情報や内部設定は返却しません。プロバイダーと接続状態は将来値を含む文字列として
        返却されます（既知値の例: `HUBSPOT`、`SALESFORCE`、`MICROSOFT_TEAMS` /
        `CONNECTED`、`DISCONNECTED`、`ERROR`）。

        メンバー個人が接続するメール連携（Gmail / Outlook）や SMS 連携は
        ワークスペース単位の連携ではないため、本エンドポイントの対象外です。

        CRM 連携（HubSpot / Salesforce）がワークスペースで無効化されている場合、
        該当プロバイダーの連携は結果に含まれません（`pagination.total_size` にも計上されません）。
      operationId: listIntegrations
      parameters:
        - $ref: '#/components/parameters/workspaceId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/offsetLimit'
      responses:
        '200':
          description: 成功
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - pagination
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Integration'
                  pagination:
                    $ref: '#/components/schemas/OffsetPagination'
        '400':
          description: 不正なリクエスト（`X-Workspace-Id` ヘッダー不足、ページネーション不正、未対応クエリ）
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                statusCode: 400
                message: Bad Request
                error: Bad Request
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    workspaceId:
      name: X-Workspace-Id
      in: header
      required: true
      description: ワークスペースID
      schema:
        type: string
      example: e1f2a3b4-...
    page:
      name: page
      in: query
      required: false
      description: ページ番号（1始まり、デフォルト1）
      schema:
        type: integer
        minimum: 1
        default: 1
    offsetLimit:
      name: limit
      in: query
      required: false
      description: 1ページあたりの取得件数（1〜200、デフォルト50）
      schema:
        type: integer
        minimum: 1
        maximum: 200
        default: 50
  schemas:
    Integration:
      type: object
      description: ワークスペース単位で設定された外部サービス連携の公開情報
      required:
        - id
        - provider
        - handle
        - connection_status
        - connected_at
      properties:
        id:
          type: string
          description: 連携ID
          example: a1b2c3d4-...
        provider:
          type: string
          description: '連携プロバイダー（既知値の例: `HUBSPOT`、`SALESFORCE`、`MICROSOFT_TEAMS`）'
          example: HUBSPOT
        handle:
          type: string
          description: 連携アカウントのハンドル
          example: sales@example.com
        connection_status:
          type: string
          description: '接続状態（既知値の例: `CONNECTED`、`DISCONNECTED`、`ERROR`）'
          example: CONNECTED
        connected_at:
          type:
            - string
            - 'null'
          format: date-time
          description: 連携が確立された日時（UTC）。未接続の場合は `null`
          example: '2026-07-11T01:02:03.000Z'
    OffsetPagination:
      type: object
      required:
        - page
        - limit
        - total_size
        - total_pages
      properties:
        page:
          type: integer
          description: ページ番号（1始まり）
          example: 1
        limit:
          type: integer
          description: 1ページあたりの件数
          example: 50
        total_size:
          type: integer
          description: 総件数
          example: 123
        total_pages:
          type: integer
          description: 総ページ数
          example: 3
    Error:
      type: object
      required:
        - statusCode
        - message
      properties:
        statusCode:
          type: integer
          description: HTTPステータスコード
          example: 404
        message:
          type: string
          description: エラーメッセージ
          example: Meeting not found
        error:
          type: string
          description: |
            エラー種別。メッセージ文字列付きで例外が生成された場合のみ含まれます。
          example: Not Found
  responses:
    Unauthorized:
      description: APIキーが無効、失効、期限切れ、または未指定です
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            invalidApiKey:
              summary: 無効な API キー
              value:
                statusCode: 401
                message: Invalid API key
                error: Unauthorized
            missingApiKey:
              summary: API キー未指定
              value:
                statusCode: 401
                message: Missing X-Api-Key header
                error: Unauthorized
    Forbidden:
      description: 権限エラー
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 403
            message: Forbidden
    TooManyRequests:
      description: レートリミット超過
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 429
            message: Too Many Requests
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````

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