---
title: "Suspend Contract"
method: POST
path: "/api/contracts/{contract_id}/suspend"
tags: ["Contracts - Protected"]
---

# Suspend Contract

`POST /api/contracts/{contract_id}/suspend`

Suspend a contract (sets `IDestado = 3`) and apply user-chosen side-effects
atomically. See `SuspendContractRequest` for the shape.

## Path parameters

- `contract_id` integer, required

## Headers

- `x-api-token` string, nullable

## Request body

- SuspendContractRequest
  - `return_vehicle_to_stock` boolean
  - `vehicle_id` integer, nullable
  - `vehicle_location` 'park' | 'transport', nullable
  - `transport` SuspendTransportPayload — Mirrors the body of POST /vehicles/{id}/transportes.
    - `tipo` 'entrada' | 'saida'
    - `origem` string, required
    - `destino` string, nullable
    - `destino_park_id` integer, required
    - `data_recolha` string, nullable
    - `data_entrega_prevista` string, nullable
    - `notas` string, nullable
  - `suspended_retoma_vehicle_ids` integer[]
  - `side_effects` SuspendSideEffects — Optional cleanup toggles. All default off; reserved for future UI. Wired through the workflow so we can enable any of these without an API change.
    - `clear_buffer_block_sale` boolean
    - `invalidate_listings_cache` boolean
    - `reset_prep` boolean
    - `toggle_pronto_entrega_off` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multigest/multigest-protected-api/revisions/4b44eb76b3ee/schema)
