1. Overview

A service for the creation and management of work orders.

1.1. Version information

Version : 3.0

1.2. Tags

  • ClockOnRecords

  • CompleteQuantityRecords

  • HoldRecords

  • MaterialLotActuals

  • Operations

  • SegmentActuals

  • Segments

  • SegmentsDefinitionEditor

  • WorkOrderCommands

  • WorkOrders

2. Resources

2.1. ClockOnRecords

2.1.1. Get a work order’s clock on records collection.

GET /workorders/{workOrderId}/clockonrecords
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

size
optional

Number of resources to return per page.

integer (int32)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.1.2. Get a clock on record.

GET /workorders/{workOrderId}/clockonrecords/{clockOnRecordId}
Parameters
Type Name Description Schema

Path

clockOnRecordId
required

Id of the clock on record resource

integer (int64)

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.2. CompleteQuantityRecords

2.2.1. Get a work order’s complete quantity records collection.

GET /workorders/{workOrderId}/completequantityrecords
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

size
optional

Number of resources to return per page.

integer (int32)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.2.2. Get a complete quantity record.

GET /workorders/{workOrderId}/completequantityrecords/{completeQuantityRecordId}
Parameters
Type Name Description Schema

Path

completeQuantityRecordId
required

Id of the complete quantity record resource

integer (int64)

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.3. HoldRecords

2.3.1. Get a work order’s hold records collection.

GET /workorders/{workOrderId}/holdrecords
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

size
optional

Number of resources to return per page.

integer (int32)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.3.2. Get a hold record.

GET /workorders/{workOrderId}/holdrecords/{holdRecordId}
Parameters
Type Name Description Schema

Path

holdRecordId
required

Id of the hold record resource

integer (int64)

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.4. MaterialLotActuals

2.4.1. Get a work order’s material lot actuals collection.

GET /workorders/{workOrderId}/materiallotactuals
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

parentMaterialLotActualId
optional

ID for the parent material lot actual as a filter.

integer (int64)

Query

size
optional

Number of resources to return per page.

integer (int32)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.4.2. Get a material lot actual.

GET /workorders/{workOrderId}/materiallotactuals/{materialLotActualId}
Parameters
Type Name Description Schema

Path

materialLotActualId
required

Id of the material lot actual resource

integer (int64)

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.5. Operations

2.5.1. Get a page of the operations collection.

GET /operations
Parameters
Type Name Description Schema

Query

clockedOnOperator
optional

Currently clocked on operator as a filter.

string

Query

completedAfter
optional

Filter results to return operations completed on or after this time.
Combines with CompletedBefore to define a time range.

string (date-time)

Query

completedBefore
optional

Filter results to return operations completed on or before this time.
Combines with CompletedAfter to define a time range.

string (date-time)

Query

lotIdentifier
optional

Lot identifier (e.g. Serial Number) as a filter.

string

Query

materialLotActualId
optional

ID of the material lot actual as a filter.

integer (int64)

Query

onHold
optional

Whether the operation is currently on hold as a filter.
If set to true, query will only return operations with active hold records

boolean

Query

operationName
optional

Name of the operation as a filter.
Note that operation names are unique
only within a segment definition and not across segment definitions.

string

Query

orderBy
optional

Name of the operation property to sort the results by.

enum (SegmentActualId, MaterialLotActualId, LotIdentifier, OperationName, ProducedMaterialId, SegmentId, StartedOnUnitId, WorkOrderId, WorkOrderName, WorkOrderPriority, ReadyOn, StartedOn, CompletedOn, SegmentActualIdDescending, MaterialLotActualIdDescending, LotIdentifierDescending, OperationNameDescending, ProducedMaterialIdDescending, SegmentIdDescending, StartedOnUnitIdDescending, WorkOrderIdDescending, WorkOrderNameDescending, WorkOrderPriorityDescending, ReadyOnDescending, StartedOnDescending, CompletedOnDescending)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

plannedOrStartedOnUnitId
optional

ID for the unit that the operation is executing on OR planned to execute on if the operation is not started
as a filter.
Multiple values are supported and the result contains all the operations matching any of the values.

< integer (int64) > array(multi)

Query

plannedUnitId
optional

