---
title: "Create goal"
---

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

## Request body

_Required._

- `entityId` (`execution-create-goal.entityId`; string, required)
  - format `uuid`
- `title` (`execution-create-goal.title`; string, required)
- `category` (`execution-create-goal.category`; string, required)
  - one of `"revenue"`, `"product"`, `"hiring"`, `"customers"`, `"partnerships"`, `"custom"`
- `goalType` (`execution-create-goal.goalType`; string, required)
  - one of `"financial_auto"`, `"manual"`
- `cycleId` (`execution-create-goal.cycleId`; string, optional)
  - format `uuid`
- `description` (`execution-create-goal.description`; string, optional)
- `weight` (`execution-create-goal.weight`; number, optional)
- `targetValue` (`execution-create-goal.targetValue`; number, optional)
- `deadlineAt` (`execution-create-goal.deadlineAt`; string, optional)
  - format `date-time`

## Example request

```json
{
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "cycleId": "811bdbf8-a42f-4f8c-b62e-39c77332ffe1",
  "title": "string",
  "description": "string",
  "category": "revenue",
  "goalType": "financial_auto",
  "weight": 0,
  "targetValue": 0,
  "deadlineAt": "2019-08-24T14:15:22Z"
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.sureshake.com/v2/execution/goals \
  --header 'Content-Type: application/json' \
  --data '
{
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "cycleId": "811bdbf8-a42f-4f8c-b62e-39c77332ffe1",
  "title": "string",
  "description": "string",
  "category": "revenue",
  "goalType": "financial_auto",
  "weight": 0,
  "targetValue": 0,
  "deadlineAt": "2019-08-24T14:15:22Z"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/execution/goals';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    entityId: '156e622c-6cdf-4c27-9bc9-2f2db69919f5',
    cycleId: '811bdbf8-a42f-4f8c-b62e-39c77332ffe1',
    title: 'string',
    description: 'string',
    category: 'revenue',
    goalType: 'financial_auto',
    weight: 0,
    targetValue: 0,
    deadlineAt: '2019-08-24T14:15:22Z'
  })
};

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/goals"

payload = {
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "cycleId": "811bdbf8-a42f-4f8c-b62e-39c77332ffe1",
    "title": "string",
    "description": "string",
    "category": "revenue",
    "goalType": "financial_auto",
    "weight": 0,
    "targetValue": 0,
    "deadlineAt": "2019-08-24T14:15:22Z"
}
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",
    "cycleId": "811bdbf8-a42f-4f8c-b62e-39c77332ffe1",
    "title": "string",
    "outcome": "string",
    "description": "string",
    "successCriteria": "string",
    "ownerUserId": "string",
    "completionDefinition": "string",
    "proofStandard": "string",
    "category": "revenue",
    "goalType": "financial_auto",
    "weight": 0,
    "targetValue": 0,
    "commitmentTargetValue": 0,
    "baselineValue": 0,
    "measurementUnit": "string",
    "expectedEffortMinutes": 1,
    "dependencies": [
      "string"
    ],
    "risks": [
      "string"
    ],
    "qualityWarnings": [
      {
        "code": "activity_based",
        "message": "string",
        "fields": [
          "outcome"
        ]
      }
    ],
    "qualityAssessedAt": "2019-08-24T14:15:22Z",
    "actualValue": 0,
    "completionPct": 0,
    "status": "string",
    "deadlineAt": "2019-08-24T14:15:22Z",
    "committedAt": "2019-08-24T14:15:22Z",
    "commitmentStartAt": "2019-08-24T14:15:22Z",
    "currentVersionNumber": 1,
    "payloadHash": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`execution-create-goal.response.201.data`; object, required)
  - `id` (`execution-create-goal.response.201.data.id`; string, required)
    - format `uuid`
  - `entityId` (`execution-create-goal.response.201.data.entityId`; string, required)
    - format `uuid`
  - `title` (`execution-create-goal.response.201.data.title`; string, required)
  - `outcome` (`execution-create-goal.response.201.data.outcome`; string, required)
  - `ownerUserId` (`execution-create-goal.response.201.data.ownerUserId`; string, required, nullable)
    - minLength 1
  - `completionDefinition` (`execution-create-goal.response.201.data.completionDefinition`; string, required, nullable)
    - minLength 1; maxLength 2000
  - `proofStandard` (`execution-create-goal.response.201.data.proofStandard`; string, required, nullable)
    - minLength 1; maxLength 2000
  - `category` (`execution-create-goal.response.201.data.category`; string, required)
    - one of `"revenue"`, `"product"`, `"hiring"`, `"customers"`, `"partnerships"`, `"custom"`
  - `goalType` (`execution-create-goal.response.201.data.goalType`; string, required)
    - one of `"financial_auto"`, `"manual"`
  - `commitmentTargetValue` (`execution-create-goal.response.201.data.commitmentTargetValue`; number, required, nullable)
  - `baselineValue` (`execution-create-goal.response.201.data.baselineValue`; number, required, nullable)
  - `measurementUnit` (`execution-create-goal.response.201.data.measurementUnit`; string, required, nullable)
    - minLength 1; maxLength 100
  - `expectedEffortMinutes` (`execution-create-goal.response.201.data.expectedEffortMinutes`; integer, required, nullable)
    - min 1; max 10080
  - `dependencies` (`execution-create-goal.response.201.data.dependencies`; array<string>, required, nullable)
    - minLength 1; maxLength 500
  - `risks` (`execution-create-goal.response.201.data.risks`; array<string>, required, nullable)
    - minLength 1; maxLength 500
  - `qualityWarnings` (`execution-create-goal.response.201.data.qualityWarnings`; array<object>, required, nullable)
    - `code` (`execution-create-goal.response.201.data.qualityWarnings.code`; string, required)
      - one of `"activity_based"`, `"not_objectively_closeable"`
    - `message` (`execution-create-goal.response.201.data.qualityWarnings.message`; string, required)
      - minLength 1; maxLength 500
    - `fields` (`execution-create-goal.response.201.data.qualityWarnings.fields`; array<string>, required)
      - one of `"outcome"`, `"completionDefinition"`, `"proofStandard"`
  - `qualityAssessedAt` (`execution-create-goal.response.201.data.qualityAssessedAt`; string, required, nullable)
    - format `date-time`
  - `status` (`execution-create-goal.response.201.data.status`; string, required)
  - `createdAt` (`execution-create-goal.response.201.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`execution-create-goal.response.201.data.updatedAt`; string, required)
    - format `date-time`
  - `cycleId` (`execution-create-goal.response.201.data.cycleId`; string, optional, nullable)
    - format `uuid`
  - `description` (`execution-create-goal.response.201.data.description`; string, optional, nullable)
  - `successCriteria` (`execution-create-goal.response.201.data.successCriteria`; string, optional, nullable)
  - `weight` (`execution-create-goal.response.201.data.weight`; number, optional, nullable)
  - `targetValue` (`execution-create-goal.response.201.data.targetValue`; number, optional, nullable)
  - `actualValue` (`execution-create-goal.response.201.data.actualValue`; number, optional, nullable)
  - `completionPct` (`execution-create-goal.response.201.data.completionPct`; number, optional, nullable)
  - `deadlineAt` (`execution-create-goal.response.201.data.deadlineAt`; string, optional, nullable)
    - format `date-time`
  - `committedAt` (`execution-create-goal.response.201.data.committedAt`; string, optional, nullable)
    - format `date-time`
  - `commitmentStartAt` (`execution-create-goal.response.201.data.commitmentStartAt`; string, optional, nullable)
    - format `date-time`
  - `currentVersionNumber` (`execution-create-goal.response.201.data.currentVersionNumber`; integer, optional, nullable)
    - min 1
  - `payloadHash` (`execution-create-goal.response.201.data.payloadHash`; string, optional, nullable)
- `meta` (`execution-create-goal.response.201.meta`; object, optional)
  - `timestamp` (`execution-create-goal.response.201.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

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

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

### 422

Default Response

#### Example

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

- `error` (`execution-create-goal.response.422.error`; object, required)
  - `code` (`execution-create-goal.response.422.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-goal.response.422.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-goal.response.422.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-goal.response.422.error.traceId`; string, optional) — Unique ID for log correlation

### 429

Default Response

#### Example

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

- `error` (`execution-create-goal.response.429.error`; object, required)
  - `code` (`execution-create-goal.response.429.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-goal.response.429.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-goal.response.429.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-goal.response.429.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

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

- `error` (`execution-create-goal.response.500.error`; object, required)
  - `code` (`execution-create-goal.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-goal.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-goal.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-goal.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 502

Default Response

#### Example

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

- `error` (`execution-create-goal.response.502.error`; object, required)
  - `code` (`execution-create-goal.response.502.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-goal.response.502.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-goal.response.502.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-goal.response.502.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

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

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


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