Defines how long a changeover from one setup family to another is expected to take.
For example, changing a turning cell from small shafts to flanges may be expected to take 35 minutes, while the reverse changeover takes 20. In the Excel template, setup rules are registered on the Setup rules sheet.
Setup rules are declared between setup families rather than individual parts, because a job shop rarely runs the same pair of parts twice.
The Setup rule object
{
"after": "SHAFT-SMALL",
"before": "FLANGE",
"expectedMinutes": 35,
"where": "TURN-CELL-01",
"from": "2026-09-01T00:00:00+02:00"
}
Fields
| Field | Type | Description | Example |
|---|---|---|---|
after |
string | Setup family the changeover runs after. | "SHAFT-SMALL" |
before |
string | Setup family the changeover runs before. | "FLANGE" |
expectedMinutes |
number | Expected duration of the changeover, in minutes. | 35 |
where |
string or null | Business code of the work centre the rule applies to, or null for a shop-wide rule. |
"TURN-CELL-01" |
from |
string | Date and time from which the rule applies, in ISO 8601 format. | "2026-09-01T00:00:00+02:00" |
Important
after, before, and where together identify a Setup rule.
A Setup rule is directional. A rule from family A to family B does not define the rule from B to A.
Setup families
after and before are values of the classification Setup family (setup-family). Register them first as Types (shared). Parts and fixtures name their setup family the same way.
Rules
-
afterandbeforeare required and must be existing setup families. -
whereis optional. When it is given, it must be an existing work centre. The same pair of families can have a shop-wide rule and a different rule for each work centre. - A rule holds one version. Submitting a rule for the same
after,before, andwherereplaces its expected minutes andfrom.
API resource
| Resource | Base path |
|---|---|
Setup rule |
/manufacturing/metal-machining/v1/setup-rules |
API methods
Create a setup rule
POST /manufacturing/metal-machining/v1/setup-rules/insert
Creates a Setup rule and returns its Pulse identifier. If a rule with the same after, before, and where exists, it is updated instead.
Request
POST /manufacturing/metal-machining/v1/setup-rules/insert
Content-Type: application/json
{
"after": "SHAFT-SMALL",
"before": "FLANGE",
"expectedMinutes": 35,
"where": "TURN-CELL-01",
"from": "2026-09-01T00:00:00+02:00"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
after |
string | yes | Setup family the changeover runs after. |
before |
string | yes | Setup family the changeover runs before. |
expectedMinutes |
number | yes | Expected duration in minutes. |
where |
string or null | no | Business code of the work centre. Leave it out for a shop-wide rule. |
from |
string | yes | Date and time from which the rule applies. |
Update a setup rule
PUT /manufacturing/metal-machining/v1/setup-rules/update
Updates the rule identified by after, before, and where. If no such rule exists, it is created.
Request
PUT /manufacturing/metal-machining/v1/setup-rules/update
Content-Type: application/json
{
"after": "SHAFT-SMALL",
"before": "FLANGE",
"expectedMinutes": 30,
"where": "TURN-CELL-01",
"from": "2026-10-01T00:00:00+02:00"
}
Parameters
The parameters are the same as for creating a setup rule.
Patch a setup rule
PATCH /manufacturing/metal-machining/v1/setup-rules/patch
Partially updates an existing Setup rule.
The rule is identified by properties.after, properties.before, and, for a work-centre rule, properties.where. Leave out where to patch the shop-wide rule. Fields you leave out keep their current values.
Request
PATCH /manufacturing/metal-machining/v1/setup-rules/patch
Content-Type: application/json
{
"properties": {
"after": "SHAFT-SMALL",
"before": "FLANGE",
"where": "TURN-CELL-01",
"expectedMinutes": 30
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
properties |
object | yes | Fields included in the partial update. |
properties.after |
string | yes | Setup family the changeover runs after. |
properties.before |
string | yes | Setup family the changeover runs before. |
properties.where |
string | for a work-centre rule | Business code of the work centre. |
properties.expectedMinutes |
number | no | New expected duration in minutes. |
properties.from |
string | no | New date and time from which the rule applies. |
Retrieve a setup rule
GET /manufacturing/metal-machining/v1/setup-rules/select
Returns the rule identified by after, before, and where. If no rule matches, the response is empty.
Request
GET /manufacturing/metal-machining/v1/setup-rules/select?after=SHAFT-SMALL&before=FLANGE&where=TURN-CELL-01
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
after |
string | yes | Setup family the changeover runs after. |
before |
string | yes | Setup family the changeover runs before. |
where |
string | no | Business code of the work centre. Leave it out for the shop-wide rule. |
List setup rules
GET /manufacturing/metal-machining/v1/setup-rules/query
Returns Setup rules matching the supplied filters.
Request
GET /manufacturing/metal-machining/v1/setup-rules/query?afters=SHAFT-SMALL&wheres=TURN-CELL-01
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
afters |
string or array of strings | no | Limits results to rules after the specified setup families. |
befores |
string or array of strings | no | Limits results to rules before the specified setup families. |
wheres |
string or array of strings | no | Limits results to rules of the specified work centres. Upper and lower case are not distinguished. |
Delete a setup rule
DELETE /manufacturing/metal-machining/v1/setup-rules/delete
Deletes the rule identified by after, before, and where. If no rule matches, nothing happens.
Request
DELETE /manufacturing/metal-machining/v1/setup-rules/delete?after=SHAFT-SMALL&before=FLANGE&where=TURN-CELL-01
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
after |
string | yes | Setup family the changeover runs after. |
before |
string | yes | Setup family the changeover runs before. |
where |
string | no | Business code of the work centre. Leave it out for the shop-wide rule. |