ID for the planned unit as a filter. The results contain all
operations that have the ID in the planned unit set.
The planned unit set is specified in the segment definition.
Multiple values are supported and the result contains all the operations matching any of the values.

< integer (int64) > array(multi)

Query

producedMaterialId
optional

ID for the material produced as a filter.
The material produced is defined by the segments definition for the work order.
Multiple values are supported and the result contains all the operations matching any of the values.

< integer (int64) > array(multi)

Query

productionLineId
optional

ID for the production line as a filter.
Multiple values are supported and the result contains all the operations matching any of the values.

< integer (int64) > array(multi)

Query

segmentActualId
optional

ID for the segment actual as a filter. Multiple values are supported and
the results contain all operations matching any of the values.

< integer (int64) > array(multi)

Query

segmentId
optional

ID for the segment as a filter. Note that segment IDs are unique
only within a segment definition and not across segment definitions.

integer (int64)

Query

size
optional

Number of resources to return per page.

integer (int32)

Query

startedOnUnitId
optional

ID for the unit that the segment is executing on as a filter.
Multiple values are supported and the result contains all the operations matching any of the values.

< integer (int64) > array(multi)

Query

status
optional

Status of the operation as a filter. Multiple values are supported
and the results contain all operations matching any of the values.

< enum (NotReady, Ready, InProgress, Complete, Cancelled) > array(multi)

Query

workOrderId
optional

ID for the work order as a filter.

integer (int64)

Query

workOrderName
optional

Name of the work order as a filter.

string

Query

workOrderPriority
optional

Relative priority of the work order as a filter.

integer (int32)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.6. SegmentActuals

2.6.1. Get a work order’s segment actuals collection.

GET /workorders/{workOrderId}/segmentactuals
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

size
optional

Number of resources to return per page.

integer (int32)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.6.2. Get a segment actual.

GET /workorders/{workOrderId}/segmentactuals/{segmentActualId}
Parameters
Type Name Description Schema

Path

segmentActualId
required

Id of the segment actual resource

integer (int64)

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.7. Segments

2.7.1. Get a work order’s segments.

GET /workorders/{workOrderId}/segments
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success
Headers :
ETag (string) : Current version of the segments resource.

object

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.7.2. Create or update a work order’s segments.

PUT /workorders/{workOrderId}/segments
Parameters
Type Name Description Schema

Header

if-Match
optional

Expected segments resource ETag value

string

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

segmentsDefinitionObject
optional

Segments definition

object

Responses
HTTP Code Description Schema

200

Success
Headers :
ETag (string) : Current version of the segments resource.

object

201

Success
Headers :
ETag (string) : Current version of the segments resource.

object

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

404

Not Found

412

Client Error

422

Client Error

428

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

apiKey

2.7.3. Modify a running work order’s segments.

PATCH /workorders/{workOrderId}/segments
Parameters
Type Name Description Schema

Header

if-Match
required

Expected segments resource ETag value

string

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

segmentsDefinitionPatch
optional

Segments definition patch

< PatchOperation > array

Responses
HTTP Code Description Schema

200

Success
Headers :
ETag (string) : Current version of the segments resource.

object

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

404

Not Found

412

Client Error

422

Client Error

428

Client Error

Consumes
  • application/vnd.ge.mes.patch+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

oauth2

mes.workorders.editsegments

apiKey

2.8. SegmentsDefinitionEditor

2.8.1. Create a patch to add a rework operation.

POST /segmentsdefinitioneditor/reworksingleoperation/createpatch
Description

Creates a JSON patch that can be applied to a segments definition to add a rework operation to a work order.
The rework operation is a copy of an existing complete or in-progress operation with the following changes:
- The billOfMaterials field is set to an empty array.
- The name field is set to the specified operation name (an integer suffix will be appended if necessary to make the name unique on the work order).
- The id field is set to the next unused ID.

The rework operation will be sequenced in parallel with the current ready or in-progress operation(s).

Parameters
Type Name Description Schema

Body

createReworkSingleOperationPatchDetails
optional

Entry containing the details for the rework operation to be created

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.9. WorkOrderCommands

2.9.1. Cancel a work order.

POST /workorders/{workOrderId}/cancel
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

204

Success

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.cancel

oauth2

mes.workorders.cancel

oauth2

mes.workorders.cancel

oauth2

mes.workorders.cancel

oauth2

