{"data":[{"id":"chg_ef432488966e9f63e2e79c9b162d1731218edfc53fb062582f3f59b0eca881e7","path":"/files/upload_sessions","method":"POST","direction":"response","fieldPath":null,"changeType":"response-optional-property-added","detectedAt":"2026-09-03T15:04:20.440668+00:00","classification":"non_breaking","breakKind":null,"summary":"added the optional property `session_endpoints/allOf[subschema #1: Session endpoints]/plan` to the response with the `201` status","reasoning":"response.added: response response-optional-property-added -> non_breaking","ruleId":"response.added","classifierVersion":"2026-09-14.1","evidenceStrength":"spec_only","detectionMethod":"openapi_diff","fragment":[{"kind":"ctx","text":"..."},{"kind":"ctx","text":"                        example: https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log"},{"kind":"ctx","text":"                        type: string"},{"kind":"add","text":"                      plan:"},{"kind":"add","text":"                        description: >-"},{"kind":"add","text":"                          The URL used to plan the upload session by checking"},{"kind":"add","text":"                          which parts"},{"kind":"add","text":""},{"kind":"add","text":"                          already exist on the server."},{"kind":"add","text":"                        example: https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/plan"},{"kind":"add","text":"                        type: string"},{"kind":"ctx","text":"                      status:"},{"kind":"ctx","text":"                        description: The URL used to get the status of the upload."},{"kind":"ctx","text":"..."}]},{"id":"chg_5d9e63102392c6e29f3ae598c1de024dc93821aa1b77170188c8bc73d221be11","path":"/files/upload_sessions/{upload_session_id}","method":"GET","direction":"response","fieldPath":null,"changeType":"response-optional-property-added","detectedAt":"2026-09-03T15:04:20.440668+00:00","classification":"non_breaking","breakKind":null,"summary":"added the optional property `session_endpoints/allOf[subschema #1: Session endpoints]/plan` to the response with the `200` status","reasoning":"response.added: response response-optional-property-added -> non_breaking","ruleId":"response.added","classifierVersion":"2026-09-14.1","evidenceStrength":"spec_only","detectionMethod":"openapi_diff","fragment":[{"kind":"ctx","text":"..."},{"kind":"ctx","text":"                        example: https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log"},{"kind":"ctx","text":"                        type: string"},{"kind":"add","text":"                      plan:"},{"kind":"add","text":"                        description: >-"},{"kind":"add","text":"                          The URL used to plan the upload session by checking"},{"kind":"add","text":"                          which parts"},{"kind":"add","text":""},{"kind":"add","text":"                          already exist on the server."},{"kind":"add","text":"                        example: https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/plan"},{"kind":"add","text":"                        type: string"},{"kind":"ctx","text":"                      status:"},{"kind":"ctx","text":"                        description: The URL used to get the status of the upload."},{"kind":"ctx","text":"..."}]},{"id":"chg_200d1a979a1736ee14cc18527d375c00061194509240fa3c50a0d4cb1228b689","path":"/files/upload_sessions/{upload_session_id}/plan","method":"POST","direction":"operation","fieldPath":null,"changeType":"endpoint-added","detectedAt":"2026-09-03T15:04:20.440668+00:00","classification":"non_breaking","breakKind":null,"summary":"endpoint added","reasoning":"level.info: operation endpoint-added -> non_breaking","ruleId":"level.info","classifierVersion":"2026-09-14.1","evidenceStrength":"spec_only","detectionMethod":"openapi_diff","fragment":[{"kind":"add","text":"post:"},{"kind":"add","text":"  description: >-"},{"kind":"add","text":"    Plan an upload session by checking which parts already exist on the server."},{"kind":"add","text":""},{"kind":"add","text":"    This endpoint allows clients to optimize uploads by skipping parts that"},{"kind":"add","text":""},{"kind":"add","text":"    have already been uploaded (cache hits) and only uploading missing parts."},{"kind":"add","text":""},{"kind":"add","text":""},{"kind":"add","text":"    The actual endpoint URL is returned by the [`Create upload"},{"kind":"add","text":"    session`](e://post-files-upload-sessions)"},{"kind":"add","text":""},{"kind":"add","text":"    and [`Get upload session`](e://get-files-upload-sessions-id) endpoints."},{"kind":"add","text":"  operationId: post_files_upload_sessions_id_plan"},{"kind":"add","text":"  parameters:"},{"kind":"add","text":"    - description: The ID of the upload session."},{"kind":"add","text":"      example: D5E3F7A"},{"kind":"add","text":"      in: path"},{"kind":"add","text":"      name: upload_session_id"},{"kind":"add","text":"      required: true"},{"kind":"add","text":"      schema:"},{"kind":"add","text":"        type: string"},{"kind":"add","text":"  requestBody:"},{"kind":"add","text":"    content:"},{"kind":"add","text":"      application/json:"},{"kind":"add","text":"        schema:"},{"kind":"add","text":"          description: |-"},{"kind":"add","text":"            Request body for planning an upload session."},{"kind":"add","text":"            This allows checking which parts already exist"},{"kind":"add","text":"            on the server before uploading."},{"kind":"add","text":"          properties:"},{"kind":"add","text":"            parts:"},{"kind":"add","text":"              description: The list of parts to check for existence."},{"kind":"add","text":"              example:"},{"kind":"add","text":"                - offset: 0"},{"kind":"add","text":"                  sha512: 1f40fc92da241694750979ee6cf582f2..."},{"kind":"add","text":"                  size: 8388608"},{"kind":"add","text":"                - offset: 8388608"},{"kind":"add","text":"                  sha512: b109f3bbbc244eb82441917ed06d618b..."},{"kind":"add","text":"                  size: 8388608"}]},{"id":"chg_14c9fae6a4c5ee83f97ca7dfc83f5a76f588d3933f92db0c74c6a4a918b3a94c","path":"/files/{file_id}/upload_sessions","method":"POST","direction":"response","fieldPath":null,"changeType":"response-optional-property-added","detectedAt":"2026-09-03T15:04:20.440668+00:00","classification":"non_breaking","breakKind":null,"summary":"added the optional property `session_endpoints/allOf[subschema #1: Session endpoints]/plan` to the response with the `201` status","reasoning":"response.added: response response-optional-property-added -> non_breaking","ruleId":"response.added","classifierVersion":"2026-09-14.1","evidenceStrength":"spec_only","detectionMethod":"openapi_diff","fragment":[{"kind":"ctx","text":"..."},{"kind":"ctx","text":"                        example: https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log"},{"kind":"ctx","text":"                        type: string"},{"kind":"add","text":"                      plan:"},{"kind":"add","text":"                        description: >-"},{"kind":"add","text":"                          The URL used to plan the upload session by checking"},{"kind":"add","text":"                          which parts"},{"kind":"add","text":""},{"kind":"add","text":"                          already exist on the server."},{"kind":"add","text":"                        example: https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/plan"},{"kind":"add","text":"                        type: string"},{"kind":"ctx","text":"                      status:"},{"kind":"ctx","text":"                        description: The URL used to get the status of the upload."},{"kind":"ctx","text":"..."}]}],"nextCursor":null}