---
title: "Accept or decline a startup engagement 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 › startup-engagement-requests

`POST /v2/startups/{startupListingId}/engagement-requests/{engagementRequestId}/response`

## Path parameters

- `startupListingId` (`startup-engagement-requests-respond.path.startupListingId`; string, required)
  - format `uuid`
- `engagementRequestId` (`startup-engagement-requests-respond.path.engagementRequestId`; string, required)
  - format `uuid`

## Request body

_Required._

- `decision` (`startup-engagement-requests-respond.decision`; string, required)
  - one of `"accept"`, `"decline"`
- `response` (`startup-engagement-requests-respond.response`; string, required)
  - minLength 3; maxLength 2000
- `idempotencyKey` (`startup-engagement-requests-respond.idempotencyKey`; string, required)
  - format `uuid`

## Example request

```json
{
  "decision": "accept",
  "response": "string",
  "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1"
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/startups/<startupListingId>/engagement-requests/<engagementRequestId>/response' \
  --header 'Content-Type: application/json' \
  --data '
{
  "decision": "accept",
  "response": "string",
  "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/startups/<startupListingId>/engagement-requests/<engagementRequestId>/response';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    decision: 'accept',
    response: 'string',
    idempotencyKey: '0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1'
  })
};

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/startups/<startupListingId>/engagement-requests/<engagementRequestId>/response"

payload = {
    "decision": "accept",
    "response": "string",
    "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1"
}
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",
    "startupListingId": "d16a646b-f433-44ce-aaae-42761cf79f25",
    "relationshipId": "928dd5b8-3ead-4528-bdef-9c0b867a5d7d",
    "requesterUserId": "string",
    "requesterPrincipal": {
      "type": "entity",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    },
    "kind": "meeting",
    "engagementStage": "meeting",
    "engagementEventType": "investor.meeting_requested",
    "subject": "string",
    "reason": "stringstri",
    "availability": "string",
    "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9",
    "requestedAccessTier": "capital",
    "desiredObservation": "string",
    "status": "pending",
    "resolvedByUserId": "string",
    "resolvedAt": "2019-08-24T14:15:22Z",
    "resolutionNote": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`startup-engagement-requests-respond.response.200.data`; object, required)
  - `id` (`startup-engagement-requests-respond.response.200.data.id`; string, required)
    - format `uuid`
  - `startupListingId` (`startup-engagement-requests-respond.response.200.data.startupListingId`; string, required)
    - format `uuid`
  - `relationshipId` (`startup-engagement-requests-respond.response.200.data.relationshipId`; string, required)
    - format `uuid`
  - `requesterUserId` (`startup-engagement-requests-respond.response.200.data.requesterUserId`; string, required)
    - minLength 1
  - `requesterPrincipal` (`startup-engagement-requests-respond.response.200.data.requesterPrincipal`; object, required)
    - `type` (`startup-engagement-requests-respond.response.200.data.requesterPrincipal.type`; string, required)
      - one of `"entity"`
    - `id` (`startup-engagement-requests-respond.response.200.data.requesterPrincipal.id`; string, required)
      - format `uuid`
  - `kind` (`startup-engagement-requests-respond.response.200.data.kind`; string, required)
    - one of `"meeting"`, `"report"`, `"deeper_access"`
  - `engagementStage` (`startup-engagement-requests-respond.response.200.data.engagementStage`; string, required)
    - one of `"meeting"`, `"diligence"`
  - `engagementEventType` (`startup-engagement-requests-respond.response.200.data.engagementEventType`; string, required)
    - one of `"investor.meeting_requested"`, `"investor.report_requested"`, `"investor.diligence_requested"`
  - `subject` (`startup-engagement-requests-respond.response.200.data.subject`; string, required)
    - minLength 1; maxLength 200
  - `reason` (`startup-engagement-requests-respond.response.200.data.reason`; string, required)
    - minLength 10; maxLength 2000
  - `availability` (`startup-engagement-requests-respond.response.200.data.availability`; string, required, nullable)
    - minLength 1; maxLength 500
  - `reportId` (`startup-engagement-requests-respond.response.200.data.reportId`; string, required, nullable)
    - format `uuid`
  - `requestedAccessTier` (`startup-engagement-requests-respond.response.200.data.requestedAccessTier`; string, required, nullable)
    - one of `"capital"`, `"diligence"`
  - `desiredObservation` (`startup-engagement-requests-respond.response.200.data.desiredObservation`; string, required, nullable)
    - minLength 1; maxLength 500
  - `status` (`startup-engagement-requests-respond.response.200.data.status`; string, required)
    - one of `"pending"`, `"accepted"`, `"declined"`, `"cancelled"`
  - `resolvedByUserId` (`startup-engagement-requests-respond.response.200.data.resolvedByUserId`; string, required, nullable)
    - minLength 1
  - `resolvedAt` (`startup-engagement-requests-respond.response.200.data.resolvedAt`; string, required, nullable)
    - format `date-time`
  - `resolutionNote` (`startup-engagement-requests-respond.response.200.data.resolutionNote`; string, required, nullable)
    - minLength 3; maxLength 2000
  - `createdAt` (`startup-engagement-requests-respond.response.200.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`startup-engagement-requests-respond.response.200.data.updatedAt`; string, required)
    - format `date-time`
- `meta` (`startup-engagement-requests-respond.response.200.meta`; object, optional)
  - `timestamp` (`startup-engagement-requests-respond.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-engagement-requests-respond.response.400.error`; object, required)
  - `code` (`startup-engagement-requests-respond.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-engagement-requests-respond.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`startup-engagement-requests-respond.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-engagement-requests-respond.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-engagement-requests-respond.response.401.error`; object, required)
  - `code` (`startup-engagement-requests-respond.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-engagement-requests-respond.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`startup-engagement-requests-respond.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-engagement-requests-respond.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-engagement-requests-respond.response.403.error`; object, required)
  - `code` (`startup-engagement-requests-respond.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-engagement-requests-respond.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`startup-engagement-requests-respond.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-engagement-requests-respond.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-engagement-requests-respond.response.404.error`; object, required)
  - `code` (`startup-engagement-requests-respond.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-engagement-requests-respond.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`startup-engagement-requests-respond.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-engagement-requests-respond.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-engagement-requests-respond.response.409.error`; object, required)
  - `code` (`startup-engagement-requests-respond.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-engagement-requests-respond.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`startup-engagement-requests-respond.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-engagement-requests-respond.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-engagement-requests-respond.response.500.error`; object, required)
  - `code` (`startup-engagement-requests-respond.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`startup-engagement-requests-respond.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`startup-engagement-requests-respond.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`startup-engagement-requests-respond.response.500.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/startup-engagement-requests-respond/index.md