mes.workorders.cancel

apiKey

2.9.2. Clock off the authenticated operator from the specified segment actuals.

POST /workorders/{workOrderId}/clockoff
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

segmentActualIds
optional

Ids of the segment actuals to clock off

< integer (int64) > array

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

apiKey

2.9.3. Clock off all clocked on operators from the specified segment actuals.

POST /workorders/{workOrderId}/clockoffalloperators
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

segmentActualIds
optional

Ids of the segment actuals to clock off all operators from

< integer (int64) > array

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

apiKey

2.9.4. Clock off the specified operator from the specified segment actuals.

POST /workorders/{workOrderId}/clockoffbyoperator
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

clockOffEntries
optional

Segment actuals and operators to clock off

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

oauth2

mes.workorders.clockoffoperator

apiKey

2.9.5. Clock on the authenticated operator to the specified segment actuals.

POST /workorders/{workOrderId}/clockon
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

clockOnEntries
optional

Segment actuals and labor types to clock on

< ClockOnEntry > array

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

apiKey

2.9.6. Complete segments on a work order.

POST /workorders/{workOrderId}/complete
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

segmentActualIds
optional

Ids of segments to complete

< integer (int64) > array

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

503

Server Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

apiKey

2.9.7. Complete quantity for work order segments

POST /workorders/{workOrderId}/completequantity
Parameters
Type Name Description Schema

Path

workOrderId
required

Work order containing segments to complete quantity on

integer (int64)

Body

completeQuantityEntries
optional

Specification of segments and quantities to complete

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

503

Server Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

apiKey

2.9.8. Create a hold record on the specified material lot actuals and segments.

POST /workorders/{workOrderId}/hold
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

holdEntries
optional

Hold command details

< HoldEntry > array

Responses
HTTP Code Description Schema

200

Success

< HoldRecord > array

400

Bad Request

401

Unauthorized

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.9.9. Release the specified hold records.

POST /workorders/{workOrderId}/releasehold
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

holdRecordIds
optional

Ids of the hold records to release

< integer (int64) > array

Responses
HTTP Code Description Schema

200

Success

< HoldRecord > array

400

Bad Request

401

Unauthorized

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.9.10. Scrap material lots on a work order.

POST /workorders/{workOrderId}/scrap
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

scrapEntries
optional

Details of each material lot being scrapped

< ScrapEntry > array

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.9.11. Split material lots on a work order.

POST /workorders/{workOrderId}/splitlot
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

splitLotEntries
optional

Split lot command details

< SplitLotEntry > array

Responses
HTTP Code Description Schema

200

Success

< MaterialLotActual > array

400

Bad Request

401

Unauthorized

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.9.12. Start segments on a work order.

POST /workorders/{workOrderId}/start
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

startSegmentActualEntries
optional

Start command details

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

503

Server Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

oauth2

mes.workorders.execute

apiKey

2.9.13. Update the material lot identifiers for a work order.

POST /workorders/{workOrderId}/updatelotidentifiers
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

updateLotIdentifierEntries
optional

Update lot identifiers command details

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.updatelotidentifier

oauth2

mes.workorders.updatelotidentifier

oauth2

mes.workorders.updatelotidentifier

oauth2

mes.workorders.updatelotidentifier

oauth2

mes.workorders.updatelotidentifier

apiKey

2.9.14. Update the material lot identifiers for a work order.

POST /workorders/{workOrderId}/updatelotplannedquantity
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Body

updateLotQuantityEntries
optional

Update lot identifiers command details

Responses
HTTP Code Description Schema

204

Success

No Content

400

Bad Request

401

Unauthorized

No Content

404

Not Found

422

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.10. WorkOrders

2.10.1. Create a work order.

POST /workorders
Parameters
Type Name Description Schema

Body

workOrderDetails
optional

Details on the work order to create.

Responses
HTTP Code Description Schema

201

Success
Headers :
ETag (string) : Current version of the work order resource.

400

Bad Request

401

Unauthorized

No Content

403

Forbidden

No Content

409

Conflict

422

Client Error

503

Server Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.create

oauth2

mes.workorders.create

oauth2

mes.workorders.create

oauth2

mes.workorders.create

oauth2

mes.workorders.create

apiKey

2.10.2. Get the work orders collection.

GET /workorders
Parameters
Type Name Description Schema

