---
title: "Create cycle"
---

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

## Request body

Any of:

- `object`
  - `entityId` (`execution-create-cycle.1.entityId`; string, required)
    - format `uuid`
  - `label` (`execution-create-cycle.1.label`; string, required)
    - minLength 1; maxLength 120
  - `startDate` (`execution-create-cycle.1.startDate`; string, required)
    - format `date-time`
  - `primaryOutcome` (`execution-create-cycle.1.primaryOutcome`; string, required)
    - minLength 1; maxLength 4000
  - `baselineId` (`execution-create-cycle.1.baselineId`; string, required)
    - format `uuid`
  - `ownerUserId` (`execution-create-cycle.1.ownerUserId`; string, required)
    - minLength 1; maxLength 255
  - `cadence` (`execution-create-cycle.1.cadence`; string, required)
    - one of `"weekly"`, `"biweekly"`, `"monthly"`
  - `visibility` (`execution-create-cycle.1.visibility`; string, required)
    - one of `"public"`, `"follower"`, `"capital"`, `"diligence"`, `"custom"`
  - `durationMode` (`execution-create-cycle.1.durationMode`; string, required)
    - one of `"eight_week_template"`
  - `reviewPrompt` (`execution-create-cycle.1.reviewPrompt`; object, optional)
    - `enabled` (`execution-create-cycle.1.reviewPrompt.enabled`; boolean, optional)
      - default `true`
    - `dayOfWeek` (`execution-create-cycle.1.reviewPrompt.dayOfWeek`; integer, optional)
      - min 0; max 6; default `5`
    - `localTime` (`execution-create-cycle.1.reviewPrompt.localTime`; string, optional)
      - pattern `^([01][0-9]|2[0-3]):[0-5][0-9]$`; default `"16:00"`
    - `timeZone` (`execution-create-cycle.1.reviewPrompt.timeZone`; string, optional)
      - minLength 1; maxLength 100; default `"UTC"`
- `object`
  - `entityId` (`execution-create-cycle.2.entityId`; string, required)
    - format `uuid`
  - `label` (`execution-create-cycle.2.label`; string, required)
    - minLength 1; maxLength 120
  - `startDate` (`execution-create-cycle.2.startDate`; string, required)
    - format `date-time`
  - `primaryOutcome` (`execution-create-cycle.2.primaryOutcome`; string, required)
    - minLength 1; maxLength 4000
  - `baselineId` (`execution-create-cycle.2.baselineId`; string, required)
    - format `uuid`
  - `ownerUserId` (`execution-create-cycle.2.ownerUserId`; string, required)
    - minLength 1; maxLength 255
  - `cadence` (`execution-create-cycle.2.cadence`; string, required)
    - one of `"weekly"`, `"biweekly"`, `"monthly"`
  - `visibility` (`execution-create-cycle.2.visibility`; string, required)
    - one of `"public"`, `"follower"`, `"capital"`, `"diligence"`, `"custom"`
  - `durationMode` (`execution-create-cycle.2.durationMode`; string, required)
    - one of `"custom"`
  - `endDate` (`execution-create-cycle.2.endDate`; string, required)
    - format `date-time`
  - `reviewPrompt` (`execution-create-cycle.2.reviewPrompt`; object, optional)
    - `enabled` (`execution-create-cycle.2.reviewPrompt.enabled`; boolean, optional)
      - default `true`
    - `dayOfWeek` (`execution-create-cycle.2.reviewPrompt.dayOfWeek`; integer, optional)
      - min 0; max 6; default `5`
    - `localTime` (`execution-create-cycle.2.reviewPrompt.localTime`; string, optional)
      - pattern `^([01][0-9]|2[0-3]):[0-5][0-9]$`; default `"16:00"`
    - `timeZone` (`execution-create-cycle.2.reviewPrompt.timeZone`; string, optional)
      - minLength 1; maxLength 100; default `"UTC"`

## Example request

