---
title: "File weekly review"
---

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

Path: Sureshake API › execution

`POST /v2/execution/cycles/{cycleId}/weekly-reviews/{reviewId}/file`

## Path parameters

- `cycleId` (`execution-file-weekly-review.path.cycleId`; string, required)
  - format `uuid`
- `reviewId` (`execution-file-weekly-review.path.reviewId`; string, required)
  - format `uuid`

## Request body

_Required._

- `expectedEditVersion` (`execution-file-weekly-review.expectedEditVersion`; integer, required)
  - min 1
- `feedSections` (`execution-file-weekly-review.feedSections`; array<string>, required)
  - one of `"learning"`, `"next_plan"`

## Example request

```json
{
  "expectedEditVersion": 1,
  "feedSections": [
    "learning"
  ]
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/execution/cycles/<cycleId>/weekly-reviews/<reviewId>/file' \
  --header 'Content-Type: application/json' \
  --data '
{
  "expectedEditVersion": 1,
  "feedSections": [
    "learning"
  ]
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/execution/cycles/<cycleId>/weekly-reviews/<reviewId>/file';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({expectedEditVersion: 1, feedSections: ['learning']})
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/execution/cycles/<cycleId>/weekly-reviews/<reviewId>/file"

payload = {
    "expectedEditVersion": 1,
    "feedSections": ["learning"]
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "cycleId": "811bdbf8-a42f-4f8c-b62e-39c77332ffe1",
    "periodStart": "2019-08-24T14:15:22Z",
    "periodEndExclusive": "2019-08-24T14:15:22Z",
    "status": "draft",
    "draftOrigin": "founder",
    "aiProvider": "string",
    "aiModel": "string",
    "aiResponseId": "string",
    "plannedCommitments": [
      {
        "commitmentId": "4e1ecf7c-8127-4207-92b0-010ff43ff54d",
        "versionNumber": 1,
        "title": "string",
        "ownerUserId": "string",
        "completionDefinition": "string",
        "proofStandard": "string",
        "commitmentStartAt": "2019-08-24T14:15:22Z",
        "deadlineAt": "2019-08-24T14:15:22Z",
        "payloadHash": "string"
      }
    ],
    "observedOutcomes": [
      {
        "commitmentId": "4e1ecf7c-8127-4207-92b0-010ff43ff54d",
        "resolutionId": "bc6d8f79-6014-4352-9db6-903e2ea5d245",
        "outcomeStatus": "completed",
        "actualResult": "string",
        "varianceExplanation": "string",
        "resolvedAt": "2019-08-24T14:15:22Z",
        "payloadHash": "string"
      }
    ],
    "evidence": [
      {
        "commitmentId": "4e1ecf7c-8127-4207-92b0-010ff43ff54d",
        "status": "present",
        "items": [
          {
            "evidenceId": "84c8ea22-9959-4357-9a32-7546d09a0037",
            "sourceKind": "upload",
            "verificationStatus": "artifact_backed",
            "displayName": "string",
            "recordedAt": "2019-08-24T14:15:22Z",
            "sourceHash": "string"
          }
        ]
      }
    ],
    "learning": "string",
    "nextPlan": "string",
    "sourceHash": "string",
    "editVersion": 1,
    "editedBy": "string",
    "editedAt": "2019-08-24T14:15:22Z",
    "selectedFeedSections": [
      "learning"
    ],
    "feedUpdates": [
      {
        "section": "learning",
        "updateId": "5cebcd16-bfee-44cf-a327-a26bd6ddf285",
        "publishedAt": "2019-08-24T14:15:22Z"
      }
    ],
    "filedBy": "string",
    "filedAt": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`execution-file-weekly-review.response.200.data`; object, required)
  - `id` (`execution-file-weekly-review.response.200.data.id`; string, required)
    - format `uuid`
  - `entityId` (`execution-file-weekly-review.response.200.data.entityId`; string, required)
    - format `uuid`
  - `cycleId` (`execution-file-weekly-review.response.200.data.cycleId`; string, required)
    - format `uuid`
  - `periodStart` (`execution-file-weekly-review.response.200.data.periodStart`; string, required)
    - format `date-time`
  - `periodEndExclusive` (`execution-file-weekly-review.response.200.data.periodEndExclusive`; string, required)
    - format `date-time`
  - `status` (`execution-file-weekly-review.response.200.data.status`; string, required)
    - one of `"draft"`, `"filed"`
  - `draftOrigin` (`execution-file-weekly-review.response.200.data.draftOrigin`; string, required)
    - one of `"founder"`, `"ai"`
  - `aiProvider` (`execution-file-weekly-review.response.200.data.aiProvider`; string, required, nullable)
    - minLength 1
  - `aiModel` (`execution-file-weekly-review.response.200.data.aiModel`; string, required, nullable)
    - minLength 1
  - `aiResponseId` (`execution-file-weekly-review.response.200.data.aiResponseId`; string, required, nullable)
    - minLength 1
  - `plannedCommitments` (`execution-file-weekly-review.response.200.data.plannedCommitments`; array<object>, required)
    - `commitmentId` (`execution-file-weekly-review.response.200.data.plannedCommitments.commitmentId`; string, required)
      - format `uuid`
    - `versionNumber` (`execution-file-weekly-review.response.200.data.plannedCommitments.versionNumber`; integer, required)
      - min 1
    - `title` (`execution-file-weekly-review.response.200.data.plannedCommitments.title`; string, required)
      - minLength 1
    - `ownerUserId` (`execution-file-weekly-review.response.200.data.plannedCommitments.ownerUserId`; string, required)
      - minLength 1
    - `completionDefinition` (`execution-file-weekly-review.response.200.data.plannedCommitments.completionDefinition`; string, required)
      - minLength 1
    - `proofStandard` (`execution-file-weekly-review.response.200.data.plannedCommitments.proofStandard`; string, required)
      - minLength 1
    - `commitmentStartAt` (`execution-file-weekly-review.response.200.data.plannedCommitments.commitmentStartAt`; string, required)
      - format `date-time`
    - `deadlineAt` (`execution-file-weekly-review.response.200.data.plannedCommitments.deadlineAt`; string, required)
      - format `date-time`
    - `payloadHash` (`execution-file-weekly-review.response.200.data.plannedCommitments.payloadHash`; string, required)
      - pattern `^sha256:[a-f0-9]{64}$`
  - `observedOutcomes` (`execution-file-weekly-review.response.200.data.observedOutcomes`; array<object>, required)
    - `commitmentId` (`execution-file-weekly-review.response.200.data.observedOutcomes.commitmentId`; string, required)
      - format `uuid`
    - `resolutionId` (`execution-file-weekly-review.response.200.data.observedOutcomes.resolutionId`; string, required)
      - format `uuid`
    - `outcomeStatus` (`execution-file-weekly-review.response.200.data.observedOutcomes.outcomeStatus`; string, required)
      - one of `"completed"`, `"partial"`, `"missed"`
    - `actualResult` (`execution-file-weekly-review.response.200.data.observedOutcomes.actualResult`; string, required)
      - minLength 1; maxLength 4000
    - `varianceExplanation` (`execution-file-weekly-review.response.200.data.observedOutcomes.varianceExplanation`; string, required, nullable)
      - minLength 1; maxLength 4000
    - `resolvedAt` (`execution-file-weekly-review.response.200.data.observedOutcomes.resolvedAt`; string, required)
      - format `date-time`
    - `payloadHash` (`execution-file-weekly-review.response.200.data.observedOutcomes.payloadHash`; string, required)
      - pattern `^sha256:[a-f0-9]{64}$`
  - `evidence` (`execution-file-weekly-review.response.200.data.evidence`; array<object>, required)
    - `commitmentId` (`execution-file-weekly-review.response.200.data.evidence.commitmentId`; string, required)
      - format `uuid`
    - `status` (`execution-file-weekly-review.response.200.data.evidence.status`; string, required)
      - one of `"present"`, `"absent"`
    - `items` (`execution-file-weekly-review.response.200.data.evidence.items`; array<object>, required)
      - `evidenceId` (`execution-file-weekly-review.response.200.data.evidence.items.evidenceId`; string, required)
        - format `uuid`
      - `sourceKind` (`execution-file-weekly-review.response.200.data.evidence.items.sourceKind`; string, required)
        - one of `"upload"`, `"sureshake_link"`, `"integration"`, `"third_party_attestation"`
      - `verificationStatus` (`execution-file-weekly-review.response.200.data.evidence.items.verificationStatus`; string, required)
        - one of `"artifact_backed"`, `"source_verified"`, `"third_party_attested"`
      - `displayName` (`execution-file-weekly-review.response.200.data.evidence.items.displayName`; string, required)
        - minLength 1; maxLength 500
      - `recordedAt` (`execution-file-weekly-review.response.200.data.evidence.items.recordedAt`; string, required)
        - format `date-time`
      - `sourceHash` (`execution-file-weekly-review.response.200.data.evidence.items.sourceHash`; string, required)
        - pattern `^sha256:[a-f0-9]{64}$`
  - `learning` (`execution-file-weekly-review.response.200.data.learning`; string, required)
    - minLength 1; maxLength 4000
  - `nextPlan` (`execution-file-weekly-review.response.200.data.nextPlan`; string, required)
    - minLength 1; maxLength 4000
  - `sourceHash` (`execution-file-weekly-review.response.200.data.sourceHash`; string, required)
    - pattern `^sha256:[a-f0-9]{64}$`
  - `editVersion` (`execution-file-weekly-review.response.200.data.editVersion`; integer, required)
    - min 1
  - `editedBy` (`execution-file-weekly-review.response.200.data.editedBy`; string, required, nullable)
    - minLength 1
  - `editedAt` (`execution-file-weekly-review.response.200.data.editedAt`; string, required, nullable)
    - format `date-time`
  - `selectedFeedSections` (`execution-file-weekly-review.response.200.data.selectedFeedSections`; array<string>, required)
    - one of `"learning"`, `"next_plan"`
  - `feedUpdates` (`execution-file-weekly-review.response.200.data.feedUpdates`; array<object>, required)
    - `section` (`execution-file-weekly-review.response.200.data.feedUpdates.section`; string, required)
      - one of `"learning"`, `"next_plan"`
    - `updateId` (`execution-file-weekly-review.response.200.data.feedUpdates.updateId`; string, required)
      - format `uuid`
    - `publishedAt` (`execution-file-weekly-review.response.200.data.feedUpdates.publishedAt`; string, required)
      - format `date-time`
  - `filedBy` (`execution-file-weekly-review.response.200.data.filedBy`; string, required, nullable)
    - minLength 1
  - `filedAt` (`execution-file-weekly-review.response.200.data.filedAt`; string, required, nullable)
    - format `date-time`
  - `createdBy` (`execution-file-weekly-review.response.200.data.createdBy`; string, required)
    - minLength 1
  - `createdAt` (`execution-file-weekly-review.response.200.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`execution-file-weekly-review.response.200.data.updatedAt`; string, required)
    - format `date-time`