Query

completedAfter
optional

Filter results to return work orders completed on or after this time.
Combines with CompletedBefore to define a time range.

string (date-time)

Query

completedBefore
optional

Filter results to return work orders completed on or before this time.
Combines with CompletedAfter to define a time range.

string (date-time)

Query

name
optional

Name of the work order as a filter.

string

Query

orderBy
optional

Controls how the work order results are ordered.

enum (Name, PlannedStartDate, Priority, CompletedOn, CompletedOnDescending)

Query

page
optional

Page number to return (0…​N).

integer (int32)

Query

priority
optional

Priority value as a filter.

integer (int32)

Query

producedMaterialId
optional

Produced material ID as a filter. Multiple values are supported
and the result contains all the work orders matching any of the values

< integer (int64) > array(multi)

Query

productionLineId
optional

Production line ID as a filter. Multiple values are supported
and the result contains all the work orders matching any of the values

< integer (int64) > array(multi)

Query

size
optional

Number of resources to return per page.

integer (int32)

Query

status
optional

Status of the work order as a filter. Multiple values are supported
and the results contain all work orders matching any of the values.

< enum (NotReady, Ready, InProgress, Complete, Cancelled) > array(multi)

Responses
HTTP Code Description Schema

200

Success

400

Bad Request

401

Unauthorized

No Content

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.10.3. Get a work order.

GET /workorders/{workOrderId}
Parameters
Type Name Description Schema

Path

workOrderId
required

Id of the work order resource

integer (int64)

Responses
HTTP Code Description Schema

200

Success
Headers :
ETag (string) : Current version of the work order resource.

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

2.10.4. Update a work order.

PUT /workorders/{workOrderId}
Parameters
Type Name Description Schema

Header

if-Match
required

Expected work order resource ETag value

string

Path

workOrderId
required

ID of the work order to update.

integer (int64)

Body

workOrderDetails
optional

Details on the work order to update.

Responses
HTTP Code Description Schema

200

Success
Headers :
ETag (string) : Current version of the work order resource.

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

412

Client Error

422

Client Error

428

Client Error

Consumes
  • application/vnd.ge.mes.full+json; version=3.0

Produces
  • application/vnd.ge.mes.full+json; version=3.0

Security
Type Name Scopes

oauth2

mes.workorders.update

oauth2

mes.workorders.update

oauth2

mes.workorders.update

oauth2

mes.workorders.update

oauth2

mes.workorders.update

apiKey

2.10.5. Delete a work order.

DELETE /workorders/{workOrderId}
Parameters
Type Name Description Schema

Path

workOrderId
required

ID of the work order to delete.

integer (int64)

Responses
HTTP Code Description Schema

204

Success

No Content

401

Unauthorized

No Content

404

Not Found

Produces
  • application/vnd.ge.mes.full+json; version=3.0

3. Definitions

3.1. ClockOffByOperatorEntry

Clock off operator entry information - used by clock off operators to
identify the segment actual and the operator or all operators to clock off.

Name Description Schema

operatorName
required

Operator to clock off of the segment actual.
May not be used when mode is AllOperators.

string

segmentActualId
required

The ID of the segment actual to clock off.
Minimum value : 1
Maximum value : 9223372036854780000

integer (int64)

3.2. ClockOnEntry

Clock on entry information - used by the clock on command to
identify the segment actual and the labor type to clock on.

Name Description Schema

laborTypeId
required

Labor Type to clock on for the segment actual.

integer (int64)

segmentActualId
required

The ID of the segment actual to clock on.
Minimum value : 1
Maximum value : 9223372036854780000

integer (int64)

3.3. ClockOnRecord

Clock on record data transfer object

Name Description Schema

clockOffBy
optional

User that performed the clock off.

string

clockOffTime
optional

Clock off time - end of the work record.
Is null if the operator is still clocked on.

string (date-time)

clockOnBy
optional

User that performed the clock on.

string

clockOnTime
optional

Clock on time - start of the work record.

string (date-time)

id
optional

Clock on Record ID.

integer (int64)

laborTypeId
optional

ID of the labor type that is being performed.

integer (int64)

links
optional

Set of links on the resource.

< Link > array

operator
optional

Operator that is clocked on.

string

segmentActualId
optional