```json
{
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "label": "string",
  "startDate": "2019-08-24T14:15:22Z",
  "primaryOutcome": "string",
  "baselineId": "021a9d20-deb5-4bc7-8aee-9e5074855731",
  "ownerUserId": "string",
  "cadence": "weekly",
  "visibility": "public",
  "reviewPrompt": {
    "enabled": true,
    "dayOfWeek": 5,
    "localTime": "16:00",
    "timeZone": "UTC"
  },
  "durationMode": "eight_week_template"
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.sureshake.com/v2/execution/cycles \
  --header 'Content-Type: application/json' \
  --data '
{
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "label": "string",
  "startDate": "2019-08-24T14:15:22Z",
  "primaryOutcome": "string",
  "baselineId": "021a9d20-deb5-4bc7-8aee-9e5074855731",
  "ownerUserId": "string",
  "cadence": "weekly",
  "visibility": "public",
  "reviewPrompt": {
    "enabled": true,
    "dayOfWeek": 5,
    "localTime": "16:00",
    "timeZone": "UTC"
  },
  "durationMode": "eight_week_template"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/execution/cycles';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    entityId: '156e622c-6cdf-4c27-9bc9-2f2db69919f5',
    label: 'string',
    startDate: '2019-08-24T14:15:22Z',
    primaryOutcome: 'string',
    baselineId: '021a9d20-deb5-4bc7-8aee-9e5074855731',
    ownerUserId: 'string',
    cadence: 'weekly',
    visibility: 'public',
    reviewPrompt: {enabled: true, dayOfWeek: 5, localTime: '16:00', timeZone: 'UTC'},
    durationMode: 'eight_week_template'
  })
};

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

payload = {
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "label": "string",
    "startDate": "2019-08-24T14:15:22Z",
    "primaryOutcome": "string",
    "baselineId": "021a9d20-deb5-4bc7-8aee-9e5074855731",
    "ownerUserId": "string",
    "cadence": "weekly",
    "visibility": "public",
    "reviewPrompt": {
        "enabled": True,
        "dayOfWeek": 5,
        "localTime": "16:00",
        "timeZone": "UTC"
    },
    "durationMode": "eight_week_template"
}
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",
    "label": "string",
    "cycleType": "string",
    "startDate": "2019-08-24T14:15:22Z",
    "endDate": "2019-08-24T14:15:22Z",
    "status": "planning",
    "baselineId": "021a9d20-deb5-4bc7-8aee-9e5074855731",
    "primaryOutcome": "string",
    "ownerUserId": "string",
    "cadence": "weekly",
    "visibility": "public",
    "durationMode": "eight_week_template",
    "durationTemplate": "eight_week",
    "activatedBy": "string",
    "activatedAt": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`execution-create-cycle.response.201.data`; object, required)
  - `id` (`execution-create-cycle.response.201.data.id`; string, required)
    - format `uuid`
  - `entityId` (`execution-create-cycle.response.201.data.entityId`; string, required)
    - format `uuid`
  - `label` (`execution-create-cycle.response.201.data.label`; string, required)
    - minLength 1; maxLength 120
  - `cycleType` (`execution-create-cycle.response.201.data.cycleType`; string, required)
  - `startDate` (`execution-create-cycle.response.201.data.startDate`; string, required)
    - format `date-time`
  - `endDate` (`execution-create-cycle.response.201.data.endDate`; string, required)
    - format `date-time`
  - `status` (`execution-create-cycle.response.201.data.status`; string, required)
    - one of `"planning"`, `"locked"`, `"active"`, `"resolution_open"`, `"closed"`, `"paused"`, `"reset"`, `"completed"`, `"ended_early"`, `"archived"`
  - `baselineId` (`execution-create-cycle.response.201.data.baselineId`; string, required, nullable)
    - format `uuid`
  - `primaryOutcome` (`execution-create-cycle.response.201.data.primaryOutcome`; string, required, nullable)
    - minLength 1; maxLength 4000
  - `ownerUserId` (`execution-create-cycle.response.201.data.ownerUserId`; string, required, nullable)
    - minLength 1
  - `cadence` (`execution-create-cycle.response.201.data.cadence`; string, required, nullable)
    - one of `"weekly"`, `"biweekly"`, `"monthly"`
  - `visibility` (`execution-create-cycle.response.201.data.visibility`; string, required, nullable)
    - one of `"public"`, `"follower"`, `"capital"`, `"diligence"`, `"custom"`
  - `durationMode` (`execution-create-cycle.response.201.data.durationMode`; string, required, nullable)
    - one of `"eight_week_template"`, `"custom"`
  - `durationTemplate` (`execution-create-cycle.response.201.data.durationTemplate`; string, required, nullable)
    - one of `"eight_week"`
  - `activatedBy` (`execution-create-cycle.response.201.data.activatedBy`; string, required, nullable)
    - minLength 1
  - `activatedAt` (`execution-create-cycle.response.201.data.activatedAt`; string, required, nullable)
    - format `date-time`
  - `createdBy` (`execution-create-cycle.response.201.data.createdBy`; string, required, nullable)
    - minLength 1
  - `createdAt` (`execution-create-cycle.response.201.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`execution-create-cycle.response.201.data.updatedAt`; string, required)
    - format `date-time`
- `meta` (`execution-create-cycle.response.201.meta`; object, optional)
  - `timestamp` (`execution-create-cycle.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-cycle.response.400.error`; object, required)
  - `code` (`execution-create-cycle.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.401.error`; object, required)
  - `code` (`execution-create-cycle.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.403.error`; object, required)
  - `code` (`execution-create-cycle.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.404.error`; object, required)
  - `code` (`execution-create-cycle.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.409.error`; object, required)
  - `code` (`execution-create-cycle.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.422.error`; object, required)
  - `code` (`execution-create-cycle.response.422.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.422.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.422.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.429.error`; object, required)
  - `code` (`execution-create-cycle.response.429.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.429.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.429.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.500.error`; object, required)
  - `code` (`execution-create-cycle.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.502.error`; object, required)
  - `code` (`execution-create-cycle.response.502.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.502.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.502.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.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-cycle.response.503.error`; object, required)
  - `code` (`execution-create-cycle.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-cycle.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-cycle.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-cycle.response.503.error.traceId`; string, optional) — Unique ID for log correlation


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