---
title: "Create an equipment downtime. `startDateTime` and `endDateTime` are UTC; the end cannot be earlier than the start. Each `departments` entry must be a department that exists, listed once, and each of its `equipment` entries must be equipment in that department, listed once for it. An empty or omitted `equipment` list means the whole department is down. Departments and equipment are saved in request order, and the server fills `departmentName` and `equipmentName` from the records, so client values are ignored."
method: POST
path: "/api/equipment-downtimes"
tags: ["Equipment Downtime"]
---

# Create an equipment downtime. \`startDateTime\` and \`endDateTime\` are UTC; the end cannot be earlier than the start. Each \`departments\` entry must be a department that exists, listed once, and each of its \`equipment\` entries must be equipment in that department, listed once for it. An empty or omitted \`equipment\` list means the whole department is down. Departments and equipment are saved in request order, and the server fills \`departmentName\` and \`equipmentName\` from the records, so client values are ignored.

`POST /api/equipment-downtimes`

## Request

- Base URL: `https://api.fulcrumpro.com`
- URL: `https://api.fulcrumpro.com/api/equipment-downtimes`
- Auth: none declared

## Request body

- EquipmentDowntimeSaveDto: Details of an equipment downtime to save. An update replaces the whole downtime: its window and its whole set of departments and equipment are saved from the request, so omitted `departments` are cleared. The shape matches what `GET /equipment-downtimes/{id}` returns, so a fetched downtime can be sent back; the read-only members `id`, `deleted`, `departmentName`, `allEquipment` and `equipmentName` are ignored, and the server fills the names from the department and equipment.
  - `startDateTime` string, date-time, required: When the downtime starts, in UTC. A value with an offset is converted to UTC; a value without an offset is read as UTC.
  - `endDateTime` string, date-time, required: When the downtime ends, in UTC, read the same way as `startDateTime`. It cannot be earlier than `startDateTime`; an end equal to the start is allowed.
  - `departments` EquipmentDowntimeDepartmentSaveDto[], nullable: The departments that are down, saved in request order, at most 500. Each `departmentId` must be a department that exists and is not deleted, and it can be listed only once. Omitted, null or empty means no departments, so an update clears them.
    - `departmentId` string, required: Id of the department. It must be a department that exists and is not deleted, and it can be listed only once in the downtime. Please reference the /api/departments endpoint.
    - `equipment` EquipmentDowntimeEquipmentSaveDto[], nullable: The pieces of the department's equipment that are down, saved in request order, at most 500. Each `equipmentId` must be equipment in one of the department's work centers, and it can be listed only once for the department. Omitted, null or empty means the whole department is down.
      - `equipmentId` string, required: Id of the equipment. It must be equipment in one of the department's work centers that is not deleted. Please reference the /api/equipment endpoint.

## Response `200`

Equipment downtime created; the body holds its id

- CreatedResponseDto: Response for a created record
  - `id` string, required: The id of the created record

## Other responses

- `400`: Validation issues with input, an end earlier than the start, or a `departments` or `equipment` entry that is null, repeated, not found or not in its department

## Changes

- **2026-10-05** `c3bdc499d639`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/equipment-downtimes/post.md)

---

[API](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi.md) - [All operations](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/llms.txt) - [OpenAPI document](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/revisions/c9e6f41852d1?raw)