Id for SegmentActual being clocked on.

integer (int64)

3.4. ClockOnRecordPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

< ClockOnRecord > array

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

3.5. CompleteQuantityEntry

Complete quantity entry information - used by the complete quantity command to
identify the segment actual and the quantity to record.

Name Description Schema

quantity
required

Quantity to record for the segment actual.
Minimum value : 1
Maximum value : 2147483647

integer (int32)

segmentActualId
required

The ID of the segment actual to clock on.
Minimum value : 1
Maximum value : 9223372036854780000

integer (int64)

3.6. CompleteQuantityRecord

Complete quantity record data transfer object

Name Description Schema

id
optional

Complete quantity record ID.

integer (int64)

links
optional

Set of links on the resource.

< Link > array

quantity
optional

Quantity that was completed

integer (int32)

quantityCompletedBy
optional

User that performed the complete quantity.

string

quantityCompletedTime
optional

Time that the quantity was completed.

string (date-time)

segmentActualId
optional

ID of the segment actual quantity was completed on.

integer (int64)

3.7. CompleteQuantityRecordPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

3.8. CreateReworkSingleOperationPatchDetails

CreateReworkSingleOperationPatch Entry information - used by the rework command to identify the material lot actuals,
segment, and operation name to create a new rework operation

Name Description Schema

materialLotActualIds
required

The IDs of the material lot actuals to create a rework operation on.

< integer (int64) > array

operationName
required

The name of the rework operation to create.
Length : 1 - 100

string

segmentId
required

The ID of the segment to base the rework operation on.
The description, property values, planned unit IDs, and documents will be copied from this segment.

integer (int64)

workOrderId
required

The ID of the work order to rework.

integer (int64)

3.9. HoldEntry

Hold entry information - used by the create hold command to identify
the material lot and segments to create a hold on.
Also includes a description for the reason the hold was created

Name Description Schema

holdType
required

Type of hold. If the type is "Lot", the hold is for an entire material lot.
If the type is "Operation", the hold is for specific operations.

enum (Lot, Operation)

materialLotActualIds
required

The IDs of the material lot actuals to create hold records on.

< integer (int64) > array

reasonDescription
optional

A description of the reason the hold record is being created.
Maximal length : 150

string

segmentIds
optional

The IDs of the segments to create hold records on.
Must be null/empty for a "Lot" hold.
Must not be null/empty for a "Operation" hold.

< integer (int64) > array

3.10. HoldRecord

Hold record Data transfer object

Name Description Schema

active
optional

Indicates if the hold is currently active.

boolean

holdCreatedBy
optional

User that created the hold.

string

holdCreatedTime
optional

Time that the hold was created.

string (date-time)

holdReleasedBy
optional

User that released the hold.

string

holdReleasedTime
optional

Time the hold was released.

string (date-time)

holdType
optional

Type of hold. If the type is "Lot", the hold is for an entire material lot.
If the type is "Operation", the hold is for specific operations.

enum (Lot, Operation)

id
optional

Hold Record ID.

integer (int64)

links
optional

Set of links on the resource.

< Link > array

materialLotActualIds
optional

IDs of the material lot actuals for the hold record.

< integer (int64) > array

reasonDescription
optional

Description of the reason the hold was created.

string

segmentIds
optional

IDs of the segments on hold. Only applicable if HoldType is "Operation".

< integer (int64) > array

3.11. HoldRecordPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

< HoldRecord > array

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

3.12. HttpErrorDetails

Represents the payload on a failure response

Name Description Schema

code
optional

Enumeration value of the error classification or type

string

details
optional
read-only

Additional details about the specific error occurrence

< string, object > map

3.13. HttpErrorResponse

A standard error response body structure that can be used to provide
additional arbitrary details back to the requestor.
See https://devcloud.swcoe.ge.com/devspace/pages/viewpage.action?pageId=1147904378

Name Description Schema

error
optional

Error specific detail object

path
optional

URL of the request.

string

timestamp
optional

Time of the request

string (date-time)

Holds a resource link to support HATEOAS

Name Description Schema

href
optional
read-only

URL for the link.

string

rel
optional
read-only

Type or relation of the link.

string

templated
optional

Indicates if the link uses templating.

boolean

3.15. MaterialLotActual

Represents a material lot produced by a work order and tracks
its progress through operations and steps.

