---
title: "Create calendar item link"
---

> 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/{cycleId}/calendar/links`

## Path parameters

- `cycleId` (`execution-create-calendar-item-link.path.cycleId`; string, required)
  - format `uuid`

## Request body

Any of:

- `object`
  - `sourceType` (`execution-create-calendar-item-link.1.sourceType`; string, required)
    - one of `"milestone"`, `"commitment"`
  - `sourceId` (`execution-create-calendar-item-link.1.sourceId`; string, required)
    - format `uuid`
  - `targetType` (`execution-create-calendar-item-link.1.targetType`; string, required)
    - one of `"report"`
  - `targetId` (`execution-create-calendar-item-link.1.targetId`; string, required)
    - format `uuid`
- `object`
  - `sourceType` (`execution-create-calendar-item-link.2.sourceType`; string, required)
    - one of `"milestone"`, `"commitment"`
  - `sourceId` (`execution-create-calendar-item-link.2.sourceId`; string, required)
    - format `uuid`
  - `targetType` (`execution-create-calendar-item-link.2.targetType`; string, required)
    - one of `"artifact"`
  - `targetId` (`execution-create-calendar-item-link.2.targetId`; string, required)
    - format `uuid`
- `object`
  - `sourceType` (`execution-create-calendar-item-link.3.sourceType`; string, required)
    - one of `"milestone"`, `"commitment"`
  - `sourceId` (`execution-create-calendar-item-link.3.sourceId`; string, required)
    - format `uuid`
  - `targetType` (`execution-create-calendar-item-link.3.targetType`; string, required)
    - one of `"initiative"`
  - `targetRef` (`execution-create-calendar-item-link.3.targetRef`; string, required)
    - minLength 1; maxLength 500
  - `label` (`execution-create-calendar-item-link.3.label`; string, required)
    - minLength 1; maxLength 500
  - `targetUrl` (`execution-create-calendar-item-link.3.targetUrl`; string, required)
    - format `uri`
- `object`
  - `sourceType` (`execution-create-calendar-item-link.4.sourceType`; string, required)
    - one of `"milestone"`, `"commitment"`
  - `sourceId` (`execution-create-calendar-item-link.4.sourceId`; string, required)
    - format `uuid`
  - `targetType` (`execution-create-calendar-item-link.4.targetType`; string, required)
    - one of `"external_object"`
  - `targetRef` (`execution-create-calendar-item-link.4.targetRef`; string, required)
    - minLength 1; maxLength 500
  - `label` (`execution-create-calendar-item-link.4.label`; string, required)
    - minLength 1; maxLength 500
  - `targetUrl` (`execution-create-calendar-item-link.4.targetUrl`; string, required)
    - format `uri`
- `object`
  - `sourceType` (`execution-create-calendar-item-link.5.sourceType`; string, required)
    - one of `"milestone"`, `"commitment"`
  - `sourceId` (`execution-create-calendar-item-link.5.sourceId`; string, required)
    - format `uuid`
  - `targetType` (`execution-create-calendar-item-link.5.targetType`; string, required)
    - one of `"meeting"`
  - `targetRef` (`execution-create-calendar-item-link.5.targetRef`; string, required)
    - minLength 1; maxLength 500
  - `label` (`execution-create-calendar-item-link.5.label`; string, required)
    - minLength 1; maxLength 500
  - `targetUrl` (`execution-create-calendar-item-link.5.targetUrl`; string, required)
    - format `uri`

## Example request

```json
{
  "sourceType": "milestone",
  "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2",
  "targetType": "report",
  "targetId": "cbca1126-180e-4334-9df8-cf82289d378b"
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/execution/cycles/<cycleId>/calendar/links' \
  --header 'Content-Type: application/json' \
  --data '
{
  "sourceType": "milestone",
  "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2",
  "targetType": "report",
  "targetId": "cbca1126-180e-4334-9df8-cf82289d378b"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/execution/cycles/<cycleId>/calendar/links';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    sourceType: 'milestone',
    sourceId: '797f5a94-3689-4ac8-82fd-d749511ea2b2',
    targetType: 'report',
    targetId: 'cbca1126-180e-4334-9df8-cf82289d378b'
  })
};

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/<cycleId>/calendar/links"

payload = {
    "sourceType": "milestone",
    "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2",
    "targetType": "report",
    "targetId": "cbca1126-180e-4334-9df8-cf82289d378b"
}
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",
    "sourceType": "milestone",
    "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2",
    "targetType": "initiative",
    "resolution": "canonical",
    "targetRef": "string",
    "label": "string",
    "targetUrl": "http://example.com",
    "active": true,
    "addedBy": "string",
    "addedAt": "2019-08-24T14:15:22Z",
    "removedBy": "string",
    "removedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`execution-create-calendar-item-link.response.201.data`; object, required)
  - `id` (`execution-create-calendar-item-link.response.201.data.id`; string, required)
    - format `uuid`
  - `entityId` (`execution-create-calendar-item-link.response.201.data.entityId`; string, required)
    - format `uuid`
  - `cycleId` (`execution-create-calendar-item-link.response.201.data.cycleId`; string, required)
    - format `uuid`
  - `sourceType` (`execution-create-calendar-item-link.response.201.data.sourceType`; string, required)
    - one of `"milestone"`, `"commitment"`
  - `sourceId` (`execution-create-calendar-item-link.response.201.data.sourceId`; string, required)
    - format `uuid`
  - `targetType` (`execution-create-calendar-item-link.response.201.data.targetType`; string, required)
    - one of `"initiative"`, `"report"`, `"artifact"`, `"external_object"`, `"meeting"`
  - `resolution` (`execution-create-calendar-item-link.response.201.data.resolution`; string, required)
    - one of `"canonical"`, `"reference_only"`
  - `targetRef` (`execution-create-calendar-item-link.response.201.data.targetRef`; string, required)
    - minLength 1; maxLength 500
  - `label` (`execution-create-calendar-item-link.response.201.data.label`; string, required)
    - minLength 1; maxLength 500
  - `targetUrl` (`execution-create-calendar-item-link.response.201.data.targetUrl`; string, required, nullable)
    - format `uri`
  - `active` (`execution-create-calendar-item-link.response.201.data.active`; boolean, required)
  - `addedBy` (`execution-create-calendar-item-link.response.201.data.addedBy`; string, required)
    - minLength 1
  - `addedAt` (`execution-create-calendar-item-link.response.201.data.addedAt`; string, required)
    - format `date-time`
  - `removedBy` (`execution-create-calendar-item-link.response.201.data.removedBy`; string, required, nullable)
    - minLength 1
  - `removedAt` (`execution-create-calendar-item-link.response.201.data.removedAt`; string, required, nullable)
    - format `date-time`
- `meta` (`execution-create-calendar-item-link.response.201.meta`; object, optional)
  - `timestamp` (`execution-create-calendar-item-link.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-calendar-item-link.response.400.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.401.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.403.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.404.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.409.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.422.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.422.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.422.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.422.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.429.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.429.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.429.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.429.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.500.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.502.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.502.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.502.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.502.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.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-calendar-item-link.response.503.error`; object, required)
  - `code` (`execution-create-calendar-item-link.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-create-calendar-item-link.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`execution-create-calendar-item-link.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-create-calendar-item-link.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/execution-create-calendar-item-link/index.md
