---
title: "Cancel optimization activities"
method: POST
path: "/v1/optimization-activities/cancel"
tags: ["Optimization Activities"]
---

# Cancel optimization activities

`POST /v1/optimization-activities/cancel`

## Request

- Base URL: `https://api.sandbox.usenash.com`
- URL: `https://api.sandbox.usenash.com/v1/optimization-activities/cancel`
- Auth: none declared

Cancel optimization activities by id. Partial success: each id reports its own outcome (STOPPED, INTERRUPTING, DISCARD_ON_RETURN, or an error), so a sibling that already finished does not block the ones still running.

## Request body

- CancelOptimizationActivitiesRequest
  - `activity_ids` string[], required

## Response `200`

OK

- CancelOptimizationActivitiesResponse
  - `results` OptimizationCancellationOutcome[], required
    - `activity_id` string, required
    - `activity` CancelledActivityRead: The cancelled activity as a poller reads it: status plus the `result` now carrying `cancellation`.
      - `id` string, required
      - `status` 'QUEUED' | 'IN_PROGRESS' | 'SUCCESS' | 'FAILED' | 'CANCELLED' | 'SKIPPED' | 'SCHEDULED', required: Status of an activity.
      - `result` union
        - object
        - object[]
    - `mode` 'STOPPED' | 'INTERRUPTING' | 'DISCARD_ON_RETURN': What cancelling did to the solve. STOPPED: the activity had not started; it never will. INTERRUPTING: the solver is a submit-then-poll vendor; the worker abandons it at its next poll tick. DISCARD_ON_RETURN: the solver is a single blocking call that cannot be interrupted; the worker throws its result away when it returns.
    - `error` OptimizationCancellationError
      - `code` string, required
      - `message` string, required

## Other responses

- `422`: Unprocessable Content

---

[API](https://skmtc.dev/nash/apis/nash-api.md) - [All operations](https://skmtc.dev/nash/apis/nash-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nash/apis/nash-api/revisions/e3713837c5c9?raw)