Name Description Schema

id
optional

Material Lot Actual ID.

integer (int64)

links
optional

Set of links on the resource.

< Link > array

lotIdentifier
optional

Lot Identifier provided with the work order request.
Represents the serial number for serialized materials.

string

onHold
optional

True if the material lot actual is on hold.

boolean

parentIds
optional

Parent Material Lot Actual IDs. This is populated on child material lot actuals created when
material lots are split or merged. This will be empty for material lot actuals with no parent.

< integer (int64) > array

plannedQuantity
optional

The planned quantity to produce for this material lot.

integer (int32)

status
optional

Status of the material lot.

string

workOrderId
optional

Work Order ID.

integer (int64)

3.16. MaterialLotActualPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

< MaterialLotActual > array

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

3.17. MaterialLotEntry

Material lot entry information - used by the create work order command to identify
the material lot identifiers and their planned quantity to create.

Name Description Schema

lotIdentifier
required

Identifier for this material lot

string

plannedQuantity
required

The planned quantity to produce with this material lot.
Minimum value : 1
Maximum value : 2147483647

integer (int32)

3.18. Operation

Provides information on an operation by extending the properties of a
segment actual info with denormalized related data.

Name Description Schema

completedBy
optional

User that completed the segment actual.

string

completedOn
optional

Date that the segment actual was completed.

string (date-time)

completedQuantity
optional

Completed quantity for the operation.

integer (int32)

links
optional

Set of links on the resource.

< Link > array

lotIdentifier
optional

Lot identifier for material lot that the operation executes on.

string

lotPlannedQuantity
optional

Planned quantity for the material lot that the operation executes on.

integer (int32)

materialLotActualId
optional

ID of the material lot actual that the operation executes on.

integer (int64)

onHold
optional

Indicates whether the operation is currently on hold.

boolean

operationDescription
optional

Description of the operation

string

operationName
optional

Name of the operation

string

plannedUnitIds
optional

Reference to the unit that the operation is planned to execute on.

< integer (int64) > array

producedMaterialId
optional

Material produced by the Work order that this operation is part of.

integer (int64)

productionLineId
optional

Production line ID that the work order executes on.

integer (int64)

readyOn
optional

Date that the segment actual was made ready.

string (date-time)

segmentActualId
optional

ID of the segment actual for the operation.

integer (int64)

segmentId
optional

ID of the segment that the operation executes.

integer (int64)

startedBy
optional

User that started the segment actual.

string

startedOn
optional

Date that the segment actual was started.

string (date-time)

startedOnUnitId
optional

Reference to the unit that the operation is started on.

integer (int64)

status
optional

Status of the operation.

string

workOrderId
optional

ID of the work order that the operation is part of.

integer (int64)

workOrderName
optional

Name of the work order that the operation is part of.

string

workOrderPriority
optional

Relative priority of the work order.

integer (int32)

3.19. OperationPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

< Operation > array

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

3.20. PageMetadata

Page size and location information.

Name Description Schema

number
optional

Current page number.

integer (int32)

size
optional

Maximum number of resources on a page.

integer (int32)

totalElements
optional

Total number of resources in the paged collection.

integer (int32)

totalPages
optional

Total number of pages in the paged collection.

integer (int32)

3.21. PatchOperation

Name Schema

from
optional

string

op
optional

string

path
optional

string

value
optional

object

3.22. PatchWithETag

A JSON patch document describing changes to be made to a resource
as well as the current ETag value for the resource to be patched

Name Description Schema

eTagValue
optional

Current ETag value of the resource to be patched

string

patch
optional

The JSON patch document

< PatchOperation > array

3.23. ScrapEntry

Scrap command entry - used by the scrap command to identify
the material lot to be scrapped.
Also includes reason level ids used for categorizing the waste in Plant Apps.

Name Description Schema

materialLotActualId
optional

The ID of the material lot actual to be scrapped.

integer (int64)

reasonLevel1Id
optional

Reason Level 1 Id. This is the 1st level reason used to categorize the waste.
It is the Id of the corresponding reason which must already exist in Plant Apps.

integer (int32)

reasonLevel2Id
optional

Reason Level 2 Id. This is the 2nd level reason used to categorize the waste.
It is the Id of the corresponding reason which must already exist in Plant Apps.

