---
title: "Review follow request"
---

> 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 › entities

`PATCH /v2/entities/{entityId}/follow-requests/{requestId}`

## Path parameters

- `entityId` (`startup-review-follow-request.path.entityId`; string, required)
  - format `uuid`
- `requestId` (`startup-review-follow-request.path.requestId`; string, required)
  - format `uuid`

## Request body

Any of:

- `object`
  - `decision` (`startup-review-follow-request.1.decision`; string, required)
    - one of `"approve"`
  - `reviewNotes` (`startup-review-follow-request.1.reviewNotes`; string, optional)
    - maxLength 2000
- `object`
  - `decision` (`startup-review-follow-request.2.decision`; string, required)
    - one of `"narrow"`
  - `grantedTier` (`startup-review-follow-request.2.grantedTier`; string, required)
    - one of `"follower"`, `"capital"`, `"diligence"`, `"custom"`
  - `grantedDurationDays` (`startup-review-follow-request.2.grantedDurationDays`; integer, required)
    - min 1; max 365
  - `reviewNotes` (`startup-review-follow-request.2.reviewNotes`; string, optional)
    - maxLength 2000
- `object`
  - `decision` (`startup-review-follow-request.3.decision`; string, required)
    - one of `"reject"`
  - `reviewNotes` (`startup-review-follow-request.3.reviewNotes`; string, optional)
    - maxLength 2000

## Example request

```json
{
  "decision": "approve",
  "reviewNotes": "string"
}
```

## Code samples

### cURL