- `meta` (`execution-file-weekly-review.response.200.meta`; object, optional)
  - `timestamp` (`execution-file-weekly-review.response.200.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.400.error`; object, required)
  - `code` (`execution-file-weekly-review.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.401.error`; object, required)
  - `code` (`execution-file-weekly-review.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.403.error`; object, required)
  - `code` (`execution-file-weekly-review.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.404.error`; object, required)
  - `code` (`execution-file-weekly-review.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 409

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.409.error`; object, required)
  - `code` (`execution-file-weekly-review.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.409.error.traceId`; string, optional) — Unique ID for log correlation

### 422

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.422.error`; object, required)
  - `code` (`execution-file-weekly-review.response.422.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.422.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.422.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.422.error.traceId`; string, optional) — Unique ID for log correlation

### 429

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.429.error`; object, required)
  - `code` (`execution-file-weekly-review.response.429.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.429.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.429.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.429.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.500.error`; object, required)
  - `code` (`execution-file-weekly-review.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 502

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.502.error`; object, required)
  - `code` (`execution-file-weekly-review.response.502.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.502.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.502.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.502.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`execution-file-weekly-review.response.503.error`; object, required)
  - `code` (`execution-file-weekly-review.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-file-weekly-review.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`execution-file-weekly-review.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-file-weekly-review.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/execution-file-weekly-review/index.md
