---
title: "Create a draft Forecast or Commitment"
---

> 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`

## Path parameters

- `entityId` (`predictions-create.path.entityId`; any of, required)
  - any of: `string`, `string`

## Request body

_Required._

- `species` (`predictions-create.species`; string, required)
  - one of `"commitment"`, `"forecast"`
- `canonicalStatement` (`predictions-create.canonicalStatement`; string, required)
  - minLength 5; maxLength 2000
- `form` (`predictions-create.form`; string, required)
  - one of `"structured"`, `"freeform"`
- `template` (`predictions-create.template`; string, required)
  - one of `"freeform"`, `"numeric"`, `"price"`, `"binary"`, `"range"`, `"date"`, `"probability"`, `"relative"`
- `resolutionDate` (`predictions-create.resolutionDate`; string, required)
  - format `date-time`
- `thesis` (`predictions-create.thesis`; string, optional)
  - maxLength 10000
- `visibility` (`predictions-create.visibility`; string, optional)
  - one of `"public"`, `"permissioned"`, `"sealed"`; default `"public"`
- `category` (`predictions-create.category`; string, optional)
  - one of `"revenue"`, `"product"`, `"hiring"`, `"customers"`, `"partnerships"`, `"custom"`; default `"custom"`
- `subjectType` (`predictions-create.subjectType`; string, optional)
  - one of `"entity"`, `"security"`, `"metric"`, `"event"`, `"other"`; default `"other"`
- `subjectRef` (`predictions-create.subjectRef`; string, optional)
  - maxLength 500
- `subjectLabel` (`predictions-create.subjectLabel`; string, optional)
  - maxLength 500
- `metricBinding` (`predictions-create.metricBinding`; object, optional)
  - `metricKey` (`predictions-create.metricBinding.metricKey`; string, required)
    - minLength 1; maxLength 250
  - `comparator` (`predictions-create.metricBinding.comparator`; string, required)
    - one of `"gte"`, `"lte"`, `"eq"`, `"between"`, `"before"`, `"after"`
  - `targetValue` (`predictions-create.metricBinding.targetValue`; number, optional)
  - `targetValueHi` (`predictions-create.metricBinding.targetValueHi`; number, optional)
  - `unit` (`predictions-create.metricBinding.unit`; string, optional)
    - minLength 1; maxLength 100
  - `periodType` (`predictions-create.metricBinding.periodType`; string, optional)
    - minLength 1; maxLength 100
  - `periodRef` (`predictions-create.metricBinding.periodRef`; string, optional)
    - minLength 1; maxLength 250
- `resolutionTimezone` (`predictions-create.resolutionTimezone`; string, optional)
  - minLength 1; maxLength 100; default `"UTC"`
- `resolutionSourceType` (`predictions-create.resolutionSourceType`; string, optional)
  - one of `"self_report"`, `"sfrs"`, `"crm"`, `"market_data"`, `"public_record"`, `"third_party_attestation"`; default `"self_report"`
- `resolutionSourceConfig` (`predictions-create.resolutionSourceConfig`; map<unknown>, optional)
- `confidencePct` (`predictions-create.confidencePct`; number, optional)
  - min 0; max 100
- `falsifier` (`predictions-create.falsifier`; string, optional)
  - maxLength 4000
- `positionDisclosure` (`predictions-create.positionDisclosure`; object, optional)
  - `position` (`predictions-create.positionDisclosure.position`; string, required)
    - one of `"long"`, `"short"`, `"options"`, `"none"`, `"other"`
  - `affiliated` (`predictions-create.positionDisclosure.affiliated`; boolean, optional)
    - default `false`
  - `compensated` (`predictions-create.positionDisclosure.compensated`; boolean, optional)
    - default `false`
  - `note` (`predictions-create.positionDisclosure.note`; string, optional)
    - maxLength 1000
- `audienceUserIds` (`predictions-create.audienceUserIds`; array<string>, optional)
  - minLength 1; default `[]`

## Example request

```json
{
  "species": "commitment",
  "canonicalStatement": "string",
  "thesis": "string",
  "form": "structured",
  "template": "freeform",
  "visibility": "public",
  "category": "revenue",
  "subjectType": "entity",
  "subjectRef": "string",
  "subjectLabel": "string",
  "metricBinding": {
    "metricKey": "string",
    "comparator": "gte",
    "targetValue": 0,
    "targetValueHi": 0,
    "unit": "string",
    "periodType": "string",
    "periodRef": "string"
  },
  "resolutionDate": "2019-08-24T14:15:22Z",
  "resolutionTimezone": "UTC",
  "resolutionSourceType": "self_report",
  "resolutionSourceConfig": {
    "property1": null,
    "property2": null
  },
  "confidencePct": 100,
  "falsifier": "string",
  "positionDisclosure": {
    "position": "long",
    "affiliated": false,
    "compensated": false,
    "note": "string"
  },
  "audienceUserIds": []
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/entities/<entityId>/calls' \
  --header 'Content-Type: application/json' \
  --data '
{
  "species": "commitment",
  "canonicalStatement": "string",
  "thesis": "string",
  "form": "structured",
  "template": "freeform",
  "visibility": "public",
  "category": "revenue",
  "subjectType": "entity",
  "subjectRef": "string",
  "subjectLabel": "string",
  "metricBinding": {
    "metricKey": "string",
    "comparator": "gte",
    "targetValue": 0,
    "targetValueHi": 0,
    "unit": "string",
    "periodType": "string",
    "periodRef": "string"
  },
  "resolutionDate": "2019-08-24T14:15:22Z",
  "resolutionTimezone": "UTC",
  "resolutionSourceType": "self_report",
  "resolutionSourceConfig": {
    "property1": null,
    "property2": null
  },
  "confidencePct": 100,
  "falsifier": "string",
  "positionDisclosure": {
    "position": "long",
    "affiliated": false,
    "compensated": false,
    "note": "string"
  },
  "audienceUserIds": []
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/entities/<entityId>/calls';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    species: 'commitment',
    canonicalStatement: 'string',
    thesis: 'string',
    form: 'structured',
    template: 'freeform',
    visibility: 'public',
    category: 'revenue',
    subjectType: 'entity',
    subjectRef: 'string',
    subjectLabel: 'string',
    metricBinding: {
      metricKey: 'string',
      comparator: 'gte',
      targetValue: 0,
      targetValueHi: 0,
      unit: 'string',
      periodType: 'string',
      periodRef: 'string'
    },
    resolutionDate: '2019-08-24T14:15:22Z',
    resolutionTimezone: 'UTC',
    resolutionSourceType: 'self_report',
    resolutionSourceConfig: {property1: null, property2: null},
    confidencePct: 100,
    falsifier: 'string',
    positionDisclosure: {position: 'long', affiliated: false, compensated: false, note: 'string'},
    audienceUserIds: []
  })
};

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"