integer (int32)

reasonLevel3Id
optional

Reason Level 3 Id. This is the 3rd level reason used to categorize the waste.
It is the Id of the corresponding reason which must already exist in Plant Apps.

integer (int32)

reasonLevel4Id
optional

Reason Level 4 Id. This is the 4th level reason used to categorize the waste.
It is the Id of the corresponding reason which must already exist in Plant Apps.

integer (int32)

3.24. SegmentActual

Provides status tracking for a material lot execution on a segment

Name Description Schema

completedBy
optional

User that completed the segment actual.

string

completedOn
optional

Date that the segment actual was completed.

string (date-time)

id
optional

Segment Actual ID.

integer (int64)

links
optional

Set of links on the resource.

< Link > array

materialLotActualId
optional

ID of the material lot actual for this segment actual.

integer (int64)

onHold
optional

True if the segment actual is on hold.

boolean

readyOn
optional

Date that the segment actual was made ready.

string (date-time)

segmentId
optional

ID of the segment that is being tracked.

integer (int64)

startedBy
optional

User that started the segment actual.

string

startedOn
optional

Date that the segment actual was started.

string (date-time)

startedOnUnitId
optional

Reference to the unit that the segment is executing on.

integer (int64)

status
optional

Status of the segment actual.

string

workOrderId
optional

ID of the work order for this segment actual

integer (int64)

3.25. SegmentActualPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

< SegmentActual > array

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

3.26. SplitLotChildLotEntry

Split lot child lot information - used by the split lot command to identify
details of a child lot to create.

Name Description Schema

completedQuantities
required

Completed quantities for in-progress operations on the child lot

lotIdentifier
required

Lot identifier for the child lot
Length : 0 - 100

string

plannedQuantity
required

Planned quantity for the child lot
Minimum value : 1
Maximum value : 2147483647

integer (int32)

3.27. SplitLotCompletedQuantityEntry

Split lot completed quantity information - used by the split lot command to identify
completed quantity on an in progress operations for a child lot

Name Description Schema

completedQuantity
required

Completed quantity for the in-progress operation
Minimum value : 0
Maximum value : 2147483647

integer (int32)

segmentId
required

Segment ID for the in-progress operation

integer (int64)

3.28. SplitLotEntry

Split lot information - used by the split lot command to identify
a material lot to split and details of the child lots to create.

Name Description Schema

childMaterialLots
required

Child material lot details

materialLotActualId
required

ID of the material lot actual to be split

integer (int64)

newLotIdentifier
optional

Optional new lot identifier name for the material lot being split. This allows using the existing lot identifier
for one of the child lots. Set to null to keep existing lot identifier on the parent.
Length : 0 - 100

string

3.29. StartSegmentActualEntry

Start segment information - used by the start command to identify
a material lot and operation to start.

Name Description Schema

segmentActualId
optional

The ID of the segment actual to start.

integer (int64)

unitId
optional

The ID of the unit to start the segment on.

integer (int64)

3.30. UpdateLotIdentifierEntry

Update lot identifier information - used by the update lot identifiers
command to identify a material lot and a new lot identifier.

Name Description Schema

lotIdentifier
optional

The new lot identifier.

string

materialLotActualId
optional

The ID of the material lot actual to update.

integer (int64)

3.31. UpdateLotPlannedQuantityEntry

Update lot planned quantity detail - used by the update lot planned quantity
command to identify a material lot and a new planned quantity.

Name Description Schema

materialLotActualId
required

The ID of the material lot actual to update.

integer (int64)

plannedQuantity
required

The updated planned quantity to produce with this material lot.
Minimum value : 1
Maximum value : 2147483647

integer (int32)

3.32. WorkOrder

Work order Data transfer object

Name Description Schema

cancelledOn
optional

Date that the work order was cancelled.

string (date-time)

completedOn
optional

Date that the work order was completed.

string (date-time)

createdBy
optional

User that created the route.

string

createdOn
optional

Date that the work order was created.

string (date-time)

eTagValue
optional

Current ETag value of the work order resource

string

id
optional

Work Order ID.

integer (int64)

lastModifiedBy
optional

User that last modified the route.

string

lastModifiedOn
optional

Date that the route was last modified.

string (date-time)

links
optional

Set of links on the resource.

