---
title: "Close 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 › execution

`POST /v2/execution/cycles/{cycleId}/commitments/{commitmentId}/closure`

## Path parameters

- `cycleId` (`execution-close-commitment.path.cycleId`; string, required)
  - format `uuid`
- `commitmentId` (`execution-close-commitment.path.commitmentId`; string, required)
  - format `uuid`

## Request body

_Required._

- `expectedVersionNumber` (`execution-close-commitment.expectedVersionNumber`; integer, required)
  - min 1
- `outcomeStatus` (`execution-close-commitment.outcomeStatus`; string, required)
  - one of `"completed"`, `"partial"`, `"missed"`
- `actualResult` (`execution-close-commitment.actualResult`; string, required)
  - minLength 1; maxLength 4000
- `varianceExplanation` (`execution-close-commitment.varianceExplanation`; string, optional)
  - minLength 1; maxLength 4000
- `publishToFollowers` (`execution-close-commitment.publishToFollowers`; boolean, optional)

## Example request

```json
{
  "expectedVersionNumber": 1,
  "outcomeStatus": "completed",
  "actualResult": "string",
  "varianceExplanation": "string",
  "publishToFollowers": true
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/execution/cycles/<cycleId>/commitments/<commitmentId>/closure' \
  --header 'Content-Type: application/json' \
  --data '
{
  "expectedVersionNumber": 1,
  "outcomeStatus": "completed",
  "actualResult": "string",
  "varianceExplanation": "string",
  "publishToFollowers": true
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/execution/cycles/<cycleId>/commitments/<commitmentId>/closure';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    expectedVersionNumber: 1,
    outcomeStatus: 'completed',
    actualResult: 'string',
    varianceExplanation: 'string',
    publishToFollowers: true
  })
};

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>/commitments/<commitmentId>/closure"

payload = {
    "expectedVersionNumber": 1,
    "outcomeStatus": "completed",
    "actualResult": "string",
    "varianceExplanation": "string",
    "publishToFollowers": True
}
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",
    "commitmentId": "4e1ecf7c-8127-4207-92b0-010ff43ff54d",
    "outcomeStatus": "completed",
    "actualResult": "string",
    "varianceExplanation": "string",
    "commitmentVersionNumber": 1,
    "resolvedBy": "string",
    "resolvedAt": "2019-08-24T14:15:22Z",
    "payloadHash": "string",
    "followerUpdate": {
      "selected": true,
      "updateId": "5cebcd16-bfee-44cf-a327-a26bd6ddf285",
      "selectedBy": "string",
      "selectedAt": "2019-08-24T14:15:22Z"
    }
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`execution-close-commitment.response.201.data`; object, required)
  - `id` (`execution-close-commitment.response.201.data.id`; string, required)
    - format `uuid`
  - `commitmentId` (`execution-close-commitment.response.201.data.commitmentId`; string, required)
    - format `uuid`
  - `outcomeStatus` (`execution-close-commitment.response.201.data.outcomeStatus`; string, required)
    - one of `"completed"`, `"partial"`, `"missed"`
  - `actualResult` (`execution-close-commitment.response.201.data.actualResult`; string, required)
    - minLength 1; maxLength 4000
  - `varianceExplanation` (`execution-close-commitment.response.201.data.varianceExplanation`; string, required, nullable)
    - minLength 1; maxLength 4000
  - `commitmentVersionNumber` (`execution-close-commitment.response.201.data.commitmentVersionNumber`; integer, required)
    - min 1
  - `resolvedBy` (`execution-close-commitment.response.201.data.resolvedBy`; string, required)
    - minLength 1
  - `resolvedAt` (`execution-close-commitment.response.201.data.resolvedAt`; string, required)
    - format `date-time`
  - `payloadHash` (`execution-close-commitment.response.201.data.payloadHash`; string, required)
    - pattern `^sha256:[a-f0-9]{64}$`
  - `followerUpdate` (`execution-close-commitment.response.201.data.followerUpdate`; object, required)
    - `selected` (`execution-close-commitment.response.201.data.followerUpdate.selected`; boolean, required)
    - `updateId` (`execution-close-commitment.response.201.data.followerUpdate.updateId`; string, required, nullable)
      - format `uuid`
    - `selectedBy` (`execution-close-commitment.response.201.data.followerUpdate.selectedBy`; string, required, nullable)
      - minLength 1
    - `selectedAt` (`execution-close-commitment.response.201.data.followerUpdate.selectedAt`; string, required, nullable)
      - format `date-time`
- `meta` (`execution-close-commitment.response.201.meta`; object, optional)
  - `timestamp` (`execution-close-commitment.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-close-commitment.response.400.error`; object, required)
  - `code` (`execution-close-commitment.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.401.error`; object, required)
  - `code` (`execution-close-commitment.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.403.error`; object, required)
  - `code` (`execution-close-commitment.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.404.error`; object, required)
  - `code` (`execution-close-commitment.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.409.error`; object, required)
  - `code` (`execution-close-commitment.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.422.error`; object, required)
  - `code` (`execution-close-commitment.response.422.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.422.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.422.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.429.error`; object, required)
  - `code` (`execution-close-commitment.response.429.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.429.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.429.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.500.error`; object, required)
  - `code` (`execution-close-commitment.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.502.error`; object, required)
  - `code` (`execution-close-commitment.response.502.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.502.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.502.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.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-close-commitment.response.503.error`; object, required)
  - `code` (`execution-close-commitment.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`execution-close-commitment.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`execution-close-commitment.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`execution-close-commitment.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/execution-close-commitment/index.md