payload = {
    "species": "commitment",
    "canonicalStatement": "string",
    "thesis": "string",
    "form": "structured",
    "template": "freeform",
    "visibility": "public",
    "category": "revenue",
    "subjectType": "entity",
    "subjectRef": "string",
    "subjectLabel": "string",
    "metricBinding": {
        "metricKey": "string",
        "comparator": "gte",
        "targetValue": 0,
        "targetValueHi": 0,
        "unit": "string",
        "periodType": "string",
        "periodRef": "string"
    },
    "resolutionDate": "2019-08-24T14:15:22Z",
    "resolutionTimezone": "UTC",
    "resolutionSourceType": "self_report",
    "resolutionSourceConfig": {
        "property1": None,
        "property2": None
    },
    "confidencePct": 100,
    "falsifier": "string",
    "positionDisclosure": {
        "position": "long",
        "affiliated": False,
        "compensated": False,
        "note": "string"
    },
    "audienceUserIds": []
}
headers = {"Content-Type": "application/json"}

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

print(response.text)
```

## Responses

### 201

Default Response

#### Example

```json
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "species": "commitment",
    "canonicalStatement": "string",
    "thesis": "string",
    "form": "structured",
    "template": "freeform",
    "visibility": "public",
    "lifecycleState": "draft",
    "category": "string",
    "subjectType": "entity",
    "subjectRef": "string",
    "subjectLabel": "string",
    "metricKey": "string",
    "comparator": "string",
    "targetValue": 0,
    "targetValueHi": 0,
    "unit": "string",
    "periodType": "string",
    "periodRef": "string",
    "resolutionDate": "2019-08-24T14:15:22Z",
    "resolutionTimezone": "string",
    "resolutionSourceType": "self_report",
    "resolutionSourceConfig": {
      "property1": null,
      "property2": null
    },
    "confidencePct": 0,
    "currentConfidencePct": 0,
    "falsifier": "string",
    "positionDisclosure": {
      "position": "long",
      "affiliated": false,
      "compensated": false,
      "note": "string"
    },
    "payloadHash": "string",
    "creationSalt": "string",
    "resolutionSalt": "string",
    "anchoredTx": "string",
    "anchorStatus": "not_ready",
    "anchorFailure": {
      "code": "string",
      "message": "string",
      "retryable": true,
      "attempts": 0
    },
    "lockWalletIntentId": "1ca65f21-d867-4629-9a86-07516f2f60b0",
    "lockWalletIntentStatus": "pending",
    "lockFailure": {
      "code": "string",
      "message": "string"
    },
    "tokenContractAddress": "string",
    "tokenId": "string",
    "tokenUri": "string",
    "assetIdentityId": "f0cf01be-5b7d-4b79-8e07-5f9b31e1da00",
    "lockedAt": "2019-08-24T14:15:22Z",
    "revealedAt": "2019-08-24T14:15:22Z",
    "retractedAt": "2019-08-24T14:15:22Z",
    "lapsedAt": "2019-08-24T14:15:22Z",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "erc8004ValidationStatus": "not_requested",
    "erc8004ValidationRequestId": "string",
    "erc8004ValidationRequestTx": "string",
    "erc8004ValidationResultTx": "string",
    "resolution": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "outcome": "hit",
      "provenance": "source_verified",
      "actualResult": "string",
      "actualValue": 0,
      "completionPct": 0,
      "varianceExplanation": "string",
      "sourceRef": "string",
      "payloadHash": "string",
      "anchoredTx": "string",
      "anchoredAt": "2019-08-24T14:15:22Z",
      "resolvedAt": "2019-08-24T14:15:22Z",
      "isLate": true
    }
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`predictions-create.response.201.data`; object, required)
  - `id` (`predictions-create.response.201.data.id`; string, required)
    - format `uuid`
  - `entityId` (`predictions-create.response.201.data.entityId`; string, required)
    - format `uuid`
  - `species` (`predictions-create.response.201.data.species`; string, required)
    - one of `"commitment"`, `"forecast"`
  - `canonicalStatement` (`predictions-create.response.201.data.canonicalStatement`; string, required, nullable)
  - `thesis` (`predictions-create.response.201.data.thesis`; string, required, nullable)
  - `form` (`predictions-create.response.201.data.form`; string, required)
    - one of `"structured"`, `"freeform"`
  - `template` (`predictions-create.response.201.data.template`; string, required)
    - one of `"freeform"`, `"numeric"`, `"price"`, `"binary"`, `"range"`, `"date"`, `"probability"`, `"relative"`
  - `visibility` (`predictions-create.response.201.data.visibility`; string, required)
    - one of `"public"`, `"permissioned"`, `"sealed"`
  - `lifecycleState` (`predictions-create.response.201.data.lifecycleState`; string, required)
    - one of `"draft"`, `"locking"`, `"open"`, `"resolved"`, `"lapsed"`, `"retracted"`
  - `category` (`predictions-create.response.201.data.category`; string, required)
  - `subjectType` (`predictions-create.response.201.data.subjectType`; string, required)
    - one of `"entity"`, `"security"`, `"metric"`, `"event"`, `"other"`
  - `subjectRef` (`predictions-create.response.201.data.subjectRef`; string, required, nullable)
  - `subjectLabel` (`predictions-create.response.201.data.subjectLabel`; string, required, nullable)
  - `metricKey` (`predictions-create.response.201.data.metricKey`; string, required, nullable)
  - `comparator` (`predictions-create.response.201.data.comparator`; string, required, nullable)
  - `targetValue` (`predictions-create.response.201.data.targetValue`; number, required, nullable)
  - `targetValueHi` (`predictions-create.response.201.data.targetValueHi`; number, required, nullable)
  - `unit` (`predictions-create.response.201.data.unit`; string, required, nullable)
  - `periodType` (`predictions-create.response.201.data.periodType`; string, required, nullable)
  - `periodRef` (`predictions-create.response.201.data.periodRef`; string, required, nullable)
  - `resolutionDate` (`predictions-create.response.201.data.resolutionDate`; string, required)
    - format `date-time`
  - `resolutionTimezone` (`predictions-create.response.201.data.resolutionTimezone`; string, required)
  - `resolutionSourceType` (`predictions-create.response.201.data.resolutionSourceType`; string, required)
    - one of `"self_report"`, `"sfrs"`, `"crm"`, `"market_data"`, `"public_record"`, `"third_party_attestation"`
  - `resolutionSourceConfig` (`predictions-create.response.201.data.resolutionSourceConfig`; map<unknown>, required, nullable)
  - `confidencePct` (`predictions-create.response.201.data.confidencePct`; number, required, nullable)
  - `currentConfidencePct` (`predictions-create.response.201.data.currentConfidencePct`; number, required, nullable)
  - `falsifier` (`predictions-create.response.201.data.falsifier`; string, required, nullable)
  - `positionDisclosure` (`predictions-create.response.201.data.positionDisclosure`; object, required, nullable)
    - `position` (`predictions-create.response.201.data.positionDisclosure.position`; string, required)
      - one of `"long"`, `"short"`, `"options"`, `"none"`, `"other"`
    - `affiliated` (`predictions-create.response.201.data.positionDisclosure.affiliated`; boolean, optional)
      - default `false`
    - `compensated` (`predictions-create.response.201.data.positionDisclosure.compensated`; boolean, optional)
      - default `false`
    - `note` (`predictions-create.response.201.data.positionDisclosure.note`; string, optional)
      - maxLength 1000
  - `payloadHash` (`predictions-create.response.201.data.payloadHash`; string, required, nullable)
  - `creationSalt` (`predictions-create.response.201.data.creationSalt`; string, required, nullable)
    - pattern `^[a-f0-9]{64}$`
  - `resolutionSalt` (`predictions-create.response.201.data.resolutionSalt`; string, required, nullable)
    - pattern `^[a-f0-9]{64}$`
  - `anchoredTx` (`predictions-create.response.201.data.anchoredTx`; string, required, nullable)
  - `anchorStatus` (`predictions-create.response.201.data.anchorStatus`; string, required)
    - one of `"not_ready"`, `"queued"`, `"submitting"`, `"pending_confirmation"`, `"anchored"`, `"retryable_failure"`, `"permanent_failure"`, `"unavailable"`
  - `anchorFailure` (`predictions-create.response.201.data.anchorFailure`; object, required, nullable)
    - `code` (`predictions-create.response.201.data.anchorFailure.code`; string, required)
    - `message` (`predictions-create.response.201.data.anchorFailure.message`; string, required)
    - `retryable` (`predictions-create.response.201.data.anchorFailure.retryable`; boolean, required)
    - `attempts` (`predictions-create.response.201.data.anchorFailure.attempts`; integer, required)
      - min 0
  - `lockWalletIntentId` (`predictions-create.response.201.data.lockWalletIntentId`; string, required, nullable)
    - format `uuid`
  - `lockWalletIntentStatus` (`predictions-create.response.201.data.lockWalletIntentStatus`; string, required, nullable)
    - one of `"pending"`, `"queued"`, `"submitted"`, `"confirmed"`, `"failed"`
  - `lockFailure` (`predictions-create.response.201.data.lockFailure`; object, required, nullable)
    - `code` (`predictions-create.response.201.data.lockFailure.code`; string, required)
    - `message` (`predictions-create.response.201.data.lockFailure.message`; string, required)
  - `tokenContractAddress` (`predictions-create.response.201.data.tokenContractAddress`; string, required, nullable)
  - `tokenId` (`predictions-create.response.201.data.tokenId`; string, required, nullable)
  - `tokenUri` (`predictions-create.response.201.data.tokenUri`; string, required, nullable)
  - `assetIdentityId` (`predictions-create.response.201.data.assetIdentityId`; string, required, nullable)
    - format `uuid`
  - `lockedAt` (`predictions-create.response.201.data.lockedAt`; string, required, nullable)
    - format `date-time`
  - `revealedAt` (`predictions-create.response.201.data.revealedAt`; string, required, nullable)
    - format `date-time`
  - `retractedAt` (`predictions-create.response.201.data.retractedAt`; string, required, nullable)
    - format `date-time`
  - `lapsedAt` (`predictions-create.response.201.data.lapsedAt`; string, required, nullable)
    - format `date-time`
  - `createdAt` (`predictions-create.response.201.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`predictions-create.response.201.data.updatedAt`; string, required)
    - format `date-time`
  - `erc8004ValidationStatus` (`predictions-create.response.201.data.erc8004ValidationStatus`; string, required)
    - one of `"not_requested"`, `"pending"`, `"validated"`, `"failed"`, `"skipped"`
  - `erc8004ValidationRequestId` (`predictions-create.response.201.data.erc8004ValidationRequestId`; string, required, nullable)
  - `erc8004ValidationRequestTx` (`predictions-create.response.201.data.erc8004ValidationRequestTx`; string, required, nullable)
  - `erc8004ValidationResultTx` (`predictions-create.response.201.data.erc8004ValidationResultTx`; string, required, nullable)
  - `resolution` (`predictions-create.response.201.data.resolution`; object, required, nullable)
    - `id` (`predictions-create.response.201.data.resolution.id`; string, required)
      - format `uuid`
    - `outcome` (`predictions-create.response.201.data.resolution.outcome`; string, required)
      - one of `"hit"`, `"miss"`, `"partial"`
    - `provenance` (`predictions-create.response.201.data.resolution.provenance`; string, required)
      - one of `"source_verified"`, `"third_party_attested"`, `"self_reported"`
    - `actualResult` (`predictions-create.response.201.data.resolution.actualResult`; string, required)
    - `actualValue` (`predictions-create.response.201.data.resolution.actualValue`; number, required, nullable)
    - `completionPct` (`predictions-create.response.201.data.resolution.completionPct`; number, required, nullable)
    - `varianceExplanation` (`predictions-create.response.201.data.resolution.varianceExplanation`; string, required, nullable)
    - `sourceRef` (`predictions-create.response.201.data.resolution.sourceRef`; string, required, nullable)
    - `payloadHash` (`predictions-create.response.201.data.resolution.payloadHash`; string, required, nullable)
    - `anchoredTx` (`predictions-create.response.201.data.resolution.anchoredTx`; string, required, nullable)
    - `anchoredAt` (`predictions-create.response.201.data.resolution.anchoredAt`; string, required, nullable)
      - format `date-time`
    - `resolvedAt` (`predictions-create.response.201.data.resolution.resolvedAt`; string, required)
      - format `date-time`
    - `isLate` (`predictions-create.response.201.data.resolution.isLate`; boolean, required)
- `meta` (`predictions-create.response.201.meta`; object, optional)
  - `timestamp` (`predictions-create.response.201.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

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

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


Source: https://docs.sureshake.com/reference/predictions-create/index.md