```bash
curl --request PATCH \
  --url 'https://api.sureshake.com/v2/entities/<entityId>/follow-requests/<requestId>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "decision": "approve",
  "reviewNotes": "string"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/entities/<entityId>/follow-requests/<requestId>';
const options = {
  method: 'PATCH',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({decision: 'approve', reviewNotes: 'string'})
};

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/entities/<entityId>/follow-requests/<requestId>"

payload = {
    "decision": "approve",
    "reviewNotes": "string"
}
headers = {"Content-Type": "application/json"}

response = requests.patch(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",
    "requestedBy": "string",
    "requesterEntityId": "af12adbd-3666-4602-844a-00328f5c0509",
    "status": "pending",
    "requestNote": "string",
    "reason": "string",
    "requestedTier": "follower",
    "desiredObservation": "string",
    "requestedDurationDays": 1,
    "reviewDecision": "accepted",
    "grantedTier": "follower",
    "accessTier": "follower",
    "grantedDurationDays": 1,
    "relationshipId": "928dd5b8-3ead-4528-bdef-9c0b867a5d7d",
    "accessExpiresAt": "2019-08-24T14:15:22Z",
    "renewalCount": 0,
    "lastRenewedAt": "2019-08-24T14:15:22Z",
    "reviewedBy": "string",
    "reviewedAt": "2019-08-24T14:15:22Z",
    "reviewNotes": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "requester": {
      "id": "string",
      "name": "string",
      "email": "user@example.com",
      "company": "string",
      "title": "string",
      "avatar": "string"
    },
    "requesterEntity": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string",
      "slug": "string",
      "logoUrl": "string"
    }
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`startup-review-follow-request.response.200.data`; object, required)
  - `id` (`startup-review-follow-request.response.200.data.id`; string, required)
    - format `uuid`
  - `entityId` (`startup-review-follow-request.response.200.data.entityId`; string, required)
    - format `uuid`
  - `requestedBy` (`startup-review-follow-request.response.200.data.requestedBy`; string, required)
  - `requesterEntityId` (`startup-review-follow-request.response.200.data.requesterEntityId`; string, required, nullable)
    - format `uuid`
  - `status` (`startup-review-follow-request.response.200.data.status`; string, required)
    - one of `"pending"`, `"provisioning"`, `"approved"`, `"paused"`, `"expired"`, `"failed"`, `"rejected"`, `"cancelled"`
  - `requestNote` (`startup-review-follow-request.response.200.data.requestNote`; string, required, nullable)
  - `reason` (`startup-review-follow-request.response.200.data.reason`; string, required, nullable)
  - `requestedTier` (`startup-review-follow-request.response.200.data.requestedTier`; string, required, nullable)
    - one of `"follower"`, `"capital"`, `"diligence"`, `"custom"`
  - `desiredObservation` (`startup-review-follow-request.response.200.data.desiredObservation`; string, required, nullable)
  - `requestedDurationDays` (`startup-review-follow-request.response.200.data.requestedDurationDays`; integer, required, nullable)
    - min 1; max 365
  - `reviewDecision` (`startup-review-follow-request.response.200.data.reviewDecision`; string, required, nullable)
    - one of `"accepted"`, `"narrowed"`, `"declined"`
  - `grantedTier` (`startup-review-follow-request.response.200.data.grantedTier`; string, required, nullable)
    - one of `"follower"`, `"capital"`, `"diligence"`, `"custom"`
  - `grantedDurationDays` (`startup-review-follow-request.response.200.data.grantedDurationDays`; integer, required, nullable)
    - min 1; max 365
  - `relationshipId` (`startup-review-follow-request.response.200.data.relationshipId`; string, required, nullable)
    - format `uuid`
  - `accessExpiresAt` (`startup-review-follow-request.response.200.data.accessExpiresAt`; string, required, nullable)
    - format `date-time`
  - `renewalCount` (`startup-review-follow-request.response.200.data.renewalCount`; integer, required)
    - min 0
  - `lastRenewedAt` (`startup-review-follow-request.response.200.data.lastRenewedAt`; string, required, nullable)
    - format `date-time`
  - `reviewedBy` (`startup-review-follow-request.response.200.data.reviewedBy`; string, required, nullable)
  - `reviewedAt` (`startup-review-follow-request.response.200.data.reviewedAt`; string, required, nullable)
    - format `date-time`
  - `reviewNotes` (`startup-review-follow-request.response.200.data.reviewNotes`; string, required, nullable)
  - `createdAt` (`startup-review-follow-request.response.200.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`startup-review-follow-request.response.200.data.updatedAt`; string, required)
    - format `date-time`
  - `requester` (`startup-review-follow-request.response.200.data.requester`; object, required)
    - `id` (`startup-review-follow-request.response.200.data.requester.id`; string, required)
    - `name` (`startup-review-follow-request.response.200.data.requester.name`; string, required)
    - `email` (`startup-review-follow-request.response.200.data.requester.email`; string, required, nullable)
      - format `email`
    - `company` (`startup-review-follow-request.response.200.data.requester.company`; string, required, nullable)
    - `title` (`startup-review-follow-request.response.200.data.requester.title`; string, required, nullable)
    - `avatar` (`startup-review-follow-request.response.200.data.requester.avatar`; string, required, nullable)
  - `requesterEntity` (`startup-review-follow-request.response.200.data.requesterEntity`; object, required, nullable)
    - `id` (`startup-review-follow-request.response.200.data.requesterEntity.id`; string, required)
      - format `uuid`
    - `name` (`startup-review-follow-request.response.200.data.requesterEntity.name`; string, required)
    - `slug` (`startup-review-follow-request.response.200.data.requesterEntity.slug`; string, required, nullable)
    - `logoUrl` (`startup-review-follow-request.response.200.data.requesterEntity.logoUrl`; string, required, nullable)
  - `accessTier` (`startup-review-follow-request.response.200.data.accessTier`; string, optional, nullable)
    - one of `"follower"`, `"capital"`, `"diligence"`, `"custom"`; default `null`
- `meta` (`startup-review-follow-request.response.200.meta`; object, optional)
  - `timestamp` (`startup-review-follow-request.response.200.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

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

- `error` (`startup-review-follow-request.response.400.error`; object, required)
  - `code` (`startup-review-follow-request.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-review-follow-request.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`startup-review-follow-request.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-review-follow-request.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-review-follow-request.response.401.error`; object, required)
  - `code` (`startup-review-follow-request.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-review-follow-request.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`startup-review-follow-request.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-review-follow-request.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-review-follow-request.response.403.error`; object, required)
  - `code` (`startup-review-follow-request.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-review-follow-request.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`startup-review-follow-request.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-review-follow-request.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` (`startup-review-follow-request.response.404.error`; object, required)
  - `code` (`startup-review-follow-request.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-review-follow-request.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`startup-review-follow-request.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-review-follow-request.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` (`startup-review-follow-request.response.409.error`; object, required)
  - `code` (`startup-review-follow-request.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-review-follow-request.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`startup-review-follow-request.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-review-follow-request.response.409.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-review-follow-request.response.500.error`; object, required)
  - `code` (`startup-review-follow-request.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-review-follow-request.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`startup-review-follow-request.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-review-follow-request.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

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

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


Source: https://docs.sureshake.com/reference/startup-review-follow-request/index.md
