---
title: "Validate, scan, attach, and anchor uploaded Forecast proof"
---

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

`POST /v2/entities/{entityId}/calls/{callId}/evidence/{evidenceId}/confirm`

## Path parameters

- `entityId` (`predictions-confirm-evidence-upload.path.entityId`; any of, required)
  - any of: `string`, `string`
- `callId` (`predictions-confirm-evidence-upload.path.callId`; string, required)
  - format `uuid`
- `evidenceId` (`predictions-confirm-evidence-upload.path.evidenceId`; string, required)
  - format `uuid`

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/entities/<entityId>/calls/<callId>/evidence/<evidenceId>/confirm'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/entities/<entityId>/calls/<callId>/evidence/<evidenceId>/confirm';
const options = {method: 'POST'};

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>/calls/<callId>/evidence/<evidenceId>/confirm"

response = requests.post(url)

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "callId": "4722cd84-0ec7-4ef5-8c34-1b0150f45f53",
    "filename": "string",
    "mimeType": "string",
    "byteSize": 0,
    "sha256": "string",
    "status": "upload_session_created",
    "scanError": "string",
    "eventId": "d6703cc8-9e79-415d-ac03-a4dc7f6ab43c",
    "confirmedAt": "2019-08-24T14:15:22Z",
    "createdAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`predictions-confirm-evidence-upload.response.200.data`; object, required)
  - `id` (`predictions-confirm-evidence-upload.response.200.data.id`; string, required)
    - format `uuid`
  - `callId` (`predictions-confirm-evidence-upload.response.200.data.callId`; string, required)
    - format `uuid`
  - `filename` (`predictions-confirm-evidence-upload.response.200.data.filename`; string, required)
  - `mimeType` (`predictions-confirm-evidence-upload.response.200.data.mimeType`; string, required)
  - `byteSize` (`predictions-confirm-evidence-upload.response.200.data.byteSize`; integer, required)
    - min 0
  - `sha256` (`predictions-confirm-evidence-upload.response.200.data.sha256`; string, required)
    - pattern `^sha256:[a-f0-9]{64}$`
  - `status` (`predictions-confirm-evidence-upload.response.200.data.status`; string, required)
    - one of `"upload_session_created"`, `"scan_pending"`, `"attached"`, `"failed"`
  - `scanError` (`predictions-confirm-evidence-upload.response.200.data.scanError`; string, required, nullable)
  - `eventId` (`predictions-confirm-evidence-upload.response.200.data.eventId`; string, required, nullable)
    - format `uuid`
  - `confirmedAt` (`predictions-confirm-evidence-upload.response.200.data.confirmedAt`; string, required, nullable)
    - format `date-time`
  - `createdAt` (`predictions-confirm-evidence-upload.response.200.data.createdAt`; string, required)
    - format `date-time`
- `meta` (`predictions-confirm-evidence-upload.response.200.meta`; object, optional)
  - `timestamp` (`predictions-confirm-evidence-upload.response.200.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

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

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


Source: https://docs.sureshake.com/reference/predictions-confirm-evidence-upload/index.md
