---
title: "Run approaching reviews"
---

> 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/review-prompts/approaching-notifications/run`

## Request body

- `horizonHours` (`startup-founder-notifications-run-approaching-reviews.horizonHours`; integer, optional)
  - min 1; max 72; default `24`

## Example request

```json
{
  "horizonHours": 24
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.sureshake.com/v2/execution/review-prompts/approaching-notifications/run \
  --header 'Content-Type: application/json' \
  --data '
{
  "horizonHours": 24
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/execution/review-prompts/approaching-notifications/run';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({horizonHours: 24})
};

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/review-prompts/approaching-notifications/run"

payload = { "horizonHours": 24 }
headers = {"Content-Type": "application/json"}

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

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "outcome": {
    "status": "completed",
    "counts": {
      "attempted": 0,
      "succeeded": 0,
      "failed": 0,
      "skipped": 0
    },
    "fatalError": "string"
  },
  "fatalFailure": {
    "code": "REVIEW_SCHEDULE_SOURCE_UNAVAILABLE",
    "message": "string",
    "retryable": true
  },
  "results": [
    {
      "cycleId": "811bdbf8-a42f-4f8c-b62e-39c77332ffe1",
      "status": "notified",
      "scheduledAt": "2019-08-24T14:15:22Z",
      "failure": {
        "code": "REVIEW_SCHEDULE_SOURCE_UNAVAILABLE",
        "message": "string",
        "retryable": true
      }
    }
  ]
}
```

- `outcome` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome`; object, required)
  - `status` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.status`; string, required)
    - one of `"completed"`, `"partial"`, `"failed"`
  - `counts` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.counts`; object, required)
    - `attempted` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.counts.attempted`; integer, required)
      - min 0
    - `succeeded` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.counts.succeeded`; integer, required)
      - min 0
    - `failed` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.counts.failed`; integer, required)
      - min 0
    - `skipped` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.counts.skipped`; integer, required)
      - min 0
  - `fatalError` (`startup-founder-notifications-run-approaching-reviews.response.200.outcome.fatalError`; string, required, nullable)
    - minLength 1
- `fatalFailure` (`startup-founder-notifications-run-approaching-reviews.response.200.fatalFailure`; object, required, nullable)
  - `code` (`startup-founder-notifications-run-approaching-reviews.response.200.fatalFailure.code`; string, required)
    - one of `"REVIEW_SCHEDULE_SOURCE_UNAVAILABLE"`, `"REVIEW_SCHEDULE_INVALID"`, `"REVIEW_STATE_UNAVAILABLE"`, `"FOUNDER_RECIPIENTS_UNAVAILABLE"`, `"NOTIFICATION_ENQUEUE_UNAVAILABLE"`, `"NOTIFICATION_PROCESSING_FAILED"`
  - `message` (`startup-founder-notifications-run-approaching-reviews.response.200.fatalFailure.message`; string, required)
    - minLength 1
  - `retryable` (`startup-founder-notifications-run-approaching-reviews.response.200.fatalFailure.retryable`; boolean, required)
- `results` (`startup-founder-notifications-run-approaching-reviews.response.200.results`; array<object>, required)
  - `cycleId` (`startup-founder-notifications-run-approaching-reviews.response.200.results.cycleId`; string, required)
    - format `uuid`
  - `status` (`startup-founder-notifications-run-approaching-reviews.response.200.results.status`; string, required)
    - one of `"notified"`, `"already_notified"`, `"not_due"`, `"filed"`, `"failed"`
  - `scheduledAt` (`startup-founder-notifications-run-approaching-reviews.response.200.results.scheduledAt`; string, required, nullable)
    - format `date-time`
  - `failure` (`startup-founder-notifications-run-approaching-reviews.response.200.results.failure`; object, required, nullable)
    - `code` (`startup-founder-notifications-run-approaching-reviews.response.200.results.failure.code`; string, required)
      - one of `"REVIEW_SCHEDULE_SOURCE_UNAVAILABLE"`, `"REVIEW_SCHEDULE_INVALID"`, `"REVIEW_STATE_UNAVAILABLE"`, `"FOUNDER_RECIPIENTS_UNAVAILABLE"`, `"NOTIFICATION_ENQUEUE_UNAVAILABLE"`, `"NOTIFICATION_PROCESSING_FAILED"`
    - `message` (`startup-founder-notifications-run-approaching-reviews.response.200.results.failure.message`; string, required)
      - minLength 1
    - `retryable` (`startup-founder-notifications-run-approaching-reviews.response.200.results.failure.retryable`; boolean, required)

### 400

Default Response

#### Example

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

- `error` (`startup-founder-notifications-run-approaching-reviews.response.400.error`; object, required)
  - `code` (`startup-founder-notifications-run-approaching-reviews.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-founder-notifications-run-approaching-reviews.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`startup-founder-notifications-run-approaching-reviews.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-founder-notifications-run-approaching-reviews.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` (`startup-founder-notifications-run-approaching-reviews.response.401.error`; object, required)
  - `code` (`startup-founder-notifications-run-approaching-reviews.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-founder-notifications-run-approaching-reviews.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`startup-founder-notifications-run-approaching-reviews.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-founder-notifications-run-approaching-reviews.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` (`startup-founder-notifications-run-approaching-reviews.response.403.error`; object, required)
  - `code` (`startup-founder-notifications-run-approaching-reviews.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-founder-notifications-run-approaching-reviews.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`startup-founder-notifications-run-approaching-reviews.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-founder-notifications-run-approaching-reviews.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

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

- `error` (`startup-founder-notifications-run-approaching-reviews.response.500.error`; object, required)
  - `code` (`startup-founder-notifications-run-approaching-reviews.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-founder-notifications-run-approaching-reviews.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`startup-founder-notifications-run-approaching-reviews.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-founder-notifications-run-approaching-reviews.response.500.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/startup-founder-notifications-run-approaching-reviews/index.md