< Link > array

name
optional

Work Order name.

string

plannedEndDate
optional

Planned end date for the work order.

string (date-time)

plannedQuantity
optional

The planned quantity to produce with this work order.

integer (int32)

plannedStartDate
optional

Planned start date for the work order.

string (date-time)

priority
optional

Relative priority of the work order.

integer (int32)

processOrderId
optional

Work order’s process order in the plant apps execution system.

integer (int64)

producedMaterialId
optional

Work order produced material ID.

integer (int64)

productionLineId
optional

Work order production line ID.

integer (int64)

readyOn
optional

Date that the work order was made ready.

string (date-time)

routeDefinitionId
optional

Refers to the route used to execute the work order.

integer (int64)

startedOn
optional

Date that the work order was started.

string (date-time)

status
optional

Status of the work order.

string

3.33. WorkOrderForCreation

Work order details for creating a work order.

Name Description Schema

materialLots
required

Material lots to produce with this work order.

< MaterialLotEntry > array

name
required

Work Order name.
Maximal length : 50

string

plannedEndDate
optional

Planned end date for the work order.

string (date-time)

plannedStartDate
optional

Planned start date for the work order.

string (date-time)

priority
optional

Relative priority of the work order.
Minimum value : 0
Maximum value : 2147483647

integer (int32)

producedMaterialId
required

Work order produced material ID.

integer (int64)

productionLineId
optional

Work order production line ID.

integer (int64)

routeDefinitionId
optional

Refers to the route used to execute the work order.

integer (int64)

3.34. WorkOrderForUpdate

Work order details for updating a work order.

Name Description Schema

plannedEndDate
optional

Planned end date for the work order.

string (date-time)

plannedStartDate
optional

Planned start date for the work order.

string (date-time)

priority
optional

Relative priority of the work order.
Minimum value : 0
Maximum value : 2147483647

integer (int32)

3.35. WorkOrderPage

Contains a page of resources and the links
required to navigate over pages.

Name Description Schema

content
optional

Set of resources on the page.

< WorkOrder > array

links
optional

Set of links on the resource.

< Link > array

page
optional

Describes the size and location in the set of pages.

4. Security

4.1. Authorization Code

Type : oauth2
Flow : accessCode

Name Description

mes.workorders.execute

Permission to execute work orders

mes.workorders.create

Permission to create work orders

mes.workorders.updatelotidentifier

Permission to update lot identifiers

mes.workorders.update

Permission to update work orders

mes.workorders.cancel

Permission to cancel work orders

mes.workorders.clockoffoperator

Permission to clock off other operators

mes.workorders.editsegments

Permission to update segments on work orders

4.2. Client Credentials

Type : oauth2
Flow : application

Name Description

mes.workorders.execute

Permission to execute work orders

mes.workorders.create

Permission to create work orders

mes.workorders.updatelotidentifier

Permission to update lot identifiers

mes.workorders.update

Permission to update work orders

mes.workorders.cancel

Permission to cancel work orders

mes.workorders.clockoffoperator

Permission to clock off other operators

mes.workorders.editsegments

Permission to update segments on work orders

4.3. Resource Owner Password Credentials

Type : oauth2
Flow : password

Name Description

mes.workorders.execute

Permission to execute work orders

mes.workorders.create

Permission to create work orders

mes.workorders.updatelotidentifier

Permission to update lot identifiers

mes.workorders.update

Permission to update work orders

mes.workorders.cancel

Permission to cancel work orders

mes.workorders.clockoffoperator

Permission to clock off other operators

mes.workorders.editsegments

Permission to update segments on work orders

4.4. Implicit

Type : oauth2
Flow : implicit

Name Description

mes.workorders.execute

Permission to execute work orders

mes.workorders.create

Permission to create work orders

mes.workorders.updatelotidentifier

Permission to update lot identifiers

mes.workorders.update

Permission to update work orders

mes.workorders.cancel

Permission to cancel work orders

mes.workorders.clockoffoperator

Permission to clock off other operators

mes.workorders.editsegments

Permission to update segments on work orders

4.5. OnBehalfOf

Use in combination with OAuth2 client credentials to pass user context. Value should be set to a JWT user token with a prefix of 'Bearer '.

Type : apiKey
Name : On-Behalf-Of
In : HEADER