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

# 同期ポリシーを更新

> ソースの同期スケジュールを設定し、設定したスケジュールを返します。以前のスケジュールは置き換えられます。

保存しても同期は開始されません。最初のスケジュール同期は、更新から設定した間隔が経過した時点で実行予定になります。以降の同期は、前回の同期がキューに入ってから同じ間隔が経過した時点で実行予定になります。すぐに同期するには、[ソースを同期](/ja/api-reference/source-syncs-and-imports/sync-source) を呼び出してください。

このソースへのインポートが完了するたびに、ソースの新しい `version` でスケジュールを保存し直してください。インポートすると `version` が変わり、古い値に紐づいたままのスケジュールは、次の予定時刻に自動でオフになります。

スケジュールを変えずにスケジュール同期を一時停止するには、[ソースを更新](/ja/api-reference/sources/update-source) でソースの `status` を `disabled` に設定します。停止中に実行予定になった同期は、ソースを `active` に戻した時点で実行されます。

読み取ってから保存する流れについては、[ソースの同期とスケジュール設定](/ja/api-reference/guides/knowledge-base#sync-and-schedule-sources) を参照してください。



## OpenAPI

````yaml /ja/api-reference/openapi_service.json put /knowledge-fs/spaces/{knowledge_base_id}/sources/{source_id}/sync-policy
openapi: 3.0.1
info:
  description: >-
    Dify アプリケーションとナレッジベースのための REST API です。アプリケーション系エンドポイントはアプリの API
    キーで、ナレッジ系エンドポイントはナレッジベースの API キーで認証します。
  title: Dify サービス API
  version: 1.0.0
servers:
  - description: Dify サービス API のベース URL です。セルフホスト環境では、独自の API ベース URL に置き換えてください。
    url: https://{api_base_url}
    variables:
      api_base_url:
        default: api.dify.ai/v1
        description: API ベース URL のホストとパス（`https://` を除く）。
security:
  - ApiKeyAuth: []
tags:
  - description: チャットメッセージとインタラクションに関連する操作です。
    name: チャットメッセージ
  - description: ファイルのアップロードとプレビューの操作です。
    name: ファイル操作
  - description: エンドユーザー情報に関連する操作です。
    name: エンドユーザー
  - description: ユーザーフィードバックの操作です。
    name: メッセージフィードバック
  - description: 会話管理に関連する操作です。
    name: 会話管理
  - description: テキスト読み上げと音声認識の操作です。
    name: 音声・テキスト変換
  - description: アプリケーション設定と情報を取得する操作です。
    name: アプリケーション設定
  - description: ダイレクト返信用のアノテーション管理に関連する操作です。
    name: アノテーション管理
  - description: 人間の入力を要する一時停止中のワークフローの再開操作です。
    name: 人間の入力
  - description: ワークフローの実行と管理のための操作です。
    name: ワークフロー実行
  - description: テキスト生成に関連する操作です。
    name: 完了メッセージ
  - description: ナレッジベースの作成、設定、取得を含むナレッジベース管理の操作です。
    name: ナレッジベース
  - description: ナレッジベース内のドキュメントの作成、更新、管理のための操作です。
    name: ドキュメント
  - description: ドキュメントチャンクと子チャンクの管理のための操作です。
    name: チャンク
  - description: ナレッジベースのメタデータフィールドとドキュメントメタデータ値の管理のための操作です。
    name: メタデータ
  - description: ナレッジベースタグとタグバインディングの管理のための操作です。
    name: タグ管理
  - description: 利用可能なモデルを取得するための操作です。
    name: モデル
  - description: データソースプラグインとパイプライン実行を含むナレッジパイプラインの管理と実行のための操作です。
    name: ナレッジパイプライン
  - description: ナレッジベースに質問し、回答をストリーミングで受け取ります。
    name: クエリ
  - description: クエリが何を検索したか、またその理由を確認します。
    name: クエリ記録
  - description: リサーチの質問をバックグラウンドで実行し、その結果を取得します。
    name: リサーチタスク
  - description: ナレッジベースのドキュメントと、そのファイル、リビジョン、チャンクを読み取り、ドキュメントにメタデータのラベルを付けます。
    name: ドキュメントとチャンク
  - description: インデックス処理の追跡、キャンセル、再試行と、ナレッジベースのバックグラウンドタスクの一覧表示を行います。
    name: インデックスタスク
  - description: ドキュメントファイル、ファイルのバッチ、またはソースの削除を、完了するまで追跡します。
    name: 削除ジョブ
  - description: ナレッジベースにデータを供給するソース、その同期スケジュール、接続を管理します。
    name: ソース
  - description: ソースの即時同期、ウェブサイトのページまたはプロバイダーのアイテムのインポート、実行の追跡、キャンセル、再試行を行います。
    name: ソースの同期とインポート
  - description: ナレッジベースのモデルと検索設定の読み取りと変更、および変更によって始まる移行の追跡を行います。
    name: 設定
paths:
  /knowledge-fs/spaces/{knowledge_base_id}/sources/{source_id}/sync-policy:
    put:
      tags:
        - Sources
      summary: 同期ポリシーを更新
      description: >-
        ソースの同期スケジュールを設定し、設定したスケジュールを返します。以前のスケジュールは置き換えられます。


        保存しても同期は開始されません。最初のスケジュール同期は、更新から設定した間隔が経過した時点で実行予定になります。以降の同期は、前回の同期がキューに入ってから同じ間隔が経過した時点で実行予定になります。すぐに同期するには、[ソースを同期](/ja/api-reference/source-syncs-and-imports/sync-source)
        を呼び出してください。


        このソースへのインポートが完了するたびに、ソースの新しい `version` でスケジュールを保存し直してください。インポートすると
        `version` が変わり、古い値に紐づいたままのスケジュールは、次の予定時刻に自動でオフになります。


        スケジュールを変えずにスケジュール同期を一時停止するには、[ソースを更新](/ja/api-reference/sources/update-source)
        でソースの `status` を `disabled` に設定します。停止中に実行予定になった同期は、ソースを `active`
        に戻した時点で実行されます。


        読み取ってから保存する流れについては、[ソースの同期とスケジュール設定](/ja/api-reference/guides/knowledge-base#sync-and-schedule-sources)
        を参照してください。
      operationId: updateSourceSyncPolicy
      parameters:
        - description: >-
            ナレッジベース ID です。ナレッジベースの **API アクセス** ダイアログに表示されるサービス API
            エンドポイントの最後のセグメント（`…/knowledge-fs/spaces/<knowledge base
            ID>`）です。アドレスバーでは `/datasets/new/` の後のセグメントです。
          in: path
          name: knowledge_base_id
          required: true
          schema:
            format: uuid
            type: string
        - description: >-
            ソース ID です。[ソース一覧を取得](/ja/api-reference/sources/list-sources)
            から取得します。
          in: path
          name: source_id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            examples:
              custom:
                summary: リクエスト例 - カスタム間隔
                value:
                  customIntervalSeconds: 21600
                  enabled: true
                  expectedRevision: 5
                  expectedSourceVersion: 8
                  mode: custom
              interval:
                summary: リクエスト例 - 24 時間ごと
                value:
                  enabled: true
                  expectedRevision: 0
                  expectedSourceVersion: 3
                  mode: interval
              manual:
                summary: リクエスト例 - スケジュールなし
                value:
                  enabled: false
                  expectedRevision: 6
                  expectedSourceVersion: 8
                  mode: manual
            schema:
              additionalProperties: false
              properties:
                customIntervalSeconds:
                  description: >-
                    スケジュール同期の間隔（秒）です。1 時間から 30 日までの範囲で指定します。`mode: custom`
                    では必須で、ほかのモードでは拒否されます。
                  maximum: 2592000
                  minimum: 3600
                  type: integer
                enabled:
                  description: 'スケジュール同期を実行するかどうかです。`mode: manual` では `false` にする必要があります。'
                  type: boolean
                expectedRevision:
                  description: >-
                    [同期ポリシーを取得](/ja/api-reference/sources/get-sync-policy)
                    で取得した、スケジュールの現在の `revision` です。ソースにまだスケジュールがない場合は `0`
                    を送信します。リビジョンはスケジュール同期が開始されるたびにも増えるため、更新の直前に読み取ってください。古い値を送ると
                    `409` が返り、何も変更されません。
                  minimum: 0
                  type: integer
                expectedSourceVersion:
                  description: >-
                    [ソースを取得](/ja/api-reference/sources/get-source) または
                    [ソース一覧を取得](/ja/api-reference/sources/list-sources)
                    で取得した、ソースの現在の `version` です。この値は
                    [ソースを更新](/ja/api-reference/sources/update-source)
                    を呼び出すたび、またインポートが完了するたびに変わるため、更新の直前に読み取ってください。古い値を送ると `409`
                    が返り、何も変更されません。
                  minimum: 1
                  type: integer
                mode:
                  description: >-
                    `manual` はスケジュール同期をオフにし、`interval` は 24 時間ごと、`custom` は
                    `customIntervalSeconds` ごとに同期します。
                  enum:
                    - manual
                    - interval
                    - custom
                  type: string
              required:
                - enabled
                - expectedRevision
                - expectedSourceVersion
                - mode
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                success:
                  summary: レスポンス例
                  value:
                    created_at: '2026-09-01T08:05:00Z'
                    custom_interval_seconds: 21600
                    enabled: true
                    expected_source_version: 8
                    id: 8e7d6c5b-4a39-4f28-9e17-0d1c2b3a4f5e
                    knowledge_space_id: 0a9d3c2e-5b6f-4e1a-8c7d-2f3e4a5b6c7d
                    mode: custom
                    next_run_at: '2026-10-21T08:30:00Z'
                    revision: 6
                    source_id: 6f1c2b0e-3d0b-4a5e-9f4c-1c0e6a7b8d90
                    updated_at: '2026-10-21T02:30:00Z'
              schema:
                $ref: '#/components/schemas/KnowledgeBaseSyncPolicy'
          description: >-
            保存されたスケジュールです。`mode: manual` または `enabled: false` の場合、`next_run_at`
            は `null` です。
        '400':
          content:
            application/json:
              examples:
                knowledge_fs_invalid_request_local:
                  summary: knowledge_fs_invalid_request (request validation)
                  value:
                    code: knowledge_fs_invalid_request
                    message: Agent Knowledge Base request is invalid.
                    status: 400
                    violations:
                      - field:
                          - customIntervalSeconds
                        type: greater_than_equal
                knowledge_fs_invalid_request_path:
                  summary: knowledge_fs_invalid_request (path ID)
                  value:
                    code: knowledge_fs_invalid_request
                    message: Agent Knowledge Base request is invalid.
                    status: 400
                knowledge_fs_invalid_request_upstream:
                  summary: knowledge_fs_invalid_request (rejected)
                  value:
                    code: knowledge_fs_invalid_request
                    failure:
                      category: validation
                      code: KNOWLEDGE_FS_INVALID_REQUEST
                      message: The Agent Knowledge Base request is invalid.
                      retryPolicy: never
                      traceId: 7f3c1a90-2e64-4b7d-8a51-6c0d9e2f4b83
                    message: The Agent Knowledge Base request is invalid.
                    status: 400
          description: >-
            - `knowledge_fs_invalid_request`：リクエストが検証に失敗しました。`violations`
            には、問題のあるフィールドがそれぞれ示されます。原因は次のとおりです。
              - フィールドがないか型が正しくない、またはボディに不明なキーが含まれている
              - `mode` が記載されている値のいずれでもない
              - `customIntervalSeconds` が範囲外である、`mode: custom` で指定されていない、またはほかのモードで送信されている
            - `knowledge_fs_invalid_request`：`mode: manual` が `enabled: true`
            とともに送信されたか、`source_id` が UUID ではありません。

            - `knowledge_fs_invalid_request`：`source_id` の形式が正しくありません。
        '401':
          content:
            application/json:
              examples:
                knowledge_fs_invalid_credential:
                  summary: knowledge_fs_invalid_credential
                  value:
                    code: knowledge_fs_invalid_credential
                    message: Invalid Agent Knowledge Base service credential.
                    status: 401
                unauthorized:
                  summary: unauthorized
                  value:
                    code: unauthorized
                    message: Access token is invalid
                    status: 401
          description: >-
            - `unauthorized`：`Authorization` ヘッダーがないか、キーが不明であるか、ナレッジベースの API
            キーではありません。

            - `knowledge_fs_invalid_credential`：キーは有効ですが、キーのワークスペースにこの ID
            のナレッジベースが存在しないか、キーがワークスペースに紐付いていません。
        '403':
          content:
            application/json:
              examples:
                forbidden:
                  summary: forbidden (rate limit)
                  value:
                    code: forbidden
                    message: >-
                      Sorry, you have reached the knowledge base request rate
                      limit of your subscription.
                    status: 403
                knowledge_fs_access_denied_scope:
                  summary: knowledge_fs_access_denied (key scope)
                  value:
                    code: knowledge_fs_access_denied
                    message: Agent Knowledge Base operation is not allowed.
                    status: 403
          description: >-
            -
            `knowledge_fs_access_denied`：キーのアクセス範囲がほかのナレッジベースに限定されているか、このナレッジベースで
            **API アクセス** がオフになっています。または、ナレッジベースがアクティブではありません。

            - `forbidden`：Dify Cloud
            で、ワークスペースがサブスクリプションで定められたナレッジベースのリクエストレート制限に達しました。読み取りを含め、すべての呼び出しがカウントされます。
        '404':
          content:
            application/json:
              examples:
                knowledge_fs_resource_not_found:
                  summary: knowledge_fs_resource_not_found
                  value:
                    code: knowledge_fs_resource_not_found
                    failure:
                      category: not_found
                      code: KNOWLEDGE_FS_NOT_FOUND
                      message: >-
                        The requested Agent Knowledge Base resource was not
                        found.
                      retryPolicy: never
                      traceId: 7f3c1a90-2e64-4b7d-8a51-6c0d9e2f4b83
                    message: The requested Agent Knowledge Base resource was not found.
                    status: 404
                not_found:
                  summary: not_found (feature off)
                  value:
                    code: not_found
                    message: >-
                      The requested URL was not found on the server. If you
                      entered the URL manually please check your spelling and
                      try again.
                    status: 404
          description: >-
            - `knowledge_fs_resource_not_found`：この ID
            のソースがナレッジベースに存在しない、キーでそのソースを読み取れない、またはソースの削除がすでに受け付けられています。

            - `not_found`：このデプロイ環境では Agent ナレッジベース機能が無効になっています。
        '409':
          content:
            application/json:
              examples:
                knowledge_fs_conflict:
                  summary: knowledge_fs_conflict
                  value:
                    code: knowledge_fs_conflict
                    failure:
                      action: retry
                      category: conflict
                      code: KNOWLEDGE_FS_CONFLICT
                      message: >-
                        The Agent Knowledge Base operation conflicts with the
                        current resource state.
                      retryPolicy: manual
                      traceId: 7f3c1a90-2e64-4b7d-8a51-6c0d9e2f4b83
                    message: >-
                      The Agent Knowledge Base operation conflicts with the
                      current resource state.
                    status: 409
          description: >-
            - `knowledge_fs_conflict`：`expectedRevision` がスケジュールの現在の `revision`
            ではないか、`expectedSourceVersion` がソースの現在の `version`
            ではありません。レスポンスボディにはどちらが原因かは示されないため、[同期ポリシーを取得](/ja/api-reference/sources/get-sync-policy)
            と [ソースを取得](/ja/api-reference/sources/get-source)
            で両方を読み直してから再送信してください。
        '502':
          content:
            application/json:
              examples:
                knowledge_fs_upstream_unavailable:
                  summary: knowledge_fs_upstream_unavailable (service error)
                  value:
                    code: knowledge_fs_upstream_unavailable
                    failure:
                      action: contact_admin
                      category: internal
                      code: KNOWLEDGE_FS_INTERNAL_ERROR
                      message: >-
                        Agent Knowledge Base could not complete the operation.
                        Try again, or contact an administrator with the error
                        reference.
                      retryPolicy: manual
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: >-
                      Agent Knowledge Base could not complete the operation. Try
                      again, or contact an administrator with the error
                      reference.
                    status: 502
                knowledge_fs_upstream_unavailable_transport:
                  summary: knowledge_fs_upstream_unavailable (no response)
                  value:
                    code: knowledge_fs_upstream_unavailable
                    message: Agent Knowledge Base is unavailable.
                    status: 502
          description: >-
            - `knowledge_fs_upstream_unavailable`：時間内に応答が返らなかったか、応答を読み取れませんでした。


            スケジュールが保存されている可能性があります。次の更新を送信する前に、[同期ポリシーを取得](/ja/api-reference/sources/get-sync-policy)
            で読み取ってください。最初の呼び出しが反映されていた場合、古い `expectedRevision` で再送信すると `409`
            が返ります。
        '503':
          content:
            application/json:
              examples:
                knowledge_fs_operation_unavailable:
                  summary: knowledge_fs_operation_unavailable
                  value:
                    code: knowledge_fs_operation_unavailable
                    message: Agent Knowledge Base operation is not available.
                    status: 503
                knowledge_fs_operation_unavailable_upstream:
                  summary: knowledge_fs_operation_unavailable (temporary)
                  value:
                    code: knowledge_fs_operation_unavailable
                    failure:
                      action: retry
                      category: dependency
                      code: KNOWLEDGE_FS_UNAVAILABLE
                      message: >-
                        A service required by Agent Knowledge Base is
                        temporarily unavailable.
                      retryPolicy: manual
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: >-
                      A service required by Agent Knowledge Base is temporarily
                      unavailable.
                    status: 503
          description: >-
            - `knowledge_fs_operation_unavailable`：このワークスペースで Agent
            ナレッジベース機能が設定されていないか、このデプロイ環境ではこの操作を利用できません。または、リクエストの認可中に、このナレッジベースに対するキーのアクセス権が変更されました。

            -
            `knowledge_fs_operation_unavailable`：現在このリクエストを処理できません。`failure.retryPolicy`
            に従ってください。
components:
  schemas:
    KnowledgeBaseSyncPolicy:
      properties:
        created_at:
          description: 作成日時（ISO 8601）です。
          type: string
        custom_interval_seconds:
          description: '`mode: custom` の場合の間隔（秒）です。ほかのモードでは `null` です。'
          nullable: true
          type: integer
        enabled:
          description: 'スケジュール同期を実行するかどうかです。`mode: manual` では常に `false` です。'
          type: boolean
        expected_source_version:
          description: スケジュールが紐付いているソースの `version` です。
          type: integer
        id:
          description: 同期ポリシー ID です。更新しても変わりません。
          type: string
        knowledge_space_id:
          description: ナレッジベースの内部 ID です。パスのナレッジベース ID とは異なります。
          type: string
        mode:
          description: >-
            `manual`（スケジュールなし）、`interval`（24
            時間ごと）、`custom`（`custom_interval_seconds` ごと）のいずれかです。
          type: string
        next_run_at:
          description: 次回のスケジュール同期の予定日時（ISO 8601）です。予定がない場合は `null` です。
          nullable: true
          type: string
        revision:
          description: >-
            スケジュールのリビジョンです。[同期ポリシーを更新](/ja/api-reference/sources/update-sync-policy)
            で `expectedRevision` として送信します。更新のたび、およびスケジュール同期が開始されるたびに増加します。
          type: integer
        source_id:
          description: スケジュールが属するソースです。
          type: string
        updated_at:
          description: 最終更新日時（ISO 8601）です。スケジュール同期が開始されたときにも更新されます。
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        すべてのリクエストは API キーで認証します：`Authorization: Bearer
        {API_KEY}`。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API
        キーを使用します（[Dify API クイックスタート](/ja/api-reference/guides/get-started)）。


        キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP
        `401`（`unauthorized`）で失敗します。
      scheme: bearer
      type: http

````

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