Represents a cleaning activity performed on a Production line between two Products.
For example, when a line is cleaned after producing one Product before production of another Product begins, the cleaning activity can be recorded as a Clean.
A Clean records which cleaning regime was used, the Product transition it applied to, and how long the cleaning activity took.
The Clean object
{
"code": "CIP-260811-014",
"line": "LINE001",
"regime": "allergen-cip",
"productBefore": "PRD001",
"productAfter": "PRD044",
"start": "2026-08-11T06:00:00+02:00",
"end": "2026-08-11T07:50:00+02:00"
}
Fields
| Field | Type | Description | Example |
|---|---|---|---|
code |
string | Unique business code used to identify the Clean. | "CIP-260811-014" |
line |
string | Business code of the Production line being cleaned. | "LINE001" |
regime |
string | Business code of the Clean regime used. | "allergen-cip" |
productBefore |
string | Business code of the Product produced before the Clean. | "PRD001" |
productAfter |
string | Business code of the Product produced after the Clean. | "PRD044" |
start |
string | Date and time when the Clean started, in ISO 8601 format. | "2026-08-11T06:00:00+02:00" |
end |
string or null | Date and time when the Clean ended, or null while it remains open. |
"2026-08-11T07:50:00+02:00" |
Important
code must be unique. Two Cleans cannot use the same code.
line, regime, productBefore, and productAfter must reference existing records.
Product transition
The Product pair defines the changeover that the Clean belongs to.
PRD001
│
│ clean
▼
PRD044
This is important because cleaning requirements can depend on the direction of the Product transition.
For example:
PRD001 → PRD044
may require a different regime or expected duration than:
PRD044 → PRD001
The actual Clean can therefore be compared with the corresponding Cleaning rule.
Clean status
A Clean without end remains open.
When end is supplied, the Clean is treated as completed.
end = null → running
end supplied → completed
Cleaning duration
The duration of the cleaning activity is determined from start and end.
For example:
{
"start": "2026-08-11T06:00:00+02:00",
"end": "2026-08-11T07:50:00+02:00"
}
records a Clean that took 110 minutes.
This actual duration can be compared with expectedMinutes from the applicable Cleaning rule.
Planned and actual resource use
Cleaning can consume chemicals, water, energy, Labor, equipment time, and other resources.
Expected resource use can be recorded through Planned use.
Actual resource use is recorded separately through Consumption.
This keeps the cleaning activity itself separate from the resources consumed while performing it.
Reference protection
A Production line, Clean regime, or Product referenced by an existing Clean cannot be deleted until the Clean reference is removed.
API resource
| Resource | Base path |
|---|---|
Clean |
/manufacturing/food-beverage/v1/cleans |
API methods
Create a clean
POST /manufacturing/food-beverage/v1/cleans/insert
Creates a new cleaning activity.
Request
POST /manufacturing/food-beverage/v1/cleans/insert
Content-Type: application/json
{
"code": "CIP-260811-014",
"line": "LINE001",
"regime": "allergen-cip",
"productBefore": "PRD001",
"productAfter": "PRD044",
"start": "2026-08-11T06:00:00+02:00",
"end": "2026-08-11T07:50:00+02:00"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
code |
string | yes | Unique business code of the Clean. |
line |
string | yes | Business code of the Production line. |
regime |
string | yes | Business code of the Clean regime. |
productBefore |
string | yes | Business code of the Product produced before the Clean. |
productAfter |
string | yes | Business code of the Product produced after the Clean. |
start |
string | yes | Date and time when the Clean started. |
end |
string or null | no | Date and time when the Clean ended. |
Update a clean
PUT /manufacturing/food-beverage/v1/cleans/update
Updates an existing cleaning activity.
Request
PUT /manufacturing/food-beverage/v1/cleans/update
Content-Type: application/json
{
"code": "CIP-260811-014",
"line": "LINE001",
"regime": "allergen-cip",
"productBefore": "PRD001",
"productAfter": "PRD044",
"start": "2026-08-11T06:00:00+02:00",
"end": "2026-08-11T07:55:00+02:00"
}
Patch a clean
PATCH /manufacturing/food-beverage/v1/cleans/patch
Partially updates an existing Clean.
The Clean is identified by properties.code. Fields omitted from properties keep their current values.
end can be explicitly cleared by including it with a null value.
Request
PATCH /manufacturing/food-beverage/v1/cleans/patch
Content-Type: application/json
{
"properties": {
"code": "CIP-260811-014",
"end": "2026-08-11T07:55:00+02:00"
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
properties |
object | yes | Fields included in the partial update. |
properties.code |
string | yes | Business code of the Clean to update. |
properties.line |
string | no | New Production line business code. |
properties.regime |
string | no | New Clean regime business code. |
properties.productBefore |
string | no | New preceding Product business code. |
properties.productAfter |
string | no | New following Product business code. |
properties.start |
string | no | New Clean start date and time. |
properties.end |
string or null | no | New Clean end date and time, or null to leave the Clean open. |
Retrieve a clean
GET /manufacturing/food-beverage/v1/cleans/select
Returns the Clean identified by its business code.
Request
GET /manufacturing/food-beverage/v1/cleans/select?id=CIP-260811-014
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Business code of the Clean to retrieve. |
Example response
{
"code": "CIP-260811-014",
"line": "LINE001",
"regime": "allergen-cip",
"productBefore": "PRD001",
"productAfter": "PRD044",
"start": "2026-08-11T06:00:00+02:00",
"end": "2026-08-11T07:50:00+02:00"
}
List cleans
GET /manufacturing/food-beverage/v1/cleans/query
Returns Cleans matching the supplied filters.
Request
GET /manufacturing/food-beverage/v1/cleans/query?lines=LINE001®imes=allergen-cip
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
codes |
string or array of strings | no | Limits results to the specified Clean business codes. |
lines |
string or array of strings | no | Limits results to Cleans on the specified Production lines. |
regimes |
string or array of strings | no | Limits results to the specified Clean regimes. |
from |
string | no | Limits results to Cleans starting at or after the specified date and time. |
to |
string | no | Limits results to Cleans starting at or before the specified date and time. |
Multiple values can be supplied by repeating the query parameter:
GET /manufacturing/food-beverage/v1/cleans/query?lines=LINE001&lines=LINE002
Delete a clean
DELETE /manufacturing/food-beverage/v1/cleans/delete
Deletes the Clean identified by its business code.
Use delete only when the cleaning activity should not exist as a recorded activity.
Request
DELETE /manufacturing/food-beverage/v1/cleans/delete?id=CIP-260811-014
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Business code of the Clean to delete. |