Download OpenAPI specification:Download
Maintenance API provides live access to read and update data within the Operation and Maintenance ERP area in Equinor.
If you require read-only access for analytical purposes with limited freshness, please use Maintenance Data API. This API is operated and maintained by a different team. Documentation for the Maintenance Data API can be found here
This document describes the release version 1.38.0 for April 2024. We recommend using the documentation published at https://equinor.github.io/maintenance-api-docs as it provides the best developer experience. Information on the next release 1.39.0 planned for May 2025 is available at this page.
Our product vision is to make maintenance data available outside of the ERP system, to keep it relevant and updated, while also inspiring and enabling for innovation.
The API is designed and built according to Equinor's API strategy.
The API is documented in OpenAPI 3.0 format and follows REST principles.
A simple way to test the API is through Postman which is accessible through AccessIT.
The APIphany team also do conceptual development together with the consumer. Event Driven architecture is one example. Another example is for Condition Based Maintenance (CBM).
The API will use common terminology used across the Oil&Gas industry for the maintenance process. Norsok standard NS-EN 13306 and ISO 14224 are key resource in the naming of resources in the API.
api-version
must be present in all request as part of the query string. Requests without API version will be rejected with a HTTP 404 response code. The latest api-version is v1
.
deprecated 2022-08
The subscription key is as of release 1.11.0
phased out and therefore HTTP header ocp-apim-subscription-key
is no longer required for requests. This is a non-breaking change and clients are unaffected if the subscription key is still sent.
The Maintenance API will combine information from various business systems in Equinor used in the maintenance area through one common API.
Currently, the majority of endpoints connect to Equinor's ERP system based on SAP.
A safeguard has been put in place in order to not overload the backend systems. It is set up so that each consumer
has a fixed number of concurrent requests that they can execute at the same time. If the amount of requests exceeds the
limit, requests may be put into a queue, awaiting execution. If the queue is also filled up, the API will start to respond
with 429 - Too Many Requests
responses. The consumer will have to back off and reduce the amount of concurrent requests
(by waiting for the active requests to finish) before issuing more. The current limits per consumer is:
In our QA environment (https://api-test.gateway.equinor.com/maintenance-api) you can route your request towards the version line client instead of the default production line. This is helpful in role building scenarios which is typically done in the version line (Q83) or if the production line (Q93) is down due to maintenance or updates.
To route a request towards the version line, include the query parameter use-version-line=true
in your request. This parameter will default to false
if it is not included.
In our API, you can customize the response by specifying which fields to include using the selectFields
query parameter on all Lookup endpoints. This allows you to tailor the data returned based on your needs, improving efficiency and reducing unnecessary data transfer.
To include specific fields in your response, add the query parameter select-fields
to your request, followed by a comma-separated list of the desired fields. This allows you to limit the data returned to only the fields you need, which can improve performance by reducing the payload size. For example, if a resource has properties id
, name
, and description
, a request with selectFields=id,name
will return only those two properties.
If the select-fields
parameter is not included, all available fields will be returned by default.
The API allows you to get mock response for all endpoints if required. This can be useful in special cases. For example if developers from external companies do not have (and should not have) authorization in Equinor's ERP system, they can still interact with the API to see the possibilities.
Add mock-response=true
as a query parameter to the request and the response will be mock data based on the OpenAPI specification.
Maintenance API can be integrated and provide value in solutions such as web applications, mobile apps, Power Apps, commandline scripts and many more. In order to start using Maintenance API, some setup is required. We strive to keep this to a minimum and will assist developers from IT and the business in the necessary setup.
The standard and preferred scenario for using Maintenance API involves OAuth Authorization Code Flow. Here the client application is configured with permission to call the Maintenance API on behalf of the logged on user in Equinor Azure AD. Interaction with the backend ERP system (such as read a failure report or update a work order) is performed with the logged on user and requires that the logged on user has the necessary authorizations.
The following configuration steps needs to be performed for the initial setup:
Create client app registration in Equinor Azure AD through portal.azure.com for each environment of your solution. This step requires the Application Developer role in Access IT. See Omnia documentation Application Management in AAD for more information. We recommend one client app registration per client environment such as dev, qa and production.
Create client secrets for your client app registrations
Add an API permission for the app registrations towards the Maintenance API. The following API names are used with application id in parenthesis: Maintenance API QA (ad711600-154b-4ab0-8945-06cba7f10c4b) and Maintenance API Prod (1aee2186-b5f4-445a-bbf2-d28589ccb59a)
Trigger an authentication request through a http client (such as postman, or in a browser) in order to trigger the consent process of the API permission
https://login.microsoftonline.com/3aa4a235-b6e2-48d5-9195-7fcf05b459b0/oauth2/v2.0/authorize?client_id=YourClientIdGuid&redirect_uri=RedirectUriOnYourAppReg&response_mode=form_post&response_type=code&scope=MaintenanceAPIGuid/.default
Contact us at the #maintenance-api channel on slack or create a Github issue for maintenance-api-docs. We would love to hear how you intend to use the API
We recommend using Postman as a tool for experimenting with the API.
In some scenarios, the standard setup does not cover the requirements and there is a need for system to system communication without user interaction. An example of such a scenario is scheduled background jobs.
For Maintenance API system to system integration requires additional setup both in the ERP system and for the client.
In the ERP system, a role supporting the specific client requirements must be established. In addition, a system user with this role will be need to be created.
The client must use oauth2 client credentials flow with certificates and the client application must be registered in Equinor Azure AD as an app registration. The client must generate a self-signed certificate and upload the public key to their app registration in Equinor Azure AD.
The self-signed certificate with private key will be used to generate the client_assertion
property of the request to Equinor Azure AD as described Microsoft identity platform application authentication certificate credentials. We recommend using Microsoft MSAL to assist in the integration.
The APIphany team will assist in the system to system setup when necessary for integration. Contact us at the #maintenance-api channel on slack or create a Github issue for maintenance-api-docs.
It is possible to read user information with system to system setup but the functionality is disabled by default. To enable this functionality, the application must have a Legal Risk Assesment in place, showing that the application is allowed to read limited user information. Contact us for verification and enabling of this functionality for your application.
Microsoft Power Apps is a low-code platform for implementing business functionality. For more information on the usage of Power Apps in Equinor, see the Citizen Development site, Microsoft Power Platform group at Yammer or the Equinor Slack channel #powerplatform.
In order to use Maintenance API within Equinor Power Apps, the relevant DigiTeam should establish a custom connector for the API in their Power platform environment. It is important to keep the custom connector up to date in order the get access to the latest functionality in the API.
The Power Platform enablement team provides some utilities for creating custom connectors in their Github repository.
The latest OpenAPI specification for Maintenance API will always be available at maintenance-api-docs and it adheres to the OpenAPI 3.0.1 standard.
Note: Be aware the OpenAPI support in custom connectors is limited and outdated. For example elements such as allOf or oneOf used in Maintenance API are not directly supported. We have an unsupported generated file which attempts to fix this at maintenance-api-flattened.yaml.
The resource will be named according to common terminology used across the Oil&Gas industry (for example Norsok standard NS-EN 13306 and ISO 14224).
Example of resources are /work-orders/preventive-work-orders and /plants/{plant-id}/tags .
Resources keys will indicate the resource type as part of the name.
Example: workCenterId
and priorityId
.
If there is a common "supertype resource", the supertype will determine the naming standard of the key.
Example: FailureReports
and ActivityReports
are both a type of MaintenanceRecord
. Therefore, the key for both is recordId
.
Some resources may have multi-line text describing the resource or the contents of it in more detail. This will always have property name text
.
For all Maintenance record
- and Work Order
-related endpoints, we now expose multi-line text, that gives the consumer greater control of the input and formatting
of the text towards the ERP system when creating and updating. In the corresponding lookup request, the formatting can be viewed as
it is stored in the source system. A dummy example is provided below:
"text" : "Commands should generally not be inputted, just kept where they are from the lookup \n{{COMMAND INCLUDE Z_110_FLX_BEREDSKAPSGASSMAAL_0001 OBJECT TEXT ID IPRT}},
but after that we can do whatever.\n{{LEFT_ALIGNED}}Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.\n{{CENTERED}}Duis aute irure dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum."
With the help of Control Characters, styling such as centering, left-alignment and linefeed
can be controlled. These are always surrounded by double curly braces{{ }}
. These are the available keys:
ControlCharacter | FormatKey | Description |
---|---|---|
\n | * | Makes the line into a paragraph |
{{CENTERED}} | C | Centers the paragraph |
{{JUSTIFIED}} | B | Justifies the paragraph |
{{LEFT_ALIGNED}} | L | Aligns the paragraph to the left |
{{RAW_LINE}} | ( | This text will not be processed for format and styling, rarely used |
{{LINEFEED}} | / | New line without a /n, same as "shift+enter" |
{{LINEFEED_EXTENDED}} | /= | Linefeed from extended line, rarely used |
{{LINEFEED_RAW}} | /( | Linefeed without format and styling, rarely used |
{{COMMENT}} | /* | Comments the paragraph |
{{COMMAND ...}} | /: | The command shall be included within the braces. |
Any line that is longer than 132 characters will be split up and inserted as extended lines automatically. The exception to this is COMMAND, which will only accept one 132 characters long line, per command.
If you want to display text without the control characters, you can remove them with a Regex expression for example. The pattern
(\{\{.*?\}\})
can be used to match all control characters for easy removal. Make sure that you test your patterns for
your use case before setting them into production. There are online tools that are helpful with both creating and testing,
which should be easy to find with a web search.
All date and time information are based on UTC (Universal Time Coordinated) and formatted according to RFC3339. This also applies to durations, such as 1 day or 2 hours.
Example values:
2022-08-24T14:15:22Z
2019-08-24
P0Y0M1DT0H0M0S
(one day) and P0Y0M0DT2H0M0S
(two hours)These values are easily compatible with libraries such as moment.js library.
It's worth mentioning that in some special cases for maintenance data outside of Norway, datetimes after timezone conversion is not what the end-users would expect. The reason for this is that users may have entered datetimes in their local timezone into the Equinor ERP system, but the Equinor ERP system is configured to treat the input as if it was in the current Norwegian timezone (UTC+1/UTC+2). This causes a discrepancy in the Equinor ERP system which can not be corrected for in Maintenance API. basicStartDateTime
and basicEndDateTime
for work orders are examples of properties which may have unexpected time conversion.
From some resources there will be a need to provide uri links to other endpoints. This can for example to provide the endpoint for download of a binary attachment from a work order resource it belongs to.
The link will be defined in the data model of the resource and be grouped under the property name _links.
The name of the properties for the _links object will taken from Link relations defined through RFC8288 when possible. Typical link relation names are self
and enclosure
.
The uri will not include query parameters required or supported by the endpoint (such as api-version, include-operations etc).
"attachments": [
{
"attachmentId": "M3E0d7JwNje2tDQxNzByM3I1NIAARxdLE0MDx5oaEMfQ0MDSwtDYNN7AIt7CwNzC0MDcUiEsNa8kUy_CJ7gGAA"",
"fileName": "equipment_location.jpg",
"fileSize": "1636352",
"mimeType": "image/jpg",
"_links": {
"enclosure": "/equipment/11948620/attachments/M3E0d7JwNje2tDQxNzByM3I1NIAARxdLE0MDx5oaEMfQ0MDSwtDYNN7AIt7CwNzC0MDcUiEsNa8kUy_CJ7gGAA"
"documentEnclosure": "/documents/1097069-C01-000-00/attachments/M3E0d7JwNje2tDQxNzByM3I1NIAARxdLE0MDx5oaEMfQ0MDSwtDYNN7AIt7CwNzC0MDcUiEsNa8kUy_CJ7gGAA"
}
}
Lookup operations return a single instance for the resource based on the key.
The resource may have related data which may or may not be relevant for a client. In order to indicate which related data to include, the lookup operation provides include-...
query string boolean options.
Examples: include-operations
and include-tasks
Clients need to retrieve a subset of all resources for an endpoint. Usually, the criteria are non-trivial and in many case are not direct properties of the resource. REST does not provide a well-defined pattern for these types of requests.
Our approach, is to provide predefined filters with parameters. Each filter is documented in the OpenAPI specification.
Examples: maintenance-records/failure-reports/?api-version=v1&filter=recent-status-activation&status-id=RIDO&max-days-since-activation=1
and /maintenance-orders/preventive-work-order/?api-version=v1&filter=same-maintenance-plan&work-order-id=12345678&max=5
Update operations for resources will utilize a sub-set of the JSON Patch proposed standard. JSON Patch is described in RFC 6902 with a user-friendly version at https://jsonpatch.com/.
Our goals with using JSON Patch is to focus on the intent of the update and avoid common pitfalls for the client. The common pitfalls we avoid with JSON Patch are:
Using JSON Patch is straightforward.
application/json-patch+json
. As part of the OpenAPI documentation, we will provide concrete examples for all update operation. In addition, the schema definition for the request body defines which resource properties can be updated.
Example of JSON Patch request body which replaces the value of the properties title and text:
[
{
"op": "replace",
"path": "/title",
"value": "Material failure"
},
{
"op": "replace",
"path": "/text",
"value": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nMaterial tretthet..\n"
}
]
HTTP response codes will follow established best practice for REST services and will be documented in the OpenAPI specification.
Below is a list of status codes used in the API which the client should handle. Common:
Read - HTTP GET:
Create - HTTP POST:
Create - HTTP PUT
Update - HTTP PATCH:
Delete - HTTP DELETE:
Endpoints that return multiple items will in some cases support pagination. This helps improve performance by only fetching the data which is necessary for the client.
Parameters page
and per-page
are used to define which page is fetched and how many records are returned in the current request. per-page
will typically have a max limit defined in the endpoint's documentation.
The response of a pagination request will include 3 additional HTTP headers:
Total-Count
: Custom HTTP header which shows total number of items found matching the criteria of the request (not just in the page returned)Link
: Pagination data in accordance to RFC 5988. This will include a link for the next, previous, first and last page.Link-Json
: Custom HTTP header for making the information in Total-Count
and Link
accessible in an easy to read JSON formatClients are recommended to use Link-Json
HTTP header to traverse the pages. Example of the data in this HTTP header:
{
"totalCount": 49,
"links": {
"next": "https://api-test.gateway.equinor.com/maintenance-api/equipment?page=3&api-version=v1",
"prev": "https://api-test.gateway.equinor.com/maintenance-api/equipment?page=2&api-version=v1",
"first": "https://api-test.gateway.equinor.com/maintenance-api/equipment?api-version=v1",
"last": "https://api-test.gateway.equinor.com/maintenance-api/equipment?page=4&api-version=v1"
}
}
Note: For some endpoints there is a risk that individual items "disappear" between pages if data is updated in ERP system whilst the pages are requested.
The Maintenance API will use the principles of API evolution instead of introducing a new api-version on every breaking change.
In order to achieve this, endpoints, query parameters and resource properties can become deprecated and will be marked so in the OpenAPI specification.
In general, deprecated properties will be removed after 3 months.
If a client uses a deprecated endpoint or query parameter, the Maintenance API will in the response provide a Sunset HTTP header
Sunset: Sat, 15 May 2021 12:59:59 GMT
representing the removal date for the deprecated feature as specified in RFC8594. In addition, a HTTP header Link: <https://equinor.github.io/maintenance-api-docs/#section/Deprecation>; rel="sunset"
will be provided to pointing to relevant documentation.
Clients must monitor these messages and take corrective actions.
quantityUnitId
is added to differentiate the field from future requirement where a description of quantityUnit might be added.
This deprecates the response in the following endpoints
planningPlantId
is replacing plannerGroupPlantId
This deprecates properties of the response in the following endpoints:
This deprecates HTTP POST request properties for the following endpoints:
failureImpactId
should only be updated through a new dedicated endpoint in order to properly maintain priorityId on the
related Corrective WorkOrder.
This deprecates the updating of failureImpactId
on the following endpoint.
For updating failureImpactId
, see new endpoint:
/maintenance-records/failure-reports/{record-id}/failure-impact-change
cmrIndicator
from work orders.cmrIndicator
is removed from the response for all work order types. Please see the STRY0261073 for more information.
The intention of the CMR-indicator is to reflect work orders that will hit different KPI's. However, the KPI definitions have changed over the last decade without the CMR-indicator being updated. This has resulted in a current situation where the CMR-indicator on work orders is misleading. Going forward we will use the priority field on work orders to reflect their criticality. The CMR-indicator is therefore no longer needed and should be removed.
filter
in specific search endpointsfilter
is a parameter used in Search endpoints to define which search criteria are necessary given the backend search query.
This has been more restrictive than it needs to be to, so in order to support more query parameters for Search endpoints, better results can be achieved by removing the filter
parameter.
Additionally this will result in smaller and faster responses with only relevant data.
Please see each given endpoint on which parameters will be required in the future and which can be combined.
This deprecates filter
in the following endpoints:
The API is operated and maintained by the APIphany team, who can be contacted in Equinor slack channels #maintenance-api and #maintenance-api-support
Feature requests are welcomed and can be submitted through:
A list of frequently asked questions (FAQs) along with their answers.
Q: I got the error status 403 - Forbidden, how may I resolve this?
Search revisions for a single plant with related information.
Search by revision ids for a single plant
Parameters:
/plants/1310/revisions?filter=by-revision-id&revision-id-any-of=OFP,OFP%202022,&include-work-order-operations=true&include-only-work-order-operations-with-materials=true&include-work-order-operation-text=true&api-version=v1
Added parameter include-text-item-materials
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added superiorRoutingCounterId
to operations
.
Added property text
to materials
in workOrderOperations
.
plant-id required | string |
filter required | string (SearchRevisionsFilter) Value: "by-revision-id" Filter to limit revisions |
revision-id-any-of | string Example: revision-id-any-of=OFP,OFP%202022 Comma-separated list of revision-id |
include-work-order-operations | boolean Default: false Include the work order operations |
include-only-work-order-operations-with-materials | boolean Default: false Limit the work order operations to only those which have material |
include-text-item-materials | boolean Default: false Include text item materials |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/revisions?filter=SOME_STRING_VALUE&revision-id-any-of=OFP%2COFP%25202022&include-work-order-operations=SOME_BOOLEAN_VALUE&include-only-work-order-operations-with-materials=SOME_BOOLEAN_VALUE&include-text-item-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "workOrderId": "24983466",
- "title": "Bygge stillas",
- "superiorRoutingCounterId": "00000009",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL",
- "activeStatusIds": "REL CNF",
- "hasMaterial": false,
- "changedDateTime": "2023-11-28T06:06:14Z",
- "changedById": "433937",
- "changedBy": "Dagfinn Parnas",
- "changedByEmail": "dapa@equinor.com",
- "progressChangedDateTime": "2023-11-28T06:06:14Z",
- "progressChangedById": "932131",
- "progressChangedBy": "David Ramsay",
- "progressChangedByEmail": "dar@equinor.com",
- "confirmationDateTime": "2019-08-24T14:15:22Z",
- "confirmationBy": "Harald Hårfagre",
- "confirmationById": "932131",
- "confirmationByEmail": "example@equinor.com",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "revisionId": "PS02_21",
- "revision": "Planlagt stans februar 2021",
- "revisionStartDateTime": "2019-08-24T14:15:22Z",
- "revisionEndDateTime": "2019-08-24T14:15:22Z",
- "revisionStartDate": "2019-08-24T14:15:22Z",
- "revisionEndDate": "2019-08-24T14:15:22Z",
- "isCompleted": false
}
]
Search revision work order operations on a plant.
Parameters:
/plants/1310/revisions/PS01-23?include-only-work-order-operations-with-materials=true&include-work-order-operation-text=true&page=1&per-page=10&api-version=v1
Added changedDateTime
,changedById
, changedBy
, changedByEmail
.
Added progressChangedDateTime
, progressChangedBy
, progressChangedById
and progressChangedByEmail
to response. These values represent the last update datetime for technical feedback.
Altered changedDateTime
, changedBy
, changedById
and changedByEmail
to only represent last update to the operation.
Added fields confirmationDateTime
, confirmationBy
, confirmationByEmail
and confirmationById
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on materials
into finalLocation
and temporaryLocation
in the response.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added superiorRoutingCounterId
to response.
Added property text
in materials
.
plant-id required | string |
revision-id required | string |
include-only-work-order-operations-with-materials | boolean Default: false Limit the work order operations to only those which have material |
include-text-item-materials | boolean Default: false Include text item materials |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
per-page | integer [ 1 .. 100 ] Results to return pr page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/revisions/%7Brevision-id%7D/work-order-operations?include-only-work-order-operations-with-materials=SOME_BOOLEAN_VALUE&include-text-item-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "workOrderId": "24983466",
- "title": "Bygge stillas",
- "superiorRoutingCounterId": "00000009",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL",
- "activeStatusIds": "REL CNF",
- "hasMaterial": false,
- "changedDateTime": "2023-11-28T06:06:14Z",
- "changedById": "433937",
- "changedBy": "Dagfinn Parnas",
- "changedByEmail": "dapa@equinor.com",
- "progressChangedDateTime": "2023-11-28T06:06:14Z",
- "progressChangedById": "932131",
- "progressChangedBy": "David Ramsay",
- "progressChangedByEmail": "dar@equinor.com",
- "confirmationDateTime": "2019-08-24T14:15:22Z",
- "confirmationBy": "Harald Hårfagre",
- "confirmationById": "932131",
- "confirmationByEmail": "example@equinor.com",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
]
Get work order activities planned to be performed for a single planning plant.
The response is normally based on the planned scheduling of work order operations through the properties earliestStartDateTime
and earliestFinishDateTime
. It does not use assignment to baseline plan as a source as this does not cover all work.
It is possible to use the defined periods from the baseline plans as basis for the query parameters planPeriodStartDate
and planPeriodDuration
. Use /plants/{plant-id}?include-baseline-plan=true&api-version=v1
for this purpose.
personResponsibleId
will normally not be populated as planning is performed on the work center as a whole.
This endpoint returns only Work Order with status 'PLAN'. The field requiredEndDate
is dependent on workOrderType.
plan-period-start
and plan-period-duration
Provide the plan for a specific planning plant based on a defined plan period. This is the main usage of this endpoint.
Example of usage:
/work-order-plan/{planning-plant-id}?plan-period-start=2023-03-02&plan-period-duration=P21D&location-id-any-of=CD00&include-completed-work-order-operations=false&work-order-types-any-of=preventiveWorkOrders,correctiveWorkOrders&api-version=v1
/work-order-plan/{planning-plant-id}?plan-period-start=2023-03-02&plan-period-duration=P21D&work-center-id-any-of=C31*&include-completed-work-order-operations=false&api-version=v1
person-responsible-*
Get the work order plan for a specific planning plant, but only for work orders assigned to a specific user. Normally, work orders will not be assigned directly to a user, but in some work processes (such as inspection), this occurs.
Example of usage:
/work-order-plan/{planning-plant-id}?person-responsible-email=shortname@equinor.com&include-completed-work-order-operations=false&work-order-types-any-of=preventiveWorkOrders,correctiveWorkOrders&api-version=v1
It is possible to get all work order plans for a period which are assigned to user by combining all parameters.
Example of usage:
/work-order-plan/{planning-plant-id}?person-responsible-email=shortname@equinor.com&plan-period-start=2023-03-02&plan-period-duration=P21D&include-completed-work-order-operations=false&work-order-types-any-of=preventiveWorkOrders,correctiveWorkOrders&api-version=v1
Added query parameter work-center-id-any-of
.
Added properties cmrIndicator
and maintenanceRecordId
.
Added following filter options:
main-work-center-id-any-of
status-any-of
status-not
operation-notes-any-of
Added following fields to the response:
personResponsible
mainWorkCenterId
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added overheadMaintenanceWorkOrders
to work-order-types-any-of
query parameter.
Deprecated the filter
parameter. The endpoint will accept the parameter but ignore it. It is now possible to combine almost all
query parameters. person-responsible-email
and person-responsible-id
will still be mutually exclusive.
It is required to supply either plan-period-start
or person-responsible-*
in order to not cause issues in the underlying system.
planning-plant-id required | string Example: 1901 Planning plant to retrieve work order plan for |
filter required | string (GetWorkOrderPlanFilter) Deprecated Enum: "by-plan-period" "by-person-responsible" Deprecated parameter that is ignored but accepted. Has no effect. |
plan-period-start | string <date> Start of plan period ( |
plan-period-duration | string Example: plan-period-duration=P21D Duration of plan period |
person-responsible-email | string Example: person-responsible-email=shortname@equinor.com Email address for responsible person. Should not be used in combination with |
person-responsible-id | string Example: person-responsible-id=123456 Id for responsible person. Should not be used in combination with |
include-completed-work-order-operations | boolean Default: false Include Work Order Plans with completed work order operations |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
work-order-types-any-of | Array of strings (GetWorkOrderPlanWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Limit to specific work order types (any-of). Default includes all types |
work-center-id-any-of | string Example: work-center-id-any-of=POMAUT,POMELE,C31* Comma-separated list of work-center-id |
main-work-center-id-any-of | string Example: main-work-center-id-any-of=POMAUT,POMELE,C31* Comma-separated list of main-work-center-id |
revision-id-any-of | string Example: revision-id-any-of=OFP,OFP%202022 Comma-separated list of revision-id |
location-id-any-of | string Example: location-id-any-of=CD00,CD01 Comma-separated list of location-id |
status-any-of | Array of strings Items Enum: "STRT" "RDOP" "TECO" "REL" "CRTD" Example: status-any-of=STRT,RDOP,TECO Query based on statusIds (not all statuses are supported) |
status-not | Array of strings Items Enum: "STRT" "RDOP" "TECO" "REL" "CRTD" Example: status-not=STRT,RDOP,TECO Query based on statusIds (not all statuses are supported) |
operation-notes-any-of | string Query based on |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-order-plan/%7Bplanning-plant-id%7D?filter=SOME_STRING_VALUE&plan-period-start=SOME_STRING_VALUE&plan-period-duration=P21D&person-responsible-email=shortname%40equinor.com&person-responsible-id=123456&include-completed-work-order-operations=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&work-order-types-any-of=SOME_ARRAY_VALUE&work-center-id-any-of=POMAUT%2CPOMELE%2CC31*&main-work-center-id-any-of=POMAUT%2CPOMELE%2CC31*&revision-id-any-of=OFP%2COFP%25202022&location-id-any-of=CD00%2CCD01&status-any-of=STRT%2CRDOP%2CTECO&status-not=STRT%2CRDOP%2CTECO&operation-notes-any-of=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24983466",
- "workOrderTypeId": "correctiveWorkOrder",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "maintenanceRecordId": "45939208",
- "productionCritical": "M",
- "hseCritical": "H",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "mainWorkCenterId": "PPMAUT",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE MLTI NMAT",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsible": "Short Name",
- "personResponsibleEmail": "shortname@equinor.com",
- "operations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "planNotes": "LAG1",
- "inBaselinePlan": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "hasMaterial": false
}
]
}
]
Lookup single Preventive Work order with related information.
Technical feedback ensures a common and best practice maintenance based on the type of tag/equipment. It's mostly used by preventive work orders, but can in some cases be used in corrective work orders. As part of work order execution, the technical feedback items will need to be completed.
The endpoint /work-orders/technical-feedback-master-data
describes the business rules for when it's necessary to create a maintenance record based on the status(feedbackStatusId
) and reason(feedbackReasonId
) found for the technical feedback.
The include-technical-feedback
query parameter for preventive and corrective work order lookup endpoints will return the technical feedback for each operation of the provided work order.
If a technical feedback has isDetailedFeedback: true
, it requires a very specific feedback type currently not supported by the Maintenance API.
When executing a technical feedback item, the end-user will complete the steps described in maintenanceActivityText
and end up with a result in the form of a status(feedbackStatusId
) and a reason(feedbackReasonId
). Compare the result with the business rules defined by /work-orders/technical-feedback-master-data
:
hasRequiredMaintenanceRecord: true
: Create a new maintenance record for technical feedback using the POST /maintenance-records/failure-reports
or POST /maintenance-records/activity-reports
endpoints with the relatedWorkOrder properties in the request to specify the work order and technical feedback
hasRequiredMaintenanceRecord: true
As no maintenance record is required, the technical feedback is completed using the endpoint PATCH /work-order-operations/{operation-id}/technical-feedback/{feedback-id}
If you want to include the maintenance records of a technical feedback, one needs to apply both include-technical-feedback=True
, and include-maintenance-records=True
.
Production resources/tools (PRT) are used for materials, tools and equipment that are needed to carry out the task and are to be returned after use.
In Equinor, this is normally added as part of maintenance program. Maintenance API supports the following PRT resources:
include-attachments=true
)include-measuring-points=true
)include-url-references=true
)For more information see governing document GL1624 Guidelines for the establishment of a preventive maintenance programme in SAP.
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a preventiveWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Added sourceId to related maintenance records.
Added isActive property for maintenance plan details.
Introduced property activeStatusIds for operations.
Added the following properties:
personResponsibleId
and personResponsibleEmail
isProductionCritical
and isHSECritical
workCenter
plannerGroup
Added new query parameter include-technical-feedback
. It returns related technical feedback required to be completed as part of work order execution.
Introduced property detectionMethodGroupId
and detectionMethodId
for technical feedback.
Added new query parameter include-measurements
Added new query parameters include-measuring-points
, include-last-measurement
and include-url-references
. include-attachments
extended to also return PRT attachments of an operation. attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added activeStatusIds to related maintenance records.
attachments
now include the property documentCreatedDate
Removed urlReferences
field from response object, and removed include-url-references
query parameter. URLReferences are only supported for Notifications.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property 'isOpen'
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new properties callNumber
, previousCall
, and completionDate
to maintenancePlan
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added properties additionalCostWBSId
, additionalCostWBS
, costWBS
, costWBSId
and requiredEndDate
to the response.
Added new property dueDate
to the response. Removed the property requiredEndDate
.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new query parameter include-estimated-costs
. Set to true
to include estimatedCosts
array in the response.
Added properties costs
and costsCurrency
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
Added new property hasCommunication
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-technical-feedback | boolean Default: false Include technical feedback required to be completed as part of work order execution. |
include-materials | boolean Default: false Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list and technical feedback) |
include-maintenance-plan-details | boolean Default: false Include details for maintenance plan |
include-attachments | boolean Default: false Include Work order attachments (including PRT attachments) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-measuring-points | boolean Default: false Include related measuring points from PRT |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-measurements | boolean Default: false Include related measurements |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
include-estimated-costs | boolean Default: false Include estimated costs |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/preventive-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-technical-feedback=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-maintenance-plan-details=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE&include-estimated-costs=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "technicalFeedback": [
- {
- "feedbackId": "1005419798-00000001-1",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "equipmentId": "11948620",
- "isDetailedFeedback": false,
- "detailedFeedbackTypeId": "04",
- "detailedFeedbackType": "Leakage test ESD/PSD valves",
- "maintenanceConceptId": "VA1571",
- "maintenanceConceptionVersionId": "140",
- "maintenanceActivityId": "VA1571-0001",
- "maintenanceActivity": "On/off ventil - Visuell inspeksjon",
- "maintenanceActivityText": "The purpose of a visual inspection is to detect damage, faults\nand defects that may impact on safety and regularity.\n\nInsulation is not normally removed to perform a visual\ninspection (only when there is a suspicion of damage, fault or\ndefect).\n\nCheck the following points (open any inspection hatches in\ninsulation):\n",
- "catalogProfileId": "PM-170",
- "systemId": "BS",
- "lastDoneDateTime": "2019-08-24T14:15:22Z",
- "feedbackStatusId": "1",
- "feedbackReasonId": "01",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodId": "1",
- "mandatoryMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "optionalMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
]
}
], - "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "activeStatusIds": "OSNO CRTE",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "maintenancePlan": {
- "maintenancePlanId": "1108244",
- "maintenancePlanItemId": "10149640",
- "planDate": "2019-08-24",
- "isActive": true,
- "callNumber": 33,
- "previousCall": "12451245",
- "completionDate": "2019-08-24"
}, - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "estimatedCosts": [
- {
- "costCategoryId": "COST_CUTBACK",
- "costCategory": "External Services",
- "estimatedCosts": 10000,
- "plannedCosts": 10000,
- "actualCosts": 10000,
- "costsCurrency": "NOK"
}
], - "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "dueDate": "2019-08-24",
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "preventiveWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
Lookup single Corrective Work order with related information
Technical feedback ensures a common and best practice maintenance based on the type of tag/equipment. It's mostly used by preventive work orders, but can in some cases be used in corrective work orders. As part of work order execution, the technical feedback will need to be completed.
The endpoint /work-orders/technical-feedback-master-data
describes the business rules for when it's necessary to create a maintenance record based on the status (feedbackStatusId
) and reason (feedbackReasonId
) found for the technical feedback.
The include-technical-feedback
query parameter for preventive and corrective work order lookup endpoints will return the technical feedback for each operation of the provided work order.
If a technical feedback has isDetailedFeedback: true
, it requires a very specific feedback type currently not supported by the Maintenance API.
When executing a technical feedback item, the end-user will complete the steps described in maintenanceActivityText
and end up with a result in the form of a status (feedbackStatusId
) and a reason (feedbackReasonId
). Compare the result with the business rules defined by /work-orders/technical-feedback-master-data
and base the next step based on the value of hasRequiredMaintenanceRecord
:
hasRequiredMaintenanceRecord: true
: Create a new maintenance record for technical feedback using the POST /maintenance-records/failure-reports
or POST /maintenance-records/activity-reports
endpoints with the relatedWorkOrder properties in the request to specify the work order and technical feedback
hasRequiredMaintenanceRecord: false
As no maintenance record is required, the technical feedback is completed using the endpoint PATCH /work-order-operations/{operation-id}/technical-feedback/{feedback-id}
If you want to include the maintenance records of a technical feedback, one needs to apply both include-technical-feedback=True
, and include-maintenance-records=True
.
Production resources/tools (PRT) are used for materials, tools and equipment that are needed to carry out the task and are to be returned after use.
In Equinor, this is normally added as part of maintenance program. Maintenance API supports the following PRT resources:
include-attachments=true
)include-measuring-points=true
)include-url-references=true
)For more information see governing document GL1624 Guidelines for the establishment of a preventive maintenance programme in SAP.
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a correctiveWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added new query parameter include-technical-feedback
. It returns related technical feedback required to be completed as part of work order execution. Technical feedback is mostly used for preventive work orders, but can also be used for corrective work orders.
Introduced property detectionMethodGroupId
and detectionMethodId
for technical feedback.
Added new query parameter include-measurements
.
Added new query parameters include-measuring-points
, include-last-measurement
and include-url-references
. include-attachments
extended to also return PRT attachments of an operation. attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added properties costs
and costsCurrency
.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added activeStatusIds to related maintenance records.
attachments
now include the property documentCreatedDate
Removed 'urlReferences' field from response object, and removed 'include-url-references' query parameter. URLReferences are only supported for Notifications.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
'tagDetails' object now includes the new field 'maintenanceConceptId'
Work orders now include the property 'isOpen'
Added new query parameter include-safety-measure
Added new query parameter include-estimated-costs
Added tag
and title
to maintenanceRecords
expand.
Added new properties for additionalCostWBSId
and costWBSId
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added new properties isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
Added new property hasCommunication
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-technical-feedback | boolean Default: false Include technical feedback required to be completed as part of work order execution. |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (including PRT attachments) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-measuring-points | boolean Default: false Include related measuring points from PRT |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-measurements | boolean Default: false Include related measurements |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-estimated-costs | boolean Default: false Include estimated costs |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/corrective-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-technical-feedback=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-estimated-costs=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "technicalFeedback": [
- {
- "feedbackId": "1005419798-00000001-1",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "equipmentId": "11948620",
- "isDetailedFeedback": false,
- "detailedFeedbackTypeId": "04",
- "detailedFeedbackType": "Leakage test ESD/PSD valves",
- "maintenanceConceptId": "VA1571",
- "maintenanceConceptionVersionId": "140",
- "maintenanceActivityId": "VA1571-0001",
- "maintenanceActivity": "On/off ventil - Visuell inspeksjon",
- "maintenanceActivityText": "The purpose of a visual inspection is to detect damage, faults\nand defects that may impact on safety and regularity.\n\nInsulation is not normally removed to perform a visual\ninspection (only when there is a suspicion of damage, fault or\ndefect).\n\nCheck the following points (open any inspection hatches in\ninsulation):\n",
- "catalogProfileId": "PM-170",
- "systemId": "BS",
- "lastDoneDateTime": "2019-08-24T14:15:22Z",
- "feedbackStatusId": "1",
- "feedbackReasonId": "01",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodId": "1",
- "mandatoryMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "optionalMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
]
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "activeStatusIds": "REL CNF",
- "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "activeStatusIds": "OSNO CRTE",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "estimatedCosts": [
- {
- "costCategoryId": "COST_CUTBACK",
- "costCategory": "External Services",
- "estimatedCosts": 10000,
- "plannedCosts": 10000,
- "actualCosts": 10000,
- "costsCurrency": "NOK"
}
], - "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "correctiveWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
Lookup single Project Work order with related information
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a projectWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property isOpen
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added properties additionalCostWBSId
, additionalCostWBS
, requiredEndDate
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/project-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "requiredEndDate": "2019-08-24",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "projectWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Lookup single Modification Work order with related information.
If work-order-id exist, but is not a modificationWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Added properties additionalCostWBSId
and additionalCostWBS
.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property isOpen
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added property requiredEndDate
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/modification-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "requiredEndDate": "2019-08-24",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "modificationWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBS": "Minor modifications 2020",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Lookup single Subsea Work order with related information.
By default include-person-responsible
is false and then the fields personResponsibleId
and personResponsibleEmail
will always have null value.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added tagsRelated to the response.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
Work orders now include the property isOpen
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added properties additionalCostWBSId
, additionalCostWBS
, costWBS
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/subsea-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "operations": [
- {
- "materials": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "supplyingPlantId": "1915",
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "activeStatusIds": "REL CNF",
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "materials": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "supplyingPlantId": "1915",
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "subseaWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "hasPersonResponsible": true,
- "costWBSId": "T.O089E.WI.00007",
- "projectId": "T.O089E",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "isObsoleteSubseaWorkOrderType": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
This endpoint is marked as deprecated due to currently being unavailable. This endpoint is only a draft. Calling the endpoint until available will result in a 404- Not Found
. Deprecation will be removed when the endpoint is available.
Lookup single Overhead Maintenance Work order related information.
By default include-person-responsible
is false and then the fields personResponsibleId
and personResponsibleEmail
will always have null value.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/overhead-maintenance-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "text": "BESTILLING FYLLES UT AV INNMELDER:\nBeskriv bestillingen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "overheadMaintenanceWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "hasPersonResponsible": true,
- "costWBSId": "T.O089E.WI.00007",
- "projectId": "T.O089E",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
Lookup single SAS Change Work order with related information
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a sasChangeWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property isOpen
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added properties additionalCostWBSId
, additionalCostWBS
, requiredEndDate
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/sas-change-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "requiredEndDate": "2019-08-24",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "sasChangeWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Query work orders for potentially complicated patterns where speed is of the essence.
planning-plants
is the only mandatory fields, but clients should normally provide at least one more query criteria.
A normal use case would be to first provide an initial query criteria based on user input. Then allow the end-users based on the resulting data select unwanted results based on specific attributes. The unwanted results should then be added to the exclusion list (for example keywords-not
or work-centers-not)
and the API call repeated.
max-results
have a default value of 1000 and is necessary to provide a quick response.
The multi-line text
property is not included by default, but can included by setting include-text=true
in the request. This will influence performance significantly.
Pagination is supported for this endpoint by setting values for page
and per-page
. If these parameteres are omitted, the result will be returned without pagination.
The response schema has been optimized for speed, enabling the retrieval of work orders only from the past three years.
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&tags-all-of=10B9
- Return work orders where tag is 10B9
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&tags-all-of=AA15*&tags-not=AA15002
- Return work orders where tag has pattern AA15*
but is not AA15002
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&keywords-all-of=heli,male
- Return work orders where the title contains both heli
and male
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&status-any-of=PREP,RDEX&created-after-date=2021-06-01
- Return work orders with status PREP or RDEX and created after a certain date
Added revisionId to work order response (represents shutdown or campaign work).
Added query parameter include-maintenance-record
.
Added property workCenterId
to maintenanceRecords.failureReports
Added properties revision
and changedDatetime
.
Allow searching by changedOnDay
when is-open
is set. Search by using the new query parameters changed-after-date
and changed-before-date
.
Added list of supported statuses for status-all-of
, status-any-of
and status-not
query parameters. Status REL
is now supported.
Added property hasStatusREL
to the response.
Added support for optional pagination.
Added query parameter work-order-ids-any-of
Deprecated query parameter max-results
as the same functionality can be achieved with `per-page``.
Added query parameter work-order-ids-any-of
& add support for SWNG in status-all-of
, status-any-of
and status-not
query parameters.
Deprecated query parameter max-results
as the same functionality can be achieved with per-page
.
Added properties tag
, requiredEndDate
, hseCritical
& productionCritical
.
Added query parameter include-status-details
and the object statuses
Added overheadMaintenanceWorkOrders
to work-order-types
query parameter.
planning-plants required | Array of strings (QueryWorkOrdersOptimizedPlanningPlantAnyOf) Example: planning-plants=1100 Query based on planningPlantIds (any-of) |
keywords-all-of | Array of strings (QueryWorkOrdersOptimizedKeywordAllOf) Example: keywords-all-of=stillas Query based on keywords in title (case insensitive) |
keywords-any-of | Array of strings (QueryWorkOrdersOptimizedKeywordAnyOf) Example: keywords-any-of=sand Query based on keywords in title (case insensitive) |
keywords-not | Array of strings (QueryWorkOrdersOptimizedKeywordNot) Example: keywords-not=12M Query based on keywords in title (case insensitive) |
tags-all-of | Array of strings (QueryWorkOrdersOptimizedTagAllOf) Example: tags-all-of=1A*-6A Query based on tagIds. Expressions with wildcards can be used for example |
tags-any-of | Array of strings (QueryWorkOrdersOptimizedTagAnyOf) Example: tags-any-of=BF Query based on tagIds. Expressions with wildcards can be used for example |
tags-not | Array of strings (QueryWorkOrdersOptimizedTagNot) Example: tags-not=AE5566 Query based on tagIds. Expressions with wildcards can be used for example |
work-centers-any-of | Array of strings (QueryWorkOrdersOptimizedWorkCenterAnyOf) Example: work-centers-any-of=PPMMEC Query based on workCenterIds |
work-centers-not | Array of strings (QueryWorkOrdersOptimizedWorkCenterNot) Example: work-centers-not=PPMAUT Query based on workCenterIds |
systems-any-of | Array of strings (QueryWorkOrdersOptimizedSystemAnyOf) Example: systems-any-of=73 Query based on systemIds |
systems-not | Array of strings (QueryWorkOrdersOptimizedSystemNot) Example: systems-not=99 Query based on systemIds |
locations-any-of | Array of strings (QueryWorkOrdersOptimizedLocationAnyOf) Example: locations-any-of=MG29 Query based on locationIds |
locations-not | Array of strings (QueryWorkOrdersOptimizedLocationNot) Example: locations-not=W14 Query based on locationIds |
sort-field-any-of | Array of strings (QueryWorkOrdersOptimizedSortFieldAnyOf) Example: sort-field-any-of=RS1_11_S Query based on sortField ()used for grouping work orders) |
sort-field-not | Array of strings (QueryWorkOrdersOptimizedSortFieldNot) Example: sort-field-not=PRS10239.WP12 Query based on sortField (used for grouping work orders) |
revision-code-any-of | Array of strings (QueryWorkOrdersOptimizedRevisionCodeAnyOf) Example: revision-code-any-of=FACILITY Query based on revisionCode |
revision-code-not | Array of strings (QueryWorkOrdersOptimizedRevisionCodeNot) Example: revision-code-not=WELL Query based on sortField (often used for revision codes) |
status-all-of | Array of strings Items Enum: "PREP" "PRCO" "RDEX" "STRT" "CANC" "RDOP" "CRTD" "TECO" "REL" "SWNG" Example: status-all-of=PREP,CANC,TECO Query based on statusIds (not all statuses are supported) |
status-any-of | Array of strings Items Enum: "PREP" "PRCO" "RDEX" "STRT" "CANC" "RDOP" "CRTD" "TECO" "REL" "SWNG" Example: status-any-of=PREP,CANC,TECO Query based on statusIds (not all statuses are supported) |
status-not | Array of strings Items Enum: "PREP" "PRCO" "RDEX" "STRT" "CANC" "RDOP" "CRTD" "TECO" "REL" "SWNG" Example: status-not=PREP,CANC,TECO Query based on statusIds (not all statuses are supported) |
is-open | boolean Example: is-open=true Include only open work orders or only closed work orders. By default, all work orders are included. |
created-after-date | string <date> Earliest creation date to include |
created-before-date | string <date> Latest creation date to include |
changed-after-date | string <date> Earliest |
changed-before-date | string <date> Latest |
work-order-types | Array of strings (QueryWorkOrdersOptimizedWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Limit to specific work order types (one-of) |
work-order-ids-any-of | string Example: work-order-ids-any-of=13624169,12345678 Comma-separated list of |
sort-by | Array of strings (QueryWorkOrdersOptimizedSortBy) Items Enum: "createdDateTime desc" "createdDateTime asc" "workOrderId desc" "workOrderId asc" "systemId desc" "systemId asc" "locationId desc" "locationId asc" "sortField desc" "sortField asc" "title desc" "title asc" Property to sort the results by |
include-text | boolean Default: false Include the multi-line text of the work order (will cause the endpoint to go significantly slower) |
include-maintenance-record | boolean Default: false Include the main maintenance record linked to the work order (if any) |
include-status-details | boolean Default: false Include status details for the work orders |
max-results | number Deprecated Example: max-results=100 Maximum number of results to include. Default is 1000. |
per-page | integer Example: per-page=100 Results to return pr page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders-optimized-for-query?planning-plants=SOME_ARRAY_VALUE&keywords-all-of=SOME_ARRAY_VALUE&keywords-any-of=SOME_ARRAY_VALUE&keywords-not=SOME_ARRAY_VALUE&tags-all-of=SOME_ARRAY_VALUE&tags-any-of=SOME_ARRAY_VALUE&tags-not=SOME_ARRAY_VALUE&work-centers-any-of=SOME_ARRAY_VALUE&work-centers-not=SOME_ARRAY_VALUE&systems-any-of=SOME_ARRAY_VALUE&systems-not=SOME_ARRAY_VALUE&locations-any-of=SOME_ARRAY_VALUE&locations-not=SOME_ARRAY_VALUE&sort-field-any-of=SOME_ARRAY_VALUE&sort-field-not=SOME_ARRAY_VALUE&revision-code-any-of=SOME_ARRAY_VALUE&revision-code-not=SOME_ARRAY_VALUE&status-all-of=PREP%2CCANC%2CTECO&status-any-of=PREP%2CCANC%2CTECO&status-not=PREP%2CCANC%2CTECO&is-open=true&created-after-date=SOME_STRING_VALUE&created-before-date=SOME_STRING_VALUE&changed-after-date=SOME_STRING_VALUE&changed-before-date=SOME_STRING_VALUE&work-order-types=SOME_ARRAY_VALUE&work-order-ids-any-of=13624169%2C12345678&sort-by=SOME_ARRAY_VALUE&include-text=SOME_BOOLEAN_VALUE&include-maintenance-record=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&max-results=100&per-page=100&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24597659",
- "workOrderTypeId": "correctiveWorkOrder",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "revisionCodeId": "PS02_21",
- "requiredEndDate": "2023-11-28",
- "hseCritical": "M",
- "productionCritical": "H",
- "isOpen": true,
- "hasStatusPREP": true,
- "hasStatusPRCO": true,
- "hasStatusRDEX": true,
- "hasStatusSTRT": true,
- "hasStatusRDOP": true,
- "hasStatusCANC": true,
- "hasStatusTECO": true,
- "hasStatusREL": true,
- "hasStatusSWNG": true,
- "maintenanceRecord": {
- "maintenanceRecordTypeId": "failureReport",
- "_links": {
- "self": "/maintenance-records/failure-reports/45939208?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}, - "statuses": [
- {
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}
}
]
Get the list of EqHub and SEMI usage. T-code in backend system ZOMPM_SEMI_USAGE
.
Added filter changed-since-datetime
and changed-before-datetime
.
eqhub-id-any-of | string Example: eqhub-id-any-of=100000000,100000001 Comma-separated List of eqhub id's |
SEMI-id-any-of | string Example: SEMI-id-any-of=100000000,100000001 Comma-separated List of SEMI id's |
filter | string Enum: "eqhub" "SEMI" Filter between eqhub or SEMI |
include-status | boolean Default: false Include status in response |
changed-since-datetime | string <date-time> Earliest datetime to return EqHub and SEMI usage for. |
changed-before-datetime | string <date-time> Latest datetime to return EqHub and SEMI usage for. |
per-page | integer [ 1 .. 100 ] Default: 100 Results to return per page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/reports/eqhub-and-semi-usage?eqhub-id-any-of=100000000%2C100000001&SEMI-id-any-of=100000000%2C100000001&filter=SOME_STRING_VALUE&include-status=SOME_BOOLEAN_VALUE&changed-since-datetime=SOME_STRING_VALUE&changed-before-datetime=SOME_STRING_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "semiId": "123456",
- "documentType": "A01",
- "documentNumber": "123456",
- "objectNumber": "123456",
- "category": "EQHUB",
- "status": "APPROVED",
- "documentTitle": "EQHUB ID 123456",
- "documentCreatedDate": "2024-02-23",
- "objectType": "EQUI",
- "objectTypeText": "Equipment",
- "objectDescription": "Equipment description",
- "objectBom": true,
- "createdOnDateTime": "2024-02-23T12:00:00",
- "createdById": "123456",
- "changedOnDateTime": "2024-02-23T12:00:00",
- "changedById": "123456",
- "manufacturer": "ABB",
- "model": "QWM000991134",
- "manufacturerPartNumber": "QWM000991134++12309",
- "serialNumber": "12312730456",
- "constructionType": "123451273609128736",
- "constructionTypeText": "Construction type",
- "equipmentFunctionalLocationId": "1100-TESTAB",
- "equipmentFunctionalLocationABCid": "6",
- "equipmentFunctionalLocationPlantId": "1100",
- "equipmentFunctionalLocationPlant": "TEST",
- "equipmentStatuses": {
- "systemStatus": "INST",
- "userStatus": "INSV"
}, - "functionalLocationStatuses": {
- "systemStatus": "NEW",
- "userStatus": "INSV"
}
}
]
Endpoints that are planned to be be introduced in a future iteration (likely to change)
This endpoint is marked as deprecated due to currently being unavailable. This endpoint is only a draft. Calling the endpoint until available will result in a 404- Not Found
. Deprecation will be removed when the endpoint is available.
Search for work order operations from any work order type.
The following query parameters are supported for filtering the work order operations. All the query parameters are optional, but at least one must be provided to get a response.
Parameters:
work-center-id-any-of
plant-id
changed-since-datetime
changed-before-datetime
operation-id-any-of
work-order-ids-any-of
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
changed-since-datetime | string <date-time> Earliest |
changed-before-datetime | string <date-time> Limit the response to only work order operations changed after |
work-center-id-any-of | string Example: work-center-id-any-of=POMAUT,POMELE,C31* Comma-separated list of |
work-order-ids-any-of | string Example: work-order-ids-any-of=13624169,12345678 Comma-separated list of |
operation-id-any-of | string Example: operation-id-any-of=1005419798-00000001 Comma-separated list of |
include-materials | boolean Default: false Include materials for Work order operations |
include-attachments | boolean Default: false Include attachments for Work order operations |
include-safety-measures | boolean Default: false Include safety measures for Work order operations |
per-page | integer [ 1 .. 100 ] Default: 100 Results to return per page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-order-operations?plant-id=SOME_STRING_VALUE&changed-since-datetime=SOME_STRING_VALUE&changed-before-datetime=SOME_STRING_VALUE&work-center-id-any-of=POMAUT%2CPOMELE%2CC31*&work-order-ids-any-of=13624169%2C12345678&operation-id-any-of=1005419798-00000001&include-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "tagId": "PX",
- "tagPlantId": "1100",
- "isServiceOperation": false,
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
]
This endpoint is marked as deprecated due to currently being unavailable. This endpoint is only a draft. Calling the endpoint until available will result in a 404- Not Found
. Deprecation will be removed when the endpoint is available.
Create new Certification report through Technical Feedback, also known as a PSV Certification.
This endpoint is only applicable if you have a valid work order. Using this endpoint will also set the status of a technical feedback to Done
.
PSV certification report to create
operation-id required | string Operation ID for the certification report. |
coldDesignSetPoint required | number <decimal> Cold design set point in Bar. From measuring point. |
detectionMethodGroupId required | string |
failureMechanismGroupId required | string |
corrosion required | boolean Corrosion detected. |
mechanicalDamage required | boolean Mechanical damage detected. |
pollution required | boolean Pollution detected. |
pretestLeakageRate required | number <decimal> Pretest leakage rate in Bubbles per minute. |
pretestValveChanged required | boolean Pretest valve changed. If set to |
finalTestLeakageRate required | number <decimal> Final test leakage rate in Bubbles per minute. |
detectionMethodId | string |
failureMechanismId | string |
calibrationDate | string <date> Calibration date. |
calibrationTime | string <time> Calibration time. |
corrosionDescription | string Corrosion description, only required if |
mechanicalDamageDescription | string Mechanical damage description, only required if |
pollutionDescription | string Pollution description, only required if |
manufacturerSerialNumber | string Manufacturer serial number for pretest. |
pretestOpeningPressure | number <decimal> Pretest opening pressure in Bar. |
pretestClosingPressure | number <decimal> Pretest closing pressure in Bar. |
pretestPressureTestMethod | string Enum: "Pop" "Simmer" Pretest pressure test method. |
newValveEquipmentNumber | string New valve equipment number. Only required if |
newValveSerialNumber | string New valve serial number. Only required if |
newValvePartNumber | string New valve part number. Only required if |
pretest2ndOpeningPressure | number <decimal> Pretest 2nd opening pressure in Bar. Only required if |
pretest2ndClosingPressure | number <decimal> Pretest 2nd closing pressure in Bar. Only required if |
pretest2ndPressureTestMethod | string Enum: "Pop" "Simmer" Pretest 2nd pressure test method. Only required if |
pretestAdditionalInformation | string Additional information for pretest. |
overhaulWorkScope | string Enum: "Functional Test" "Full overhaul" Overhaul work scope. Only required if |
overhaulPartsCondition | string Enum: "Ok" "Not ok" Overhaul parts condition. Only required if |
overhaulPartsConditionDescription | string Overhaul parts condition description. Only required if |
overhaulInternalPollution | string Enum: "Ok" "Not ok" Overhaul internal pollution. Only required if |
overhaulInternalPollutionDescription | string Overhaul internal pollution description. Only required if |
finalTestOpeningPressure | number <decimal> Final test opening pressure in Bar. |
finalTestClosingPressure | number <decimal> Final test closing pressure in Bar. |
finalTestPressureTestMethod | string Enum: "Pop" "Simmer" Final test pressure test method. |
finalTestBlowdownAdjust | number <integer> Final test blowdown adjust in Teeths. |
finalTestBackpressure | number <integer> Final test backpressure in Bar. |
{- "operationId": "0034",
- "coldDesignSetPoint": "10",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodId": "3",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismId": "2.9",
- "corrosion": false,
- "mechanicalDamage": false,
- "pollution": false,
- "pretestLeakageRate": "5",
- "pretestValveChanged": false,
- "finalTestLeakageRate": "1"
}
{- "text": "Multi-line text based on template",
- "failureStartDateTime": "2021-01-30T12:00:00Z",
- "failureEndDateTime": "2022-01-30T14:00:00Z",
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
Endpoints that are planned to be modified in a future iteration (likely to change)
Search measuring points.
Search measuring points based on plant and one other property of the measuring point. Parameters:
At least one of the following parameters is required:
tag-prefix
measuring-position
quantitative-characteristic
qualitative-code-group
measuring-point-name
characteristic-value-any-of
/measuring-points?filter=by-plant&plant-id=1180&tag-prefix=18HV10&api-version=v1
/measuring-points?filter=by-plant&plant-id=1102&quantitative-characteristic=SURFACE_MAINTEANC&api-version=v1
/measuring-points?filter=by-plant&plant-id=1180&tag-prefix=18HV10&position=VALVE%20STATUS&include-last-measurement=true&api-version=v1
When using the characteristic-value-any-of
it is important to URI Encode the input data especially when there are special characters as part of the input:
/measuring-points?characteristic-value-any-of=%3D17445%2F9818,%3D17433/6333&class-id=L_PART&characteristic-id=L_E3DREF&plant-id=1201&api-version=v1
Added property maintenanceRecordId
to measurements.
Added include-characteristics
and include-characteristics-without-value
query parameter.
Added workOrderId
to response.
Edited the response structure to support pagination. Use the parameters page
and per-page
in the parameters to edit wanted response.
Measuring points for equipment are now included in searches based on plant-id
.
Measuring points for equipment now include the tagId
and tagPlantId
of the tag the equipment is installed on.
To limit the response data for filter by-plant
, at least one of the additional parameters must be provided.
Added characteristic-value-any-of
, class-id
and characteristic-id
query parameters.
Can be used to search for measuring points based on values of a characteristic.
Added include-measurement-text
query parameter to include measurement text in the response.
filter required | string (SearchMeasuringPointsFilter) Value: "by-plant" Filter to limit the measuring points by |
plant-id | string Plant the tag-prefix belongs to |
tag-prefix | string >= 2 characters Example: tag-prefix=02%22-EC-%202525-M The first few characters of the tag |
measuring-position | string Example: measuring-position=VALVE%20STATUS Limit result based on a specific measuring position value |
quantitative-characteristic | string Example: quantitative-characteristic=SM_COATING_CONDITION_ITEM Limit result based on a specific quantitative characteristic value |
qualitative-code-group | string Example: qualitative-code-group=OBSMETH Limit result based on a specific qualitative code group value |
measuring-point-name | string Example: measuring-point-name=Breakout%20torque Limit result based on a specific measuring point name value |
include-last-measurement | boolean Default: false Include the last measurement of the measuring points |
include-measurements | boolean Default: false Include measurements of the measuring points |
include-qualitative-code-group | boolean Default: false Include possible codes for qualitative measurements if qualitativeCodeGroupId is set |
include-characteristics | boolean Default: false Include characteristics with defined value for the measuring points. Use |
include-characteristics-without-value | boolean Default: false Include all characteristics available for the measuring points regardless if they have a defined value or not. Use |
per-page | integer [ 1 .. 100 ] Default: 50 Results to return pr page |
page | integer Default: 1 Page to fetch |
characteristic-id | string or null Example: characteristic-id=L_E3DREF Required field if |
class-id | string or null Example: class-id=L_PART Required field if |
characteristic-value-any-of | string Example: characteristic-value-any-of=%3D33814%2F12073 Search based on characteristic values. Must be used in combination with |
include-measurement-text | boolean Default: false Include measurement text in the response |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/measuring-points?filter=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&tag-prefix=02%2522-EC-%25202525-M&measuring-position=VALVE%2520STATUS&quantitative-characteristic=SM_COATING_CONDITION_ITEM&qualitative-code-group=OBSMETH&measuring-point-name=Breakout%2520torque&include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-qualitative-code-group=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-characteristics-without-value=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&characteristic-id=SOME_STRING_VALUE&class-id=SOME_STRING_VALUE&characteristic-value-any-of=SOME_STRING_VALUE&include-measurement-text=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "lastMeasurement": {
- "text": "Surface coating condition description longtext",
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "measurements": [
- {
- "text": "Surface coating condition description longtext",
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "qualitativeCodes": [
- {
- "qualitativeCodeId": "UT-I",
- "qualitativeCode": "UT Man. Pulse-Echo: Internal degradation"
}
], - "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "classId": "R_PIPE_DETAILS",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)"
}
], - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
]
Lookup a single failure report
Added failureMechanismId,failureMechanismGroupId to additionalMetadata.
Added tasks for failure reports through query option include-tasks. Added properties plannerGroupId, plannerGroup and planningPlantId.
Added isOpen and completedDateTime.
Added hasUnsafeFailureMode and unsafeFailureModeStatus properties according to business process requirement R-12137 - Give immediate warning of unsafe failure modes
.
Added priorityId
to response.
Added workCenter
and equipment
to response. Fields include descriptions of workCenterId and equipmentId
Added createdDateTime
for attachments.
Added 301
response.
Added query parameter include-url-references
.
Added quantity
for tasks.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
Added property documentTitle
to urlReferences
.
urlReferences
and attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added query parameter include-measurements
.
Added query parameter include-additional-data-characteristics
.
Added property area
to tag details.
urlReferences
and attachments
now include the property documentCreatedDate
tagDetails
object now includes the new field maintenanceConceptId
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added properties codingGroupId
and codingId
.
Added isReadonlyText
property to activities
in the response.
Added changedDateTime
for attachments.
Added a query parameter include-task-list
and taskList
in the response. When a work order is created based on this notification, operations from the taskList
will be automatically copied into the work order.
Added taskResponsible
and taskResponsibleEmail
for tasks
in response when the new query parameter include-task-responsible-details
is set to true.
Added workOrderTypeId
and workOrderId
to the response. workOrderId
includes the id of work orders, not constrained to only showing corrective work orders.
correctiveWorkOrderId
has been corrected to only show the work order id if it is a corrective work order.
Added support for new work order type overheadMaintenanceWorkOrders
to workOrderTypeId
enum of allowed types.
record-id required | string The recordId of the failure report. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include details about tag for failure report |
include-activities | boolean Default: false Include detailed information for activities |
include-tasks | boolean Default: false Include detailed information for tasks |
include-attachments | boolean Default: false Include attachments |
include-additional-metadata | boolean Default: false Include extra metadata related to additional failure modes and detection modes. This is only used in rare cases |
include-additional-data-characteristics | boolean Default: false Include characteristics for additional metadata |
include-created-by-details | boolean Default: false Include name and email of user represented in |
include-url-references | boolean Default: false Include URL references for failure report. See |
include-measurements | boolean Default: false Include related measurements |
include-task-list | boolean Default: false Include task list with task list operations |
include-task-responsible-details | boolean Default: false Include task responsible details. Can have a slight performance impact. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/failure-reports/%7Brecord-id%7D?include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-activities=SOME_BOOLEAN_VALUE&include-tasks=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-additional-metadata=SOME_BOOLEAN_VALUE&include-additional-data-characteristics=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-task-list=SOME_BOOLEAN_VALUE&include-task-responsible-details=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceRecordTypeId": "failureReport",
- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "activities": [
- {
- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
], - "tasks": [
- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5,
- "taskResponsible": "Tor-Ivar Branæs",
- "taskResponsibleEmail": "tbrana@equinor.com"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "additionalMetadata": [
- {
- "metadataId": "2",
- "title": "NES additional info",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
]
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "taskList": [
- {
- "operations": [
- {
- "operationId": "0020",
- "subOperationId": "",
- "uniqueIndex": "505T100370070000000200000002",
- "title": "24M AUTOMASJON BR2151 - GLYCOL STILL REB",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "calculationKey": "CALC_KEY_MANUAL",
- "plannedWorkHours": "PT3H",
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "executionFactor": 1,
- "standardTextTemplate": "1100-GS",
- "systemCondition": "3",
- "activityTypeId": "X4"
}
], - "taskListId": "T-10012713-02",
- "taskList": "24/48M FV-MULTI TRAIN1 GLYCOL REBOILER",
- "taskListTypeId": "T",
- "planningPlantId": "1100",
- "statusId": "4",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
], - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "equipment": "Strainer at inlet Recirc Pmp",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "workCenterId": "PPMAUT",
- "workCenter": "AI Automasjon",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "11",
- "failureImpactId": "D",
- "failureImpact": "Unwell (InF)",
- "priorityId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "codingId": "NC",
- "codingGroupId": "PMMK",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "workOrderTypeId": "correctiveWorkOrder",
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z"
}
Lookup a single tag with related information
Added include-measuring-points
and include-last-measurement
query parameters.
Added additional characteristics with ids CRIT_MAIN_FUNCTION and CRIT_SUB_FUNCTION.
Added certification-report, technical-information-update-requests and technical-clarifications for include-maintenance-records
query parameter.
Added include-work-orders
to return work orders where the requested tag is the main reference. include-work-order-types
can be used to limit to certain work order types.
Added isOpen and completedDateTime properties for maintenance records if include-maintenance-records
is true.
Fixed bug for include-installed-equipment
.
Added workCenterId
, workCenterPlantId
, workCenter
, planningPlantId
,plannerGroupId
and plannerGroup
properties.
Added include-bill-of-materials
query parameter.
Added revisionId
and revision
to related work orders (represents shutdown or campaign work).
Added properties hasUnsafeFailureMode
and unsafeFailureModeStatus
for failure reports.
Added property maintenanceRecordId
to measurements of measuring points.
Added property costWBSId
.
Added workOrderId
to response.
Added include-linear-data
and include-status-details
query parameters.
Added properties tagCategoryId
, activeStatusIds
, startUpDate
and endOfUseDate
.
Added modification-proposal
as a maintenance record type to include with include-maintenance-record-types
parameter.
Added property classId
to characteristics.
Added query parameters include-attachments
and include-url-references
.
Added property workCenterId
Added property area
.
urlReferences
and attachments
now include the property documentCreatedDate
Added property cmrIndicator
for WorkOrders
Work orders now include the property 'isOpen'
billOfMaterials
now include the property parentMaterialId
Added materialId
and material
to the response
Added changedDateTime
for attachments.
Added new fields maintenancePlantId
, createdOnDate
and changedOnDate
.
Added properties costs
and costsCurrency
to preventive work orders.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
from work orders. See STRY0261073 in ServiceNow for more details.
Added new property hasCommunication
plant-id required | string Plants or maintenance plants to include tags from. |
tag-id required | string Example: AB |
include-maintenance-records | boolean Default: false Include maintenance records. If include-maintenance-record-types is not supplied, all supported types are returned |
include-maintenance-record-types | Array of strings (MaintenanceRecordTypes) Items Enum: "failure-report" "activity-report" "certification-report" "technical-information-update-request" "technical-clarification" "modification-proposal" Include which types of maintenance records |
include-work-orders | boolean Default: true Include work orders. If include-work-order-types is not supplied, all supported types are returned. |
include-work-order-types | Array of strings (LookupTagWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Include which types of work orders. Use comma-separated list of entries. |
include-installed-equipment | boolean Default: false Include installed equipment |
include-catalog-profile-details | boolean Default: false Include possible detection methods, failure modes and failure mechanisms |
include-maintenance-plan-items | boolean Default: false Include Maintenance Plan items this functional location is part of |
include-measuring-points | boolean Default: false Include measuring points for this tag |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-characteristics | boolean Default: false Include tag characteristics such as 'Function Fail Consequence' and 'Safety Critical Element (SCE)' |
include-bill-of-materials | boolean Default: false Include bill of materials (also known as structure list) for tag and installed equipment |
include-attachments | boolean Default: false Include equipment or tag attachments |
include-url-references | boolean Default: false Include URL references for object |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-linear-data | boolean Default: false Include linear data |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/tags/%7Btag-id%7D?include-maintenance-records=SOME_BOOLEAN_VALUE&include-maintenance-record-types=SOME_ARRAY_VALUE&include-work-orders=SOME_BOOLEAN_VALUE&include-work-order-types=SOME_ARRAY_VALUE&include-installed-equipment=SOME_BOOLEAN_VALUE&include-catalog-profile-details=SOME_BOOLEAN_VALUE&include-maintenance-plan-items=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-bill-of-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-linear-data=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "tagCategoryId": "I",
- "classId": "DG0105",
- "workCenterId": "PPMELE",
- "workCenter": "PV Elektro",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "CRTE INSV MTAG",
- "startUpDate": "2019-08-24",
- "endOfUseDate": "2019-08-24",
- "costWBSId": "T.O037C.GA.10004",
- "materialId": "763589",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "maintenancePlantId": "1100",
- "createdOnDate": "2024-10-24",
- "changedOnDate": "2024-10-25",
- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
], - "maintenanceRecords": {
- "modificationProposals": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}
], - "activityReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}
}
], - "technicalClarifications": [
- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}
}
]
}, - "workOrders": {
- "correctiveWorkOrders": [
- {
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
], - "preventiveWorkOrders": [
- {
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "workCenter": "AI Automasjon",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
], - "modificationWorkOrders": [
- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "sasChangeWorkOrders": [
- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "projectWorkOrders": [
- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "subseaWorkOrders": [
- {
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "cmrIndicator": true,
- "isOpen": true
}
]
}, - "installedEquipment": [
- {
- "equipmentId": "12578254",
- "equipment": "CAP 22 OB Protection",
- "catalogProfileId": "PMM-01",
- "serialNumber": "450024-10-001",
- "partNumber": "BB14-NT2012",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24"
}
], - "maintenancePlanItems": [
- {
- "maintenanceActivityTypeId": "002",
- "maintenanceActivityType": "Periodic maintenance",
- "maintenancePlanItemId": "10072940",
- "maintenancePlanItem": "24M FV-TELE MODULPROGRAM CD2",
- "maintenancePlanId": "1056916",
- "planningPlantId": "1100",
- "mainTagId": "AE5566",
- "mainTagPlantId": "1100",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
], - "catalogProfileDetails": {
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}, - "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "billOfMaterials": [
- {
- "bomItemId": "E-270227-1-2",
- "bomTypeId": "T",
- "materialId": "169170",
- "material": "HEATER,EL,427997,BAC.THU.,IN14 1.0kW230V",
- "quantity": 1,
- "quantityUnitId": "string",
- "parentTagId": "",
- "parentEquipmentId": "",
- "parentMaterialId": "string",
- "parentBOMItemId": "E-270226-1-1"
}
], - "linearData": {
- "startPoint": 4.527,
- "endPoint": 4.527,
- "linearUnitOfMeasure": "KP"
}, - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "attachments": [
- {
- "attachmentId": "DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0",
- "fileName": "tag_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Tag location,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/documents/18264337-A01-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
Update a single tag
There is a plant-specific configuration called "data origin" which determines which properties should be inherited from the parent tag. Please be aware that updating of the field parentTagId
might lead to overwriting of those properties to the default values of the new tag.
If a tag is a parent tag, changing of an already existing property will be cascaded to all its children. This is valid if according to the "data origin" this property should be inherited.
The endpoint supports most status activation such as:
Deactivation is supported where there is no interdependency between statuses. For status with a statusOrder value, deactivation is not necessary (nor supported) as the business logic will handle the switch once another status is activated.
Added support for activation and deactivation of tag statuses. The property activeStatusIds
should provide all the the old and new statuses a tag should have, and any statuses not provided will be deactivated.
Added support for property area
plant-id required | string |
tag-id required | string Example: AB |
The information to be updated
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/parentTagId" "/tag" "/systemId" "/locationId" "/workCenterId" "/workCenterPlantId" "/planningPlantId" "/plannerGroupId" "/costWBSId" "/startUpDate" "/area" "/endOfUseDate" "/catalogProfileId" "/maintenanceConceptId" "/activeStatusId" "/linearData/startPoint" "/linearData/endPoint" "/linearData/linearUnitOfMeasure" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
The following is only valid for pipeline tags (tagCategoryId =
|
[- {
- "op": "replace",
- "path": "/activeStatusIds",
- "value": "INAC INSV MTAG"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add new characteristics to an existing tag.
Characteristics are grouped into a class such as FL_MAINT_STRATEGY
. Classes can be assigned to a tag and specific characteristics such as CRIT_PRODUCTION
will then be available for that specific tag.
With this endpoint, the consumer can assign classes to a tag and define initial values for some of the characteristics in the classes.
Note that if a given characteristic has already been added to this tag, repeated adding will result in overwriting of the characteristic value.
If you want to update a characteristic the PATCH
endpoint can be used.
Use /plants/{plant-id}/tags/{tag-id}?include-characteristics=true&api-version=v1
to view characteristics with value after using this endpoint.
plant-id required | string |
tag-id required | string Example: AB |
Characteristics to add to tag.
classId required | string The class which contains the characteristics |
Array of objects (TagCharacteristicAdd) Specific characteristics in the class to define a value for |
[- {
- "classId": "FL_CRITICALITY"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing values of characteristics on a tag. If the characteristics does not exist, a 404 - Not Found
is returned.
plant-id required | string |
tag-id required | string Example: AB |
Characteristics to be updated, based on JsonPatch standard
required | Array of objects (CharacteristicsJsonPatch) |
characteristicId required | string |
classId required | string |
[- {
- "characteristicId": "CRIT_CRITICALITY",
- "classId": "FL_MAINT_STRATEGY",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "L"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Get the entire tag hierachy for a plant. For each tag you will be provided with catalog profile and the parent tag.
Limits the response to the sub trees defined by the provided root tags. Parameters:
This returns a significant amount of data as it returns all tags for a plant (which may be up to 250 000).
The data will be cached in the API and renewed on a daily basis.
Added filter-by-root-tags filter.
Endpoint is deprecated as of 11.2022 in order to improve consistency in API.
Use /plants/{plant-id}/tag-hierarchy
instead.
plant-id required | string |
filter | string (GetTagHierarchyFilter) Value: "filter-by-root-tags" Filter to limit the tag hierarchy by |
root-tags | string Example: root-tags=10A1,10A10,10A11,10A12,10A13 Comma-separated list of tags (without tagPlantId prefix) |
sub-hierarchy-limit | integer [ 1 .. 4 ] Default: 4 Example: sub-hierarchy-limit=2 Limit the response to a certain number of levels below the root tag If this parameter is omitted, a maximum of 4 sub levels will be included. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/tag-hierachy?filter=SOME_STRING_VALUE&root-tags=10A1%2C10A10%2C10A11%2C10A12%2C10A13&sub-hierarchy-limit=2' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "tagId": "1100-AE5566",
- "parentTagId": "1100-AT5566",
- "catalogProfileId": "PM-160"
}
]
Get the entire tag hierarchy for a plant. For each tag you will be provided with catalog profile and the parent tag.
Limits the response to the sub-trees defined by the provided root tags. Parameters:
This returns a significant amount of data as it returns all tags for a plant (which may be up to 250 000).
The data will be cached in the API and renewed on a daily basis.
Added property tag
to the response.
Added query parameter sub-hierarchy-limit
which controls how many levels below the root the response will contain.
plant-id required | string |
filter | string (GetTagHierarchyFilter) Value: "by-root-tags" Filter to limit the tag hierachy by |
root-tag-id-any-of | string Example: root-tag-id-any-of=10A1,10A10,10A11,10A12,10A13 Comma-separated list of tags (without tagPlantId prefix) |
sub-hierarchy-limit | integer [ 1 .. 4 ] Default: 4 Example: sub-hierarchy-limit=2 Limit the response to a certain number of levels below the root tag If this parameter is omitted, a maximum of 4 sub levels will be included. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/tag-hierarchy?filter=SOME_STRING_VALUE&root-tag-id-any-of=10A1%2C10A10%2C10A11%2C10A12%2C10A13&sub-hierarchy-limit=2' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "tagId": "1100-AE5566",
- "parentTagId": "1100-AT5566",
- "catalogProfileId": "PM-160",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
]
Get the entire tag hierarchy for a plant in a tree structure. For each tag you will be provided with catalog profile and the parent tag.
The optional query parameter root-tag-id
specifies the root tag for the hierarchy. If omitted, the root tag of the plant will be used.
Use the optional query parameter sub-hierarchy-limit
to control how many levels below the root the response will contain. This is limited to values between 1 and 4.
The data will be cached in the API and renewed on a daily basis.
The property subTagHierarchy
is an array of TagHierarchyTree
objects, meaning that this is a recursive property.
When the array is empty, either the sub-limit has restricted further levels to serialize, or the hierarchy has reached the bottom.
The property isEndNode
indicates if there are further tags in the hierarchy which can be looked up with a subsequent request.
plant-id required | string |
root-tag-id | string Example: root-tag-id=10A1 The root tag for the hierarchy |
sub-hierarchy-limit | integer >= 1 Default: 4 Example: sub-hierarchy-limit=2 Limit the response to a certain number of levels below the root tag. If this parameter is omitted, a maximum of 4 sub levels will be included. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/tag-hierarchy-tree?root-tag-id=10A1&sub-hierarchy-limit=2' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "tagId": "1100-AB",
- "parentTagId": "1100",
- "tag": "Actual Boiler",
- "catalogProfileId": "PM-160",
- "isEndNode": false,
- "subTagHierarchy": [
- {
- "tagId": "1100-ABC",
- "parentTagId": "1100-AB",
- "tag": "Actual Boiler Lid",
- "catalogProfileId": "PM-160",
- "isEndNode": false,
- "subTagHierarchy": [
- {
- "tagId": "1100-ABCD",
- "parentTagId": "1100-ABC",
- "tag": "Actual Boiler Valve",
- "catalogProfileId": "PM-160",
- "isEndNode": false,
- "subTagHierarchy": [ ]
}
]
}, - {
- "tagId": "1100-ABD",
- "parentTagId": "1100-AB",
- "tag": "Actual Boiler Handle",
- "catalogProfileId": "PM-160",
- "isEndNode": true,
- "subTagHierarchy": [ ]
}
]
}
Create tag with option to create linear data. Linear data can be created only for the tagCategoryId U
(Pipeline).
Locations and systems available for this plant can be found by querying /plants/{plant-id}?include-systems=true&include-locations=true&api-version=v1
To find a valid parentTagId, use the tag search endpoint /plants/{plant-id}/tag-hierarchy
There is a plant-specific configuration called "data origin" which determines which properties should be inherited from the parent tag, and which should be maintained by user directly, e.g. via the API. Properties provided in the request will overwrite the inherited default values. Nevertheless, the inheritance rules of the "data origin" configuration remain the same even if default values were overwritten during the creation.
Please note that to execute this request, elevated roles are required in Equinor's ERP system.
Added support for property area
.
Added property maintenanceConceptId
to response.
plant-id required | string |
Tag to create
tagId required | string or null |
parentTagId required | string |
tag required | string |
tagCategoryId required | string <= 1 characters Enum: "A" "C" "D" "E" "F" "H" "I" "J" "K" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Z" The category the tag belongs to. Values: |
systemId | string |
ABCId | string |
area | string Specific room for the asset |
locationId | string Structured location within the plant where the tag is located |
workCenterId | string |
workCenterPlantId | string |
planningPlantId | string |
plannerGroupId | string |
activeStatusIds | string Active statuses for the tag with space as separating character |
costWBSId | string |
startUpDate | string or null <date> |
endOfUseDate | string or null <date> |
catalogProfileId | string or null |
maintenanceConceptId | string The maintenance concept for the tag. More details planned to be available through endpoint /maintenance-concepts/{concept-id} |
object (LinearData) |
{- "tagCategoryId": "U",
- "tagId": "AT5566-25",
- "parentTagId": "AT5566",
- "systemId": "BS",
- "locationId": "W14",
- "area": "FA-CAE1",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "ABCId": "5",
- "workCenterId": "PPMELE",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "CRTE INSV",
- "costWBSId": "T.O037C.GA.10004",
- "startUpDate": "2022-12-20",
- "endOfUseDate": "2023-10-20",
- "catalogProfileId": "PM-160",
- "maintenanceConceptId": "VA1631",
- "linearData": {
- "startPoint": 4.527,
- "endPoint": 4.547,
- "linearUnitOfMeasure": "KP"
}
}
{- "maintenanceConceptId": "VA1631",
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
Search tags for a plant based on the first few characters of the tag.
The results include key information for a tag.
Additional information for each tag can be retrieved by using the endpoint /plants/{plant-id}/tags/{tag-id}
.
If there are no tags found for the search, the response will be HTTP 200 with an empty array as content.
The value of the tag-prefix parameter should be url-encoded in order to support special characters
/plants/1219/tags?tag-prefix=44&api-version=v1
/plants/1100/tags?tag-prefix=02%22-EC-%202525-M&api-version=v1
Added support for filter by-tag-ids
with accompanying parameter tag-ids-any-of
Filter is not required and defaults to by-tag-prefix
to keep backwards compatibility.
Added options to include more data using the same data model as on Tag - Lookup
, but all includes are defaulted
to false.
by-tag-prefix
filter now supports wildcards (*
) in the tag prefix
Edited the response structure to support pagination if filter by-tag-prefix
is set. Use the parameters page
and per-page
in the parameters to edit wanted response.
Added include-linear-data
and include-status-details
query parameters.
Added properties tagCategoryId
, activeStatusIds
, startUpDate
and endOfUseDate
.
Added property classId
to characteristics
Added new filter by-external-system-reference
.
Added new property semiModelId
.
Added property area
.
Added query parameters include-attachments
and include-url-references
.
urlReferences
and attachments
now include the property documentCreatedDate
Added property cmrIndicator
for WorkOrders
Work orders now include the property 'isOpen'
billOfMaterials
now include the property parentMaterialId
Added materialId
and material
to the response
Added changedDateTime
for attachments.
Added new fields maintenancePlantId
, createdOnDate
and changedOnDate
.
Added new filters for use in combination with the by-tag-prefix
and by-tag-ids
filters:
tag-category-id-any-of
maintenance-concept-id-any-of
created-before-date
created-after-date
changed-before-date
changed-after-date
Added properties costs
and costsCurrency
to preventive work orders.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
from work orders. See STRY0261073 in ServiceNow for more details.
plant-id required | string Plant to include tags from. |
filter | string or null Default: "by-tag-prefix" Enum: "by-tag-ids" "by-tag-prefix" "by-external-system-reference" |
tag-prefix | string or null >= 2 characters The first few characters of the tag, required if filter is empty or |
tag-ids-any-of | Array of strings[ items non-empty ] The tagIds as a comma separated list, required if filter is |
external-system-reference | string or null non-empty Required if filter is |
tag-category-id-any-of | Array of strings or null Optional comma separated string array of tag category ids to filter your result to one or more tag categories ( |
maintenance-concept-id-any-of | Array of strings[ items [ 1 .. 10 ] characters ] Optional comma separated string array of Maintenance Concept Ids ( |
created-before-date | string or null <date> = 10 characters Latest |
created-after-date | string or null <date> = 10 characters Earliest |
changed-before-date | string or null <date> = 10 characters Latest |
changed-after-date | string or null <date> = 10 characters Earliest |
include-maintenance-records | boolean Default: false Include maintenance records. If include-maintenance-record-types is not supplied, all supported types are returned |
include-maintenance-record-types | Array of strings (MaintenanceRecordTypes) Items Enum: "failure-report" "activity-report" "certification-report" "technical-information-update-request" "technical-clarification" "modification-proposal" Include which types of maintenance records |
include-work-orders | boolean Default: true Include work orders. If include-work-order-types is not supplied, all supported types are returned. |
include-work-order-types | Array of strings (LookupTagWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Include which types of work orders. Use comma-separated list of entries. |
include-installed-equipment | boolean Default: false Include installed equipment |
include-catalog-profile-details | boolean Default: false Include possible detection methods, failure modes and failure mechanisms |
include-maintenance-plan-items | boolean Default: false Include Maintenance Plan items this functional location is part of |
include-measuring-points | boolean Default: false Include measuring points for this tag |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-characteristics | boolean Default: false Include tag characteristics such as 'Function Fail Consequence' and 'Safety Critical Element (SCE)' |
include-bill-of-materials | boolean Default: false Include bill of materials (also known as structure list) for tag and installed equipment |
include-attachments | boolean Default: false Include equipment or tag attachments |
include-url-references | boolean Default: false Include URL references for object |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-linear-data | boolean Default: false Include linear data |
per-page | integer [ 1 .. 100 ] Default: 100 Results to return per page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/tags?filter=SOME_STRING_VALUE&tag-prefix=SOME_STRING_VALUE&tag-ids-any-of=SOME_ARRAY_VALUE&external-system-reference=SOME_STRING_VALUE&tag-category-id-any-of=SOME_ARRAY_VALUE&maintenance-concept-id-any-of=SOME_ARRAY_VALUE&created-before-date=SOME_STRING_VALUE&created-after-date=SOME_STRING_VALUE&changed-before-date=SOME_STRING_VALUE&changed-after-date=SOME_STRING_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-maintenance-record-types=SOME_ARRAY_VALUE&include-work-orders=SOME_BOOLEAN_VALUE&include-work-order-types=SOME_ARRAY_VALUE&include-installed-equipment=SOME_BOOLEAN_VALUE&include-catalog-profile-details=SOME_BOOLEAN_VALUE&include-maintenance-plan-items=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-bill-of-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-linear-data=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "semiModelId": "SMI-000-001-234",
- "tagCategoryId": "I",
- "classId": "DG0105",
- "workCenterId": "PPMELE",
- "workCenter": "PV Elektro",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "CRTE INSV MTAG",
- "startUpDate": "2019-08-24",
- "endOfUseDate": "2019-08-24",
- "costWBSId": "T.O037C.GA.10004",
- "materialId": "763589",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "maintenancePlantId": "1100",
- "createdOnDate": "2024-10-24",
- "changedOnDate": "2024-10-25",
- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
], - "maintenanceRecords": {
- "modificationProposals": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}
], - "activityReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}
}
], - "technicalClarifications": [
- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}
}
]
}, - "workOrders": {
- "correctiveWorkOrders": [
- {
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
], - "preventiveWorkOrders": [
- {
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "workCenter": "AI Automasjon",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
], - "modificationWorkOrders": [
- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "sasChangeWorkOrders": [
- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "projectWorkOrders": [
- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "subseaWorkOrders": [
- {
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "cmrIndicator": true,
- "isOpen": true
}
]
}, - "installedEquipment": [
- {
- "equipmentId": "12578254",
- "equipment": "CAP 22 OB Protection",
- "catalogProfileId": "PMM-01",
- "serialNumber": "450024-10-001",
- "partNumber": "BB14-NT2012",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24"
}
], - "maintenancePlanItems": [
- {
- "maintenanceActivityTypeId": "002",
- "maintenanceActivityType": "Periodic maintenance",
- "maintenancePlanItemId": "10072940",
- "maintenancePlanItem": "24M FV-TELE MODULPROGRAM CD2",
- "maintenancePlanId": "1056916",
- "planningPlantId": "1100",
- "mainTagId": "AE5566",
- "mainTagPlantId": "1100",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
], - "catalogProfileDetails": {
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}, - "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "billOfMaterials": [
- {
- "bomItemId": "E-270227-1-2",
- "bomTypeId": "T",
- "materialId": "169170",
- "material": "HEATER,EL,427997,BAC.THU.,IN14 1.0kW230V",
- "quantity": 1,
- "quantityUnitId": "string",
- "parentTagId": "",
- "parentEquipmentId": "",
- "parentMaterialId": "string",
- "parentBOMItemId": "E-270226-1-1"
}
], - "linearData": {
- "startPoint": 4.527,
- "endPoint": 4.527,
- "linearUnitOfMeasure": "KP"
}, - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "attachments": [
- {
- "attachmentId": "DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0",
- "fileName": "tag_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Tag location,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/documents/18264337-A01-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
]
Lookup a single equipment with related maintenance information.
The endpoint has several include query parameters which allows a client to retrieve only the information which is relevant for their use case.
For warehouse and logistics data of an equipment, use SCM Logistics API.
/equipment/11948620?include-maintenance-records=true&include-maintenance-record-types=failure-report&include-only-open-maintenance-records=true&include-work-orders=true&include-work-order-types=preventiveWorkOrders,subseaWorkOrders&include-only-open-work-orders=true&include-characteristics=true&include-status-details=true&api-version=v1
- Lookup equipment with status details and characteristics. Include open failure reports where the equipment is used as main reference. Include open subsea work orders and open preventive work orders where the equipment is either a material component or the main reference (equipmentId
at work order header level).
include-work-orders
now include work orders where the equipmentId
is the main reference (equipmentId
at work order header level).
Fixed known limitation for include-work-orders
and include-only-open-work-orders=false
.
Bugfix for include-work-orders related to deleted equipment reservations.
Added revisionId and revision to related work orders (represents shutdown or campaign work).
For include-work-orders
, add information on the relationship between the equipment and the work order (for example the id of the reservation)
Added property parentEquipmentId.
Added properties hasUnsafeFailureMode and unsafeFailureModeStatus for failure reports.
Added property maintenanceRecordId
to measurements of measuring points.
Added properties equipmentCategoryId
and quantityUnitId
.
Added workOrderId
to the lastMeasurement.
Added query parameter include-url-references
.
modification-proposal
in include-maintenance-record-types
now includes modification proposals in the response.
Added property classId
to characteristics.
Added properties manufacturer
and modelNumber
.
urlReferences
and attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added property workCenterId
to maintenanceRecords.failureReports
Add property characteristics
to urlReferences
in response
Add query parameter include-url-characteristics
Added query parameter include-person-responsible
, that expands work order response with person responsible.
urlReferences
and attachments
now include the property documentCreatedDate
Added property cmrIndicator
for WorkOrders
Added query parameter include-sub-equipment
Added properties tagId
and tagPlantId
Work orders now include the property 'isOpen'
Added properties manufacturerPartNumber
, technicalIdentificationNumber
, objectWeight
and unitOfWeight
to response body.
Added changedDateTime
for attachments.
Added property linkedEquipment
, which can be included in the response by using the new query parameter include-linked-equipment
.
Added boolean property hasLinkageToEquipment
that will be true if the equipment has any linked equipment.
Added new fields maintenancePlantId
, createdOnDate
and changedOnDate
.
Added properties costs
and costsCurrency
to preventive work orders.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
from work orders. See STRY0261073 in ServiceNow for more details.
Added new work order type overHeadMaintenanceWorkOrders
to response.
equipment-id required | string The unique equipmentId in Equinor's system |
include-maintenance-records | boolean Default: false Include maintenance records. If include-maintenance-record-types is not supplied, all supported types are returned |
include-maintenance-record-types | Array of strings (MaintenanceRecordTypes) Items Enum: "failure-report" "activity-report" "certification-report" "technical-information-update-request" "technical-clarification" "modification-proposal" Include which types of maintenance records |
include-only-open-maintenance-records | boolean Default: false Limit include-maintenance-records to only open maintenance records |
include-work-orders | boolean Default: true Include work orders. If include-work-order-types is not supplied, all supported types are returned. |
include-work-order-types | Array of strings (LookupEquipmentWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Include which types of work orders. Use comma-separated list of entries. |
include-only-open-work-orders | boolean Default: false Limit include-work-orders to only open work order |
include-catalog-profile-details | boolean Default: false Include possible detection methods, failure modes and failure mechanisms |
include-characteristics | boolean Default: false Include equipment characteristics such as 'Kontrollkort gyldig til' and 'Equipment group' |
include-attachments | boolean Default: false Include equipment or tag attachments |
include-url-references | boolean Default: false Include URL references for object |
include-url-characteristics | boolean Default: false Include characteristics for URL References |
include-measuring-points | boolean Default: false Include measuring points for this tag |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-sub-equipment | boolean Default: false Include child equipment for an equipment. Limit to only the first level childs of the hierarchy. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-linked-equipment | boolean Default: false Include list of equipment that are physically linked to this equipment. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/equipment/%7Bequipment-id%7D?include-maintenance-records=SOME_BOOLEAN_VALUE&include-maintenance-record-types=SOME_ARRAY_VALUE&include-only-open-maintenance-records=SOME_BOOLEAN_VALUE&include-work-orders=SOME_BOOLEAN_VALUE&include-work-order-types=SOME_ARRAY_VALUE&include-only-open-work-orders=SOME_BOOLEAN_VALUE&include-catalog-profile-details=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&include-url-characteristics=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-sub-equipment=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-linked-equipment=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "equipmentCategoryId": "M",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceConceptId": "TI0740",
- "classId": "SUBSEA_POOL",
- "workCenterId": "AKSO",
- "workCenter": "Aker",
- "workCenterPlantId": "1012",
- "planningPlantId": "1012",
- "hasLinkageToEquipment": true,
- "characteristics": [
- {
- "characteristicId": "SP_KONTROLLKORT_GYLDIG_TIL",
- "characteristic": "Kontrollkort gyldig til",
- "valueId": "13.09.2021",
- "value": "",
- "classId": "IT_EQUIPMENT"
}
], - "attachments": [
- {
- "attachmentId": "c3NzdDE1MzAzM3I1MnR1cXUC8l0szcwczYxdzAxMjWuMLMyNDSzMawx9nfRKKkpAuMbJ0AAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Equipment location,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "_links": {
- "enclosure": "/equipment/1310232/attachments/c3NzdDE1MzAzM3I1MnR1cXUC8l0szcwczYxdzAxMjWuMLMyNDSzMawx9nfRKKkpAuMbJ0AAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "urlReferences": [
- {
- "characteristics": [
- {
- "characteristicId": "PLANT_NO",
- "characteristic": "Plant no",
- "valueId": "X",
- "value": "GLOB",
- "classId": "X"
}
], - "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "maintenanceRecords": {
- "modificationProposals": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}
], - "activityReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}
}
], - "technicalClarifications": [
- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}
}
]
}, - "workOrders": {
- "correctiveWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
], - "preventiveWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "workCenter": "AI Automasjon",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
], - "modificationWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "sasChangeWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "projectWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "subseaWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "isObsoleteSubseaWorkOrderType": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
]
}, - "catalogProfileDetails": {
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}, - "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "subEquipment": [
- {
- "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "equipmentCategoryId": "M",
- "maintenanceConceptId": "TI0740",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
], - "linkedEquipment": [
- {
- "manufacturerPartNumber": "PART-123-345",
- "manufacturerSerialNumber": "4500695422-20-003",
- "linkedDate": "2020-01-01",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
], - "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
Update a single equipment
Supports:
warrantyStartDate
and warrantyEndDate
Allow for update of materialId
equipment-id required | string Example: 11948620 |
The information to be updated
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/warrantyStartDate" "/warrantyEndDate" "/materialId" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/warrantyStartDate",
- "value": "2022-08-26"
}, - {
- "op": "replace",
- "path": "/warrantyEndDate",
- "value": "2027-08-26"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Install Equipment on a tag hierarchy.
An equipment can be either installed on a Tag, or an Equipment.
If equipmentId
is provided in the body, the equipmentId
from the path will be installed here.
If tagPlantId
-tagId
is provided in the body, the equipmentId
from the path will be installed here.
Both of these cases cannot be supported at the same time. An equipment can not be installed at more than one place at a time.
equipment-id required | string Example: 14626974 The unique equipmentId in Equinor's system |
Install Equipment in a hierarchy.
tagId | string or null |
tagPlantId | string or null |
equipmentId | string or null |
[- {
- "tagId": "TEST"
}, - {
- "tagPlantId": "1100"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Dismantle Equipment on a tag hierarchy.
An equipment can be dismantled from a tag, or an equipment. The correct installation needs to be provided in the body to be successful.
If equipmentId
is provided in the body, the equipmentId
from the path will be dismantled here.
If tagPlantId
-tagId
is provided in the body, the equipmentId
from the path will be dismantled here.
Both of these cases cannot be supported at the same time. An equipment can not be installed at more than one place at a time.
equipment-id required | string Example: 14626974 The unique equipmentId in Equinor's system |
delete-equipment | boolean Default: false Delete the equipment after dismantling |
Dismantle equipment in a hierarchy.
tagId | string or null |
tagPlantId | string or null |
equipmentId | string or null |
[- {
- "tagId": "TEST"
}, - {
- "tagPlantId": "1100"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add characteristics to equipment.
Characteristics are grouped into a class such as R_PIPE_DETAILS
.
Classes can be assigned to an equipment and specific characteristics such as R_DIAMETER_MM
will then be available for that specific equipment.
With this endpoint, the consumer can assign classes to an equipment and define initial values for some of the characteristics in the classes.
There is currently no endpoint for looking up existing classes and their characteristics, but this may be added in the future.
Use /equipment/{equipment-id}?include-characteristics=true&api-version=v1
to view characteristics with value after using this endpoint.
equipment-id required | string Example: 14626974 The unique equipmentId in Equinor's system |
Characteristics to add to equipment.
classId required | string The class which contains the characteristics |
Array of objects (CharacteristicAdd) Specific characteristics in the class to define a value for |
[- {
- "classId": "R_PIPE_DETAILS",
- "characteristics": [
- {
- "characteristicId": "R_AREA_CODES",
- "valueId": "F1"
}, - {
- "characteristicId": "R_DIAMETER_MM",
- "valueId": "12"
}, - {
- "characteristicId": "R_PRODUCT_CODE",
- "valueId": "PL"
}, - {
- "characteristicId": "R_ISOLATION_CLASS",
- "valueId": "1"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing values of characteristics on an equipment. If the characteristics does not exist, a 404 - Not Found
is returned.
equipment-id required | string Example: 14626974 The unique equipmentId in Equinor's system |
Characteristics to be updated, based on JsonPatch standard
required | Array of objects (CharacteristicsJsonPatch) |
characteristicId required | string |
classId required | string |
[- {
- "characteristicId": "CRIT_CRITICALITY",
- "classId": "FL_MAINT_STRATEGY",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "L"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Get list of all equipment for the specified plant.
The response will include equipmentCategoryId
and catalogProfileId
for each equipment.
Limits the response to the provided equipmentCategoryId
(s).
Parameters:
The endpoint returns a significant amount of data as it returns all equipment for the specified plant. The data will be cached in the API and renewed on a daily basis.
plant-id required | string |
filter | string (GetEquipmentListFilter) Value: "filter-by-equipment-category" Filter to limit the equipment list by |
equipment-category-id-any-of | string Example: equipment-category-id-any-of=R,U Comma-separated list of equipment categories. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/equipment-list?filter=SOME_STRING_VALUE&equipment-category-id-any-of=R%2CU' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "equipmentId": "12218664",
- "equipmentCategoryId": "R",
- "catalogProfileId": "PM-160"
}
]
Download single attachment for equipment.
The applicable document types are: B10
, B30
, A01
, A02
.
equipment-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/equipment/%7Bequipment-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Create equipment and possibly install at tag.
In the current version of the endpoint, it's only possible to create equipment with equipmentCategoryId R
= Process Equipment.
If the request includes installedAtTag
, the equipment will inherit properties such as planningPlantId
, plannerGroupId
, workCenterId
, ABCId
, systemId
and locationId
from the tag.
Access to the role YO059 - Static Process Equipment Data Establisher (SAPP03)
is required.
Added properties tagId
and tagPlantId
to response body.
Added properties manufacturerPartNumber
, technicalIdentificationNumber
, objectWeight
and unitOfWeight
to response body.
Added new fields maintenancePlantId
, equipmentCategoryId
, maintenanceConceptId
, createdOnDate
and changedOnDate
to response body.
Equipment to create
equipment required | string |
equipmentCategoryId required | string <= 1 characters The category the equipment belongs to. Only |
maintenanceConceptId | string The maintenance concept for the tag. More details available through endpoint |
object (EquipmentCreateInstalledAtTag) |
{- "equipment": "P:000 000 ** Main FL:.63\"-OH-19137-TS31A",
- "equipmentCategoryId": "R",
- "maintenanceConceptId": "VE1301",
- "installedAtTag": {
- "tagId": "1A1-A16A",
- "tagPlantId": "1111"
}
}
{- "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "equipmentCategoryId": "M",
- "maintenanceConceptId": "TI0740",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
Search for equipment and include related maintenance information.
The endpoint has several include query parameters which allows a client to retrieve only the information which is relevant for their use case.
The client must in the request provide at least one of the following search parameters:
equipment-id-any-of
serial-number-any-of
vendor-part-number-any-of
material-id-any-of
characteristic-value-any-of
equipment-any-of
technical-identification-number-any-of
maintenance-concept-id-any-of
equipment-category-id-any-of
These parameters allow a comma-separated list of entries.
If more than one of these parameters are supplied in the same request, the equipment in the response will need to fulfill all parameters (the 'AND' operator will be used between the parameters).
Query parameters include-only-open-maintenance-records
and include-only-open-work-orders
have a recommended value of true
in order to improve performance (default value false
).
For warehouse and logistics data of an equipment, use SCM Logistics API.
/equipment?serial-number-any-of=4500695422-20-003,4500695422-20-004&include-maintenance-records=true&include-maintenance-record-types=failure-report&include-only-open-maintenance-records=true&include-work-orders=true&include-work-order-types=preventiveWorkOrders,subseaWorkOrders&include-only-open-work-orders=true&include-characteristics=true&api-version=v1
- Search equipment based on serialNumber with characteritics. Include open failure reports where the equipment is used as main reference. Include open subsea work orders and open preventive work orders where the equipment is either a material component or the main reference (equipmentId
at work order header level).
When using the characteristic-value-any-of
it is important to URI Encode the input data especially when there are special characters as part of the input:
/equipment?characteristic-value-any-of=%3D17445%2F9818,%3D17433/6333&class-id=L_PART&characteristic-id=L_E3DREF&plant-id=1201&api-version=v1
include-work-orders
now include work orders where the equipmentId
is the main reference (equipmentId
at work order header level).
Fixed known limitation for include-work-orders
and include-only-open-work-orders=false
.
Bugfix for include-work-orders related to deleted equipment reservations.
Added revisionId and revision to related work orders (represents shutdown or campaign work).
For include-work-orders
, add information on the relationship between the equipment and the work order (for example the id of the reservation)
Added property parentEquipmentId.
Added properties hasUnsafeFailureMode and unsafeFailureModeStatus for failure reports.
Added property quantityUnitId
modification-proposal
in include-maintenance-record-types
now includes modification proposals in the response.
Added property classId
to characteristics.
Added properties manufacturer
and modelNumber
.
Added query parameter include-person-responsible
, that expands work order response with person responsible.
Added include-measuring-points
and include-last-measurement
query parameters.
Added characteristic-value-any-of
, class-id
, characteristic-id
and plant-id-any-of
query parameters.
Can be used to search for equipment based on values of a characteristic.
In addition, an optional filter on a plant can be supplied.
Added property cmrIndicator
for WorkOrders.
Added query parameter equipment-any-of
, a wildcard search based on equipment
Added query parameter include-sub-equipment
Added query parameter include-status-details
.
Added properties tagId
and tagPlantId
Work orders now include the property 'isOpen'
Added properties manufacturerPartNumber
, technicalIdentificationNumber
, objectWeight
and unitOfWeight
to response body.
Added query parameter technical-identification-number-any-of
to allow searching based on technicalIdentificationNumber
.
Added property linkedEquipment
, which can be included in each equipment in the response by using the new query parameter include-linked-equipment
.
Added boolean property hasLinkageToEquipment
that will be true if the equipment has any linked equipment.
Added support for including attachments on equipments in the response by setting the new query parameter include-attachments
to true.
Added new fields maintenancePlantId
, equipmentCategoryId
, maintenanceConceptId
, createdOnDate
and changedOnDate
to response body.
Added new filters based on the new fields - maintenancePlantId
, equipmentCategoryId
, maintenanceConceptId
, createdOnDate
and changedOnDate
.
Added new properies costs
and costsCurrency
to preventive work orders.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
from work orders. See STRY0261073 in ServiceNow for more details.
Added new work order type overHeadMaintenanceWorkOrders
to response.
equipment-id-any-of | Array of strings (SearchEquipmentEquipmentIdAnyOf) Example: equipment-id-any-of=11948620 Search based on equipmentIds. Wildcards are supported |
serial-number-any-of | Array of strings (SearchEquipmentSerialNumberAnyOf) Example: serial-number-any-of=4500695422-20-003 Search based on serialNumber. Wildcards are supported |
vendor-part-number-any-of | Array of strings (SearchEquipmentVendorPartNumberAnyOf) Example: vendor-part-number-any-of=10219863 Search based on partNumber. Wildcards are supported |
material-id-any-of | Array of strings (SearchEquipmentMaterialIdAnyOf) Example: material-id-any-of=854586 Search based on materialId. Wildcards are supported |
characteristic-value-any-of | string Example: characteristic-value-any-of=%3D33814%2F12073 Search based on characteristic values. Must be used in combination with |
plant-id-any-of | string Example: plant-id-any-of=1900,1901,1902 Optional comma separated string array of plant-ids to filter your result to one or more plants ( |
equipment-any-of | string or null >= 3 characters Optional comma separated string array of equipment descriptions/titles ( |
technical-identification-number-any-of | string Example: technical-identification-number-any-of=D3-0001560 Optional comma separated string array of technical identification numbers ( |
characteristic-id | string or null Example: characteristic-id=L_E3DREF Required field if |
class-id | string or null Example: class-id=L_PART Required field if |
equipment-category-id-any-of | Array of strings[ items = 1 characters ] Optional comma separated string array of equipment category Id ( |
maintenance-concept-id-any-of | Array of strings[ items [ 1 .. 10 ] characters ] Optional comma separated string array of Maintenance Concept Ids ( |
created-before-date | string or null <date> = 10 characters Latest |
created-after-date | string or null <date> = 10 characters Earliest |
changed-before-date | string or null <date> = 10 characters Latest |
changed-after-date | string or null <date> = 10 characters Earliest |
include-maintenance-records | boolean Default: false Include maintenance records. If include-maintenance-record-types is not supplied, all supported types are returned |
include-maintenance-record-types | Array of strings (MaintenanceRecordTypes) Items Enum: "failure-report" "activity-report" "certification-report" "technical-information-update-request" "technical-clarification" "modification-proposal" Include which types of maintenance records |
include-only-open-maintenance-records | boolean Default: false Limit include-maintenance-records to only open maintenance records. Recommend using |
include-work-orders | boolean Default: true Include work orders. If include-work-order-types is not supplied, all supported types are returned. |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-measuring-points | boolean Default: false Include measuring points for this tag |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-sub-equipment | boolean Default: false Include child equipment for an equipment. Limit to only the first level childs of the hierarchy. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-work-order-types | Array of strings (SearchEquipmentWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Include which types of work orders. Use comma-separated list of entries. |
include-only-open-work-orders | boolean Default: false Limit include-work-orders to only open work order |
include-characteristics | boolean Default: false Include equipment characteristics such as 'Kontrollkort gyldig til' and 'Equipment group' |
include-linked-equipment | boolean Default: false Include list of equipment that are physically linked to this equipment. |
include-attachments | boolean Default: false Include equipment or tag attachments |
per-page | integer Default: 20 Results to return pr page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/equipment?equipment-id-any-of=SOME_ARRAY_VALUE&serial-number-any-of=SOME_ARRAY_VALUE&vendor-part-number-any-of=SOME_ARRAY_VALUE&material-id-any-of=SOME_ARRAY_VALUE&characteristic-value-any-of=SOME_STRING_VALUE&plant-id-any-of=1900%2C1901%2C1902&equipment-any-of=SOME_STRING_VALUE&technical-identification-number-any-of=D3-0001560&characteristic-id=SOME_STRING_VALUE&class-id=SOME_STRING_VALUE&equipment-category-id-any-of=SOME_ARRAY_VALUE&maintenance-concept-id-any-of=SOME_ARRAY_VALUE&created-before-date=SOME_STRING_VALUE&created-after-date=SOME_STRING_VALUE&changed-before-date=SOME_STRING_VALUE&changed-after-date=SOME_STRING_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-maintenance-record-types=SOME_ARRAY_VALUE&include-only-open-maintenance-records=SOME_BOOLEAN_VALUE&include-work-orders=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-sub-equipment=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-work-order-types=SOME_ARRAY_VALUE&include-only-open-work-orders=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-linked-equipment=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "hasLinkageToEquipment": true,
- "characteristics": [
- {
- "characteristicId": "SP_KONTROLLKORT_GYLDIG_TIL",
- "characteristic": "Kontrollkort gyldig til",
- "valueId": "13.09.2021",
- "value": "",
- "classId": "IT_EQUIPMENT"
}
], - "maintenanceRecords": {
- "modificationProposals": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}
], - "activityReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}
}
], - "technicalClarifications": [
- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}
}
]
}, - "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "workOrders": {
- "correctiveWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
], - "preventiveWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "workCenter": "AI Automasjon",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
], - "modificationWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "sasChangeWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "projectWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "subseaWorkOrders": [
- {
- "equipmentRelationship": {
- "relationshipType": "RESERVATION",
- "relationshipId": "25457443-001"
}, - "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "isObsoleteSubseaWorkOrderType": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
]
}, - "subEquipment": [
- {
- "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "equipmentCategoryId": "M",
- "maintenanceConceptId": "TI0740",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "linkedEquipment": [
- {
- "manufacturerPartNumber": "PART-123-345",
- "manufacturerSerialNumber": "4500695422-20-003",
- "linkedDate": "2020-01-01",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
], - "attachments": [
- {
- "attachmentId": "c3NzdDE1MzAzM3I1MnR1cXUC8l0szcwczYxdzAxMjWuMLMyNDSzMawx9nfRKKkpAuMbJ0AAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Equipment location,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "_links": {
- "enclosure": "/equipment/1310232/attachments/c3NzdDE1MzAzM3I1MnR1cXUC8l0szcwczYxdzAxMjWuMLMyNDSzMawx9nfRKKkpAuMbJ0AAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "equipmentCategoryId": "M",
- "maintenanceConceptId": "TI0740",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
]
Search for equipment changes done recently.
The response contains only minimum information about the change made to the equipment.
For more information about each equipment, perform a lookup request using /equipment/{equipment-id}
.
It's not possible to capture all possible recent changes to an equipment. For example, changes to characteristics values are not captured.
With the basis of a subsea work order, check if any of the currently reserved equipment has been changed recently. Only the currently reserved equipment which have been recently changed are returned in the response. Parameters:
Check if the equipment provided in the request has been changed recently. Only the equipment which have been recently changed are returned in the response. Parameters:
filter required | string (SearchEquipmentChangeLogFilter) Enum: "recently-changed-reserved-equipment" "recently-changed-equipment" Filter to limit the work order by |
subsea-work-order-id | string The subsea work order to check if any reserved equipment has been changed recently |
equipment-ids | Array of strings Comma-separated list of equipment to check |
changed-since-date | string <date> Earliest datetime to return changed equipment for |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/equipment-change-log?filter=SOME_STRING_VALUE&subsea-work-order-id=SOME_STRING_VALUE&equipment-ids=SOME_ARRAY_VALUE&changed-since-date=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "equipmentId": "11948620",
- "hasStatusChanged": false,
- "hasHeaderDataChanged": false,
- "hasMaintenanceRecordChanged": false,
- "hasWorkOrdersChanged": false,
- "hasEquipmentReservationChanged": true
}
]
Create equipment - special intended usage for machine-to-machine integration. Fields are kept in their raw form, and mirror the data model in SAP.
Create equipment - raw SAP BAPI data input.
valid_time | string |
valid_date | string |
object (data_general) | |
object (data_fleet) | |
object (data_custom) | |
object (data_specific) |
{- "data_custom": {
- "manuf_partno": "",
- "warranty": {
- "startdate": "2024-01-01",
- "enddate": "2024-01-01"
}
}, - "data_fleet": {
- "fleet_num": "",
- "fleet_vin": "",
- "chassis_num": "",
- "license_num": "",
- "expiry_date": "2024-01-01",
- "fleet_hgt": "0.000",
- "fleet_wid": "0.000",
- "fleet_len": "0.000",
- "dim_unit": "",
- "dim_unit_iso": "",
- "pri_calc": "",
- "repla_date": "2024-01-01",
- "repla_odom": "",
- "repla_oph": "",
- "num_axle": "00",
- "max_occupants": "0000",
- "card_num": "",
- "key_num": "",
- "fleet_use": "",
- "engine_type": "",
- "engine_power": "0.000",
- "unit_power": "",
- "unit_power_iso": "",
- "revolutions": "0000000",
- "engine_cyl": "00",
- "engine_cap": "0.000",
- "unit_cap": "",
- "unit_cap_iso": "",
- "engine_snr": "",
- "fuel_pri": "",
- "fuel_sec": "",
- "oil_type": "",
- "gross_wgt": "0.000",
- "load_wgt": "0.000",
- "wgt_unit": "",
- "wgt_unit_iso": "",
- "load_hgt": "0.000",
- "load_wid": "0.000",
- "load_len": "0.000",
- "load_dim_unit": "",
- "load_dim_unit_iso": "",
- "load_vol": "0.000",
- "vol_unit": "",
- "vol_unit_iso": "",
- "no_compart": "00",
- "speed_max": "0.000",
- "speed_unit": "",
- "speed_unit_iso": "",
- "consump_tol": "",
- "consump_move": ""
}, - "data_specific": {
- "configmat": "",
- "material": "",
- "serialno": "",
- "equicatgry": "",
- "batch": "",
- "mandrawno": "",
- "delivdate": "2024-01-01",
- "free_date1": "2024-01-01",
- "free_note1": "",
- "free_num1": "000000000",
- "techid": "",
- "license": "",
- "free_date2": "2024-01-01",
- "free_note2": "",
- "free_num2": "000000000",
- "read_cuobj": "000000000000000000",
- "read_curef": false,
- "read_supeq": "",
- "read_floc": "",
- "inst_pos": "",
- "configmat_external": "",
- "configmat_guid": "",
- "configmat_version": "",
- "material_external": "",
- "material_guid": "",
- "material_version": "",
- "config_controlInd": "",
- "ippe_guid": "00000000-0000-0000-0000-000000000000",
- "techs": "",
- "func_id": "",
- "uii": "",
- "iuid_type": "",
- "uii_plant": "",
- "read_maintenance_plan": "",
- "read_measuring_point": "",
- "read_valid_from": "2024-01-01",
- "configmat_long": "",
- "material_long": ""
}, - "data_general": {
- "authgrp": "",
- "objecttype": "",
- "inventory": "",
- "obj_size": "",
- "obj_weight": "0.000",
- "unit_of_wt": "",
- "unit_iso": "",
- "acqdate": "2024-01-01",
- "acquisval": "0.00",
- "currency": "",
- "curr_iso": "",
- "manfacture": "",
- "mancountry": "",
- "countr_iso": "",
- "manserno": "",
- "manmodel": "",
- "constyear": "",
- "constmonth": "",
- "start_from": "2024-01-01",
- "planplant": "",
- "consttype": "",
- "manparno": "",
- "plangroup": "",
- "catprofile": "",
- "work_ctr": "00000000",
- "descript": "",
- "abcindic": "",
- "sortfield": "",
- "maintplant": "",
- "maintloc": "",
- "maintroom": "",
- "plsectn": "",
- "pp_wkctr": "00000000",
- "bus_area": "",
- "costcenter": "",
- "wbs_elem": "000000000000000000000000",
- "comp_code": "",
- "asset_no": "",
- "sub_number": "",
- "standorder": "",
- "settlorder": "",
- "sales_org": "",
- "distr_chan": "",
- "division": "",
- "sales_off": "",
- "sales_grp": "",
- "read_crdat": "2024-01-01",
- "read_crnam": "",
- "read_chdat": "2024-01-01",
- "read_chnam": "",
- "read_adrnr": "",
- "consttype_external": "",
- "consttype_guid": "",
- "consttype_version": "",
- "read_objnr": "",
- "shift_report_type": "",
- "shift_note_notification_type": "",
- "start_point": "",
- "end_point": "",
- "linear_length": "",
- "linear_unit": "",
- "first_offset_type_code": "",
- "first_offset_value": "",
- "first_offset_unit": "",
- "second_offset_type_code": "",
- "second_offset_value": "",
- "second_offset_unit": "",
- "second_offset_unit_iso": "",
- "linear_unit_iso": "",
- "first_offset_unit_iso": "",
- "linear_reference_pattern": "",
- "marker_start_point": "",
- "marker_distance_start_point": "",
- "marker_end_point": "",
- "marker_distance_end_point": "",
- "marker_distance_unit": "",
- "marker_distance_unit_iso": "",
- "consttype_long": "",
- "end_to": "2024-01-01"
}, - "valid_date": null,
- "valid_time": "PT00H00M00S"
}
{- "equipment": "string",
- "return_text": "string",
- "return_commit": {
- "type": "string",
- "id": "string",
- "number": 0,
- "message": "string",
- "log_no": "string",
- "log_msg_no": 0,
- "message_v1": "string",
- "message_v2": "string",
- "message_v3": "string",
- "message_v4": "string",
- "parameter": "string",
- "row": 0,
- "field": "string",
- "system": "string"
}, - "return_warranty": {
- "msgty": "string",
- "msgid": "string",
- "msgno": "string",
- "msgv1": "string",
- "msgv2": "string",
- "msgv3": "string",
- "msgv4": "string",
- "msg_index": 0,
- "fieldname": "string"
}, - "return": {
- "type": "string",
- "id": "string",
- "number": 0,
- "message": "string",
- "log_no": "string",
- "log_msg_no": 0,
- "message_v1": "string",
- "message_v2": "string",
- "message_v3": "string",
- "message_v4": "string",
- "parameter": "string",
- "row": 0,
- "field": "string",
- "system": "string"
}, - "data_general": {
- "authgrp": "string",
- "objecttype": "string",
- "inventory": "string",
- "obj_size": "string",
- "obj_weight": "string",
- "unit_of_wt": "string",
- "unit_iso": "string",
- "acqdate": "string",
- "acquisval": "string",
- "currency": "string",
- "currIso": "string",
- "manfacture": "string",
- "mancountry": "string",
- "countr_iso": "string",
- "manserno": "string",
- "manmodel": "string",
- "constyear": "string",
- "constmonth": "string",
- "start_from": "string",
- "planplant": "string",
- "consttype": "string",
- "manparno": "string",
- "plangroup": "string",
- "catprofile": "string",
- "work_ctr": "string",
- "descript": "string",
- "abcindic": "string",
- "sortfield": "string",
- "maintplant": "string",
- "maintloc": "string",
- "maintroom": "string",
- "plsectn": "string",
- "pp_wkctr": "string",
- "bus_area": "string",
- "costcenter": "string",
- "wbs_elem": "string",
- "comp_code": "string",
- "asset_no": "string",
- "sub_number": "string",
- "standorder": "string",
- "settlorder": "string",
- "sales_org": "string",
- "distr_chan": "string",
- "division": "string",
- "sales_off": "string",
- "sales_grp": "string",
- "read_crdat": "string",
- "read_crnam": "string",
- "read_chdat": "string",
- "read_chnam": "string",
- "read_adrnr": "string",
- "consttype_external": "string",
- "consttype_guid": "string",
- "consttype_version": "string",
- "read_objnr": "string",
- "shift_report_type": "string",
- "shift_note_notification_type": "string",
- "start_point": "string",
- "end_point": "string",
- "linear_length": "string",
- "linear_unit": "string",
- "first_offset_type_code": "string",
- "first_offset_value": "string",
- "first_offset_unit": "string",
- "second_offset_type_code": "string",
- "second_offset_value": "string",
- "second_offset_unit": "string",
- "second_offset_unit_iso": "string",
- "linear_unit_iso": "string",
- "first_offset_unit_iso": "string",
- "linear_reference_pattern": "string",
- "marker_start_point": "string",
- "marker_distance_start_point": "string",
- "marker_end_point": "string",
- "marker_distance_end_point": "string",
- "marker_distance_unit": "string",
- "marker_distance_unit_iso": "string",
- "consttype_long": "string",
- "end_to": "string"
}, - "data_fleet": {
- "fleet_num": "string",
- "fleet_vin": "string",
- "chassis_num": "string",
- "license_num": "string",
- "expiry_date": "string",
- "fleet_hgt": "string",
- "fleet_wid": "string",
- "fleet_len": "string",
- "dim_unit": "string",
- "dim_unit_iso": "string",
- "pri_calc": "string",
- "repla_date": "string",
- "repla_odom": "string",
- "repla_oph": "string",
- "num_axle": "string",
- "max_occupants": "string",
- "card_num": "string",
- "key_num": "string",
- "fleet_use": "string",
- "engine_type": "string",
- "engine_power": "string",
- "unit_power": "string",
- "unit_power_iso": "string",
- "revolutions": "string",
- "engine_cyl": "string",
- "engine_cap": "string",
- "unit_cap": "string",
- "unit_cap_iso": "string",
- "engine_snr": "string",
- "fuel_pri": "string",
- "fuel_sec": "string",
- "oil_type": "string",
- "gross_wgt": "string",
- "load_wgt": "string",
- "wgt_unit": "string",
- "wgt_unit_iso": "string",
- "load_hgt": "string",
- "load_wid": "string",
- "load_len": "string",
- "load_dim_unit": "string",
- "load_dim_unit_iso": "string",
- "load_vol": "string",
- "vol_unit": "string",
- "vol_unit_iso": "string",
- "no_compart": "string",
- "speed_max": "string",
- "speed_unit": "string",
- "speed_unit_iso": "string",
- "consump_tol": "string",
- "consump_move": "string"
}, - "data_specific": {
- "configmat": "string",
- "material": "string",
- "serialno": "string",
- "equicatgry": "string",
- "batch": "string",
- "mandrawno": "string",
- "delivdate": "string",
- "free_date1": "string",
- "free_note1": "string",
- "free_num1": "string",
- "techid": "string",
- "license": "string",
- "free_date2": "string",
- "free_note2": "string",
- "free_num2": "string",
- "read_cuobj": "string",
- "read_curef": true,
- "read_supeq": "string",
- "read_floc": "string",
- "inst_pos": "string",
- "configmat_external": "string",
- "configmat_guid": "string",
- "configmat_version": "string",
- "material_external": "string",
- "material_guid": "string",
- "material_version": "string",
- "config_controlInd": "string",
- "ippe_guid": "string",
- "techs": "string",
- "func_id": "string",
- "uii": "string",
- "iuid_type": "string",
- "uii_plant": "string",
- "read_maintenance_plan": "string",
- "read_measuring_point": "string",
- "read_valid_from": "string",
- "configmat_long": "string",
- "material_long": "string"
}
}
Change equipment - special intended usage for machine-to-machine integration. Fields are kept in their raw form, and mirror the data model in SAP.
equipment-id required | string <= 18 characters Equipment number |
Change equipment - raw SAP BAPI data input.
valid_time | string |
valid_date | string |
object (data_general) | |
object (data_generalx) | |
object (data_specificx) | |
object (data_fleetx) | |
object (data_fleet) | |
object (data_custom) | |
object (data_specific) | |
object (data_customx) |
{- "data_specificx": {
- "equipment": "",
- "configmat": "",
- "material": "",
- "serialno": "",
- "equicatgry": "",
- "batch": "",
- "mandrawno": "",
- "delivdate": "",
- "free_date1": "",
- "free_note1": "",
- "free_num1": "",
- "techid": "",
- "license": "",
- "free_date2": "",
- "free_note2": "",
- "free_num2": "",
- "read_cuobj": "",
- "read_curef": "",
- "read_supeq": "",
- "read_floc": "",
- "inst_pos": "",
- "configmat_external": "",
- "configmat_guid": "",
- "configmat_version": "",
- "material_external": "",
- "material_guid": "",
- "material_version": "",
- "ippe_guid": "",
- "techs": "",
- "func_id": "",
- "uii": "",
- "iuid_type": "",
- "uii_plant": "",
- "read_maintenance_plan": "",
- "read_measuring_point": "",
- "read_valid_from": "",
- "configmat_long": "",
- "material_long": ""
}, - "data_fleetx": {
- "fleet_num": "",
- "fleet_vin": "",
- "chassis_num": "",
- "license_num": "",
- "expiry_date": "",
- "fleet_hgt": "",
- "fleet_wid": "",
- "fleet_len": "",
- "dim_unit": "",
- "dim_unit_iso": "",
- "pri_calc": "",
- "repla_date": "",
- "repla_odom": "",
- "repla_oph": "",
- "num_axle": "",
- "max_occupants": "",
- "card_num": "",
- "key_num": "",
- "fleet_use": "",
- "engine_type": "",
- "engine_power": "",
- "unit_power": "",
- "unit_power_iso": "",
- "revolutions": "",
- "engine_cyl": "",
- "engine_cap": "",
- "unit_cap": "",
- "unit_cap_iso": "",
- "engine_snr": "",
- "fuel_pri": "",
- "fuel_sec": "",
- "oil_type": "",
- "gross_wgt": "",
- "load_wgt": "",
- "wgt_unit": "",
- "wgt_unit_iso": "",
- "load_hgt": "",
- "load_wid": "",
- "load_len": "",
- "load_dim_unit": "",
- "load_dim_unit_iso": "",
- "load_vol": "",
- "vol_unit": "",
- "vol_unit_iso": "",
- "no_compart": "",
- "speed_max": "",
- "speed_unit": "",
- "speed_unit_iso": "",
- "consump_tol": "",
- "consump_move": ""
}, - "data_fleet": {
- "fleet_num": "",
- "fleet_vin": "",
- "chassis_num": "",
- "license_num": "",
- "expiry_date": "2024-01-01",
- "fleet_hgt": "0.000",
- "fleet_wid": "0.000",
- "fleet_len": "0.000",
- "dim_unit": "",
- "dim_unit_iso": "",
- "pri_calc": "",
- "repla_date": "2024-01-01",
- "repla_odom": "",
- "repla_oph": "",
- "num_axle": "00",
- "max_occupants": "0000",
- "card_num": "",
- "key_num": "",
- "fleet_use": "",
- "engine_type": "",
- "engine_power": "0.000",
- "unit_power": "",
- "unit_power_iso": "",
- "revolutions": "0000000",
- "engine_cyl": "00",
- "engine_cap": "0.000",
- "unit_cap": "",
- "unit_cap_iso": "",
- "engine_snr": "",
- "fuel_pri": "",
- "fuel_sec": "",
- "oil_type": "",
- "gross_wgt": "0.000",
- "load_wgt": "0.000",
- "wgt_unit": "",
- "wgt_unit_iso": "",
- "load_hgt": "0.000",
- "load_wid": "0.000",
- "load_len": "0.000",
- "load_dim_unit": "",
- "load_dim_unit_iso": "",
- "load_vol": "0.000",
- "vol_unit": "",
- "vol_unit_iso": "",
- "no_compart": "00",
- "speed_max": "0.000",
- "speed_unit": "",
- "speed_unit_iso": "",
- "consump_tol": "",
- "consump_move": ""
}, - "data_custom": {
- "manuf_partno": "",
- "warranty": {
- "startdate": "2024-01-01",
- "enddate": "2024-01-01"
}
}, - "data_specific": {
- "configmat": "",
- "material": "",
- "serialno": "",
- "equicatgry": "",
- "batch": "",
- "mandrawno": "",
- "delivdate": "2024-01-01",
- "free_date1": "2024-01-01",
- "free_note1": "",
- "free_num1": "000000000",
- "techid": "",
- "license": "",
- "free_date2": "2024-01-01",
- "free_note2": "",
- "free_num2": "000000000",
- "read_cuobj": "000000000000000000",
- "read_curef": false,
- "read_supeq": "",
- "read_floc": "",
- "inst_pos": "",
- "configmat_external": "",
- "configmat_guid": "",
- "configmat_version": "",
- "material_external": "",
- "material_guid": "",
- "material_version": "",
- "config_controlInd": "",
- "ippe_guid": "00000000-0000-0000-0000-000000000000",
- "techs": "",
- "func_id": "",
- "uii": "",
- "iuid_type": "",
- "uii_plant": "",
- "read_maintenance_plan": "",
- "read_measuring_point": "",
- "read_valid_from": "2024-01-01",
- "configmat_long": "",
- "material_long": ""
}, - "data_customx": {
- "manuf_partno": "",
- "warranty": ""
}, - "data_general": {
- "authgrp": "",
- "objecttype": "",
- "inventory": "",
- "obj_size": "",
- "obj_weight": "0.000",
- "unit_of_wt": "",
- "unit_iso": "",
- "acqdate": "2024-01-01",
- "acquisval": "0.00",
- "currency": "",
- "curr_iso": "",
- "manfacture": "",
- "mancountry": "",
- "countr_iso": "",
- "manserno": "",
- "manmodel": "",
- "constyear": "",
- "constmonth": "",
- "start_from": "2024-01-01",
- "planplant": "",
- "consttype": "",
- "manparno": "",
- "plangroup": "",
- "catprofile": "",
- "work_ctr": "00000000",
- "descript": "",
- "abcindic": "",
- "sortfield": "",
- "maintplant": "",
- "maintloc": "",
- "maintroom": "",
- "plsectn": "",
- "pp_wkctr": "00000000",
- "bus_area": "",
- "costcenter": "",
- "wbs_elem": "000000000000000000000000",
- "comp_code": "",
- "asset_no": "",
- "sub_number": "",
- "standorder": "",
- "settlorder": "",
- "sales_org": "",
- "distr_chan": "",
- "division": "",
- "sales_off": "",
- "sales_grp": "",
- "read_crdat": "2024-01-01",
- "read_crnam": "",
- "read_chdat": "2024-01-01",
- "read_chnam": "",
- "read_adrnr": "",
- "consttype_external": "",
- "consttype_guid": "",
- "consttype_version": "",
- "read_objnr": "",
- "shift_report_type": "",
- "shift_note_notification_type": "",
- "start_point": "",
- "end_point": "",
- "linear_length": "",
- "linear_unit": "",
- "first_offset_type_code": "",
- "first_offset_value": "",
- "first_offset_unit": "",
- "second_offset_type_code": "",
- "second_offset_value": "",
- "second_offset_unit": "",
- "second_offset_unit_iso": "",
- "linear_unit_iso": "",
- "first_offset_unit_iso": "",
- "linear_reference_pattern": "",
- "marker_start_point": "",
- "marker_distance_start_point": "",
- "marker_end_point": "",
- "marker_distance_end_point": "",
- "marker_distance_unit": "",
- "marker_distance_unit_iso": "",
- "consttype_long": "",
- "end_to": "2024-01-01"
}, - "valid_date": "2024-01-01",
- "valid_time": "PT00H00M00S"
}
{- "return_text": "string",
- "return_commit": {
- "type": "string",
- "id": "string",
- "number": 0,
- "message": "string",
- "log_no": "string",
- "log_msg_no": 0,
- "message_v1": "string",
- "message_v2": "string",
- "message_v3": "string",
- "message_v4": "string",
- "parameter": "string",
- "row": 0,
- "field": "string",
- "system": "string"
}, - "return_warranty": {
- "msgty": "string",
- "msgid": "string",
- "msgno": "string",
- "msgv1": "string",
- "msgv2": "string",
- "msgv3": "string",
- "msgv4": "string",
- "msg_index": 0,
- "fieldname": "string"
}, - "return": {
- "type": "string",
- "id": "string",
- "number": 0,
- "message": "string",
- "log_no": "string",
- "log_msg_no": 0,
- "message_v1": "string",
- "message_v2": "string",
- "message_v3": "string",
- "message_v4": "string",
- "parameter": "string",
- "row": 0,
- "field": "string",
- "system": "string"
}, - "data_general": {
- "authgrp": "string",
- "objecttype": "string",
- "inventory": "string",
- "obj_size": "string",
- "obj_weight": "string",
- "unit_of_wt": "string",
- "unit_iso": "string",
- "acqdate": "string",
- "acquisval": "string",
- "currency": "string",
- "currIso": "string",
- "manfacture": "string",
- "mancountry": "string",
- "countr_iso": "string",
- "manserno": "string",
- "manmodel": "string",
- "constyear": "string",
- "constmonth": "string",
- "start_from": "string",
- "planplant": "string",
- "consttype": "string",
- "manparno": "string",
- "plangroup": "string",
- "catprofile": "string",
- "work_ctr": "string",
- "descript": "string",
- "abcindic": "string",
- "sortfield": "string",
- "maintplant": "string",
- "maintloc": "string",
- "maintroom": "string",
- "plsectn": "string",
- "pp_wkctr": "string",
- "bus_area": "string",
- "costcenter": "string",
- "wbs_elem": "string",
- "comp_code": "string",
- "asset_no": "string",
- "sub_number": "string",
- "standorder": "string",
- "settlorder": "string",
- "sales_org": "string",
- "distr_chan": "string",
- "division": "string",
- "sales_off": "string",
- "sales_grp": "string",
- "read_crdat": "string",
- "read_crnam": "string",
- "read_chdat": "string",
- "read_chnam": "string",
- "read_adrnr": "string",
- "consttype_external": "string",
- "consttype_guid": "string",
- "consttype_version": "string",
- "read_objnr": "string",
- "shift_report_type": "string",
- "shift_note_notification_type": "string",
- "start_point": "string",
- "end_point": "string",
- "linear_length": "string",
- "linear_unit": "string",
- "first_offset_type_code": "string",
- "first_offset_value": "string",
- "first_offset_unit": "string",
- "second_offset_type_code": "string",
- "second_offset_value": "string",
- "second_offset_unit": "string",
- "second_offset_unit_iso": "string",
- "linear_unit_iso": "string",
- "first_offset_unit_iso": "string",
- "linear_reference_pattern": "string",
- "marker_start_point": "string",
- "marker_distance_start_point": "string",
- "marker_end_point": "string",
- "marker_distance_end_point": "string",
- "marker_distance_unit": "string",
- "marker_distance_unit_iso": "string",
- "consttype_long": "string",
- "end_to": "string"
}, - "data_fleet": {
- "fleet_num": "string",
- "fleet_vin": "string",
- "chassis_num": "string",
- "license_num": "string",
- "expiry_date": "string",
- "fleet_hgt": "string",
- "fleet_wid": "string",
- "fleet_len": "string",
- "dim_unit": "string",
- "dim_unit_iso": "string",
- "pri_calc": "string",
- "repla_date": "string",
- "repla_odom": "string",
- "repla_oph": "string",
- "num_axle": "string",
- "max_occupants": "string",
- "card_num": "string",
- "key_num": "string",
- "fleet_use": "string",
- "engine_type": "string",
- "engine_power": "string",
- "unit_power": "string",
- "unit_power_iso": "string",
- "revolutions": "string",
- "engine_cyl": "string",
- "engine_cap": "string",
- "unit_cap": "string",
- "unit_cap_iso": "string",
- "engine_snr": "string",
- "fuel_pri": "string",
- "fuel_sec": "string",
- "oil_type": "string",
- "gross_wgt": "string",
- "load_wgt": "string",
- "wgt_unit": "string",
- "wgt_unit_iso": "string",
- "load_hgt": "string",
- "load_wid": "string",
- "load_len": "string",
- "load_dim_unit": "string",
- "load_dim_unit_iso": "string",
- "load_vol": "string",
- "vol_unit": "string",
- "vol_unit_iso": "string",
- "no_compart": "string",
- "speed_max": "string",
- "speed_unit": "string",
- "speed_unit_iso": "string",
- "consump_tol": "string",
- "consump_move": "string"
}, - "data_specific": {
- "configmat": "string",
- "material": "string",
- "serialno": "string",
- "equicatgry": "string",
- "batch": "string",
- "mandrawno": "string",
- "delivdate": "string",
- "free_date1": "string",
- "free_note1": "string",
- "free_num1": "string",
- "techid": "string",
- "license": "string",
- "free_date2": "string",
- "free_note2": "string",
- "free_num2": "string",
- "read_cuobj": "string",
- "read_curef": true,
- "read_supeq": "string",
- "read_floc": "string",
- "inst_pos": "string",
- "configmat_external": "string",
- "configmat_guid": "string",
- "configmat_version": "string",
- "material_external": "string",
- "material_guid": "string",
- "material_version": "string",
- "config_controlInd": "string",
- "ippe_guid": "string",
- "techs": "string",
- "func_id": "string",
- "uii": "string",
- "iuid_type": "string",
- "uii_plant": "string",
- "read_maintenance_plan": "string",
- "read_measuring_point": "string",
- "read_valid_from": "string",
- "configmat_long": "string",
- "material_long": "string"
}
}
Documents are an important part of the operation & maintenance process. They may be connected to master data such as Tag and Equipment or to transactional data such as maintenance records.
Search documents and include related information such as characteristics, materials, equipment and attachments.
The client must in the request provide at least one of the following search parameters:
document-type-any-of
document-number-any-of
characteristic-value-any-of
N.B The link in the attachment object is in the first iteration always routed via the equipment attachment endpoint.
In a future release we will implement a general endpoint documents/attachment/{attachment-id}
for downloading attachments which will be displayed here.
Added include-inventory-count
query parameter to include equipmentInventoryCount
and materialInventoryCount
property in the response.
Added support for including more business objects: include-tags
, include-measuring-points
and include-maintenance-records
.
Added include-url-references
query parameter to include URL references in the response.
Added properties statusId
and statusText
to the response.
Added properties partNumber
& manufacturer
to material
in the response.
Added new fields maintenancePlantId
, equipmentCategoryId
, maintenanceConceptId
, createdOnDate
and changedOnDate
for equipment
.
document-type-any-of | Array of strings Example: document-type-any-of=A01 Search based on |
document-number-any-of | Array of strings Example: document-number-any-of=10004099768 Search based on |
characteristic-value-any-of | string Example: characteristic-value-any-of=%3D33814%2F12073 Search based on characteristic values. Must be used in combination with |
characteristic-id | string or null Example: characteristic-id=L_E3DREF Required field if |
class-id | string or null Example: class-id=L_PART Required field if |
include-characteristics | boolean Default: false Include characteristics' |
include-material | boolean Default: false Include material related to the object |
include-equipment | boolean Default: false Include equipment related to the object |
include-tags | boolean Default: false Include tags. |
include-maintenance-records | boolean Default: false Include maintenance records. If include-maintenance-record-types is not supplied, all supported types are returned |
include-measuring-points | boolean Default: false Include measuring points for this tag |
include-attachments | boolean Default: false Include equipment or tag attachments |
include-inventory-count | boolean Default: false Include inventory count for the document to include |
include-url-references | boolean Default: false Include URL references for object |
per-page | integer Default: 50 Results to return pr page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/documents?document-type-any-of=SOME_ARRAY_VALUE&document-number-any-of=SOME_ARRAY_VALUE&characteristic-value-any-of=SOME_STRING_VALUE&characteristic-id=SOME_STRING_VALUE&class-id=SOME_STRING_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-material=SOME_BOOLEAN_VALUE&include-equipment=SOME_BOOLEAN_VALUE&include-tags=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-inventory-count=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
], - "equipment": [
- {
- "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "equipmentCategoryId": "M",
- "maintenanceConceptId": "TI0740",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
], - "material": [
- {
- "materialId": "169170",
- "material": "HEATER,EL,427997,BAC.THU.,IN14 1.0kW230V",
- "partNumber": "427997",
- "manufacturer": "BAC"
}
], - "tags": [
- {
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "measuringPoints": [
- {
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "maintenanceRecords": [
- {
- "modificationProposals": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}
], - "activityReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}
}
], - "technicalClarifications": [
- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}
}
]
}
], - "attachments": [
- {
- "attachmentId": "DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0",
- "fileName": "tag_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Tag location,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/documents/18264337-A01-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "equipmentInventoryCount": 1,
- "materialInventoryCount": 1,
- "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "documentId": "10004099768-A01-000-00",
- "documentTitle": "This is a Title",
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00",
- "documentCreatedDate": "2024-02-23",
- "statusId": "CA",
- "statusText": "Cancelled"
}
]
Create a new document.
This document will not be linked to any business object, but can be linked afterwards by calling POST /document-relationships/{relationship-type}/{source-id}
.
Note: Documents of type 'B30' may only be created with one of the following statusId
s:
CV
(Current Version)WO
(Working)CA
(Cancelled)Added property statusId
to the request body schema to allow setting the status of a document during its creation.
Added properties statusId
and statusText
to the response.
Document to create
documentTitle required | string Document title providing additional information |
documentType required | string <= 3 characters Internal type id of the document |
documentPart | string <= 3 characters Section of a document which is maintained as an independent document |
documentVersion | string <= 3 characters Identifies the version of the document |
documentNumber | string <= 25 characters Internal document number |
statusId | string = 2 characters Id of the Document status |
{- "documentTitle": "This is a document",
- "documentType": "B30"
}
{- "documentId": "10004099768-A01-000-00",
- "documentTitle": "This is a Title",
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00",
- "documentCreatedDate": "2024-02-23",
- "statusId": "CA",
- "statusText": "Cancelled"
}
Lookup document by id. Use the different include parameters to include additional information about the document. POST document-relationships/{relationship-type}/{source-id} can be used to link the document to a business object.
N.B The link in the attachment object is in the first iteration always routed via the equipment attachment endpoint.
In a future release we will implement a general endpoint documents/attachment/{attachment-id}
for downloading attachments which will be displayed here.
Added include-inventory-count
query parameter to include equipmentInventoryCount
and materialInventoryCount
property in the response.
Added support for including more business objects: include-tags
, include-measuring-points
and include-maintenance-records
.
Added include-url-references
query parameter to include URL references in the response.
Added changedDateTime
for attachments.
Added properties statusId
and statusText
to the response.
Added properties partNumber
& manufacturer
to material
in the response.
Added new fields maintenancePlantId
, equipmentCategoryId
, maintenanceConceptId
, createdOnDate
and changedOnDate
for equipment
.
document-id required | string Example: 10004099768-A01-000-00 Unique id for the document to be used against endpoints for the |
include-characteristics | boolean Default: false Include characteristics' |
include-material | boolean Default: false Include material related to the object |
include-equipment | boolean Default: false Include equipment related to the object |
include-tags | boolean Default: false Include tags. |
include-maintenance-records | boolean Default: false Include maintenance records. If include-maintenance-record-types is not supplied, all supported types are returned |
include-measuring-points | boolean Default: false Include measuring points for this tag |
include-attachments | boolean Default: false Include equipment or tag attachments |
include-inventory-count | boolean Default: false Include inventory count for the document to include |
include-url-references | boolean Default: false Include URL references for object |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/documents/10004099768-A01-000-00?include-characteristics=SOME_BOOLEAN_VALUE&include-material=SOME_BOOLEAN_VALUE&include-equipment=SOME_BOOLEAN_VALUE&include-tags=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-inventory-count=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
], - "equipment": [
- {
- "manufacturer": "Siemens",
- "modelNumber": "7397568",
- "serialNumber": "4500695422-20-003",
- "partNumber": "10219863",
- "parentEquipmentId": "11963913",
- "quantityUnitId": "PC",
- "isInService": true,
- "plantId": "1915",
- "ABCId": "3",
- "ABC": "Crit.=H & Red.=A",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-253",
- "warrantyStartDate": "2019-08-24",
- "warrantyEndDate": "2019-08-24",
- "sortField": "TROLL 01.2017 – 12.2020",
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "plannerGroupId": "PL4",
- "plannerGroup": "WOS support Equip",
- "manufacturerPartNumber": "PART-123-345",
- "technicalIdentificationNumber": "D3-0001560",
- "objectWeight": "100.00",
- "unitOfWeight": "KG",
- "maintenancePlantId": "1100",
- "equipmentCategoryId": "M",
- "maintenanceConceptId": "TI0740",
- "createdOnDate": "24-10-2024",
- "changedOnDate": "25-10-2024",
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "materialId": "854586"
}
], - "material": [
- {
- "materialId": "169170",
- "material": "HEATER,EL,427997,BAC.THU.,IN14 1.0kW230V",
- "partNumber": "427997",
- "manufacturer": "BAC"
}
], - "tags": [
- {
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "measuringPoints": [
- {
- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "maintenanceRecords": [
- {
- "modificationProposals": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}
], - "activityReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}
}
], - "technicalClarifications": [
- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}
}
]
}
], - "attachments": [
- {
- "attachmentId": "DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0",
- "fileName": "tag_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Tag location,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/documents/18264337-A01-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "equipmentInventoryCount": 1,
- "materialInventoryCount": 1,
- "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "documentId": "10004099768-A01-000-00",
- "documentTitle": "This is a Title",
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00",
- "documentCreatedDate": "2024-02-23",
- "statusId": "CA",
- "statusText": "Cancelled"
}
Update a Document.
Supports updating the following properties:
statusId
document-id required | string Example: 10004099768-A01-000-00 Unique id of the document that will be updated |
The information to be updated
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/statusId" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/statusId",
- "value": "WO"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add new relationships between a single document and one or more business objects.
Example url: /documents/10004099768-A01-000-00?api-version=v1
This endpoint returns no response data.
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
Business objects to add a relationship to from the specified documentId
sourceId required | string Reference to the specific element the relationship will be
defined for. The specific format for this value will depend on the
|
relationshipType required | string Enum: "tags" "equipment" "measuring-points" "maintenance-records" "materials" The type of business object for the specified |
[- {
- "sourceId": "1100-AE5566",
- "relationshipType": "tags"
}, - {
- "sourceId": "11948620",
- "relationshipType": "equipment"
}, - {
- "sourceId": "14626974",
- "relationshipType": "measuring-points"
}, - {
- "sourceId": "45939208",
- "relationshipType": "maintenance-records"
}, - {
- "sourceId": "741466",
- "relationshipType": "materials"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add a URL reference to a document.
URL references are stored in the Document Management System (DMS).
The following characteristicId can be used:
DISCIPLINE_B30
ADDITIONAL_REFERENCE_B30
DATE_OF_DOCUMENT_B30
(Date of photo/report)Existing URL references are available through the lookup endpoints for documents. Examples: GET /documents/{document-id}?include-url-references=true&api-version=v1
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
Define URL reference to add
url required | string <= 255 characters URL for the reference |
title | string <= 40 characters Default: "IOC annotations" Title describing the URL reference |
Array of objects (CharacteristicsItem) Characteristics containing additional metadata |
{- "title": "IOC annotation"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Remove a URL reference from an existing Document.
Existing URL references can be found through the lookup endpoints for documents. Example: GET /documents/{document-id}?include-url-references=true&api-version=v1
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
url-reference-id required | string Id of the URL reference |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/documents/%7Bdocument-id%7D/url-references/%7Burl-reference-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Get relationship between a business object and documents.
Example urls:
/document-relationships/tags/1100-AE5566?api-version=v1
/document-relationships/equipment/11948620?api-version=v1
/document-relationships/measuring-points/14626974?api-version=v1
/document-relationships/maintenance-records/45939208?api-version=v1
/document-relationships/materials/741466?api-version=v1
Added support for business objects: Equipment, Measuring points and Maintenance records.
Added include-characteristics
and include-attachments
.
Added property documentTitle
to the response.
Added property documentCreatedDate
to the response.
Added possibility to search by document relationship to material.
Added changedDateTime
for attachments.
relationship-type required | string Enum: "tags" "equipment" "measuring-points" "maintenance-records" "materials" Type of business object to replace relationships to documents for |
source-id required | string Example: 1100-AE5566 Reference to the specific element the relationship will be
defined for. The specific format for this value will depend on the
|
include-characteristics | boolean Default: false Include characteristics' |
include-attachments | boolean Default: false Include equipment or tag attachments |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/document-relationships/%7Brelationship-type%7D/%7Bsource-id%7D?include-characteristics=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "documentId": "10004099768-A01-000-00",
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00",
- "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
], - "documentTitle": "Tag location,XA+XBRT+CM+Test M",
- "documentCreatedDate": "2024-02-23"
}
]
Add new relationships between a single business object and one or more documents.
The documents specified in the the request must contain one of:
documentId
documentNumber
, documentType
, documentPart
, documentVersion
documentNumber
, documentType
Example urls:
/document-relationships/tags/1100-AE5566?api-version=v1
/document-relationships/equipment/11948620?api-version=v1
/document-relationships/measuring-points/14626974?api-version=v1
/document-relationships/maintenance-records/45939208?api-version=v1
/document-relationships/materials/741466?api-version=v1
This endpoint returns no response data.
Added support for business objects: Equipment, Measuring points and Maintenance records.
Added possibility to create document relationship to material.
relationship-type required | string Enum: "tags" "equipment" "measuring-points" "maintenance-records" "materials" Type of business object to replace relationships to documents for |
source-id required | string Example: 1100-AE5566 Reference to the specific element the relationship will be
defined for. The specific format for this value will depend on the
|
Documents to add a relationship to from the sourceId
documentId | string Unique id for the document to be used against endpoints for the |
documentNumber | string <= 25 characters Internal document number |
documentType | string <= 3 characters Internal type id of the document |
documentPart | string or null <= 3 characters Section of a document which is maintained as an independent document |
documentVersion | string or null <= 3 characters Identifies the version of the document |
[- {
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00"
}, - {
- "documentNumber": "10003430212",
- "documentType": "A01"
}, - {
- "documentId": "10004099768-A01-000-00"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Replace existing relationship between a business object and documents.
The documents specified in the the request must contain one of:
documentId
documentNumber
, documentType
, documentPart
, documentVersion
documentNumber
, documentType
Example urls:
/document-relationships/tags/1100-AE5566?api-version=v1
/document-relationships/equipment/11948620?api-version=v1
/document-relationships/measuring-points/14626974?api-version=v1
/document-relationships/maintenance-records/45939208?api-version=v1
/document-relationships/materials/741466?api-version=v1
This endpoint returns no response data.
NOTE: Take special care when using this endpoint. The PUT operation will remove any document relationships from the source-id
(for example tags) which are not present in the request body. Normally, the corresponding POST operation should be used as it only adds new relationships and never removes existing ones.
Added support for business objects: Equipment, Measuring points and Maintenance records.
Added possibility to replace document relationship to material.
relationship-type required | string Enum: "tags" "equipment" "measuring-points" "maintenance-records" "materials" Type of business object to replace relationships to documents for |
source-id required | string Example: 1100-AE5566 Reference to the specific element the relationship will be
defined for. The specific format for this value will depend on the
|
Documents to replace a relationship to from the sourceId
documentId | string Unique id for the document to be used against endpoints for the |
documentNumber | string <= 25 characters Internal document number |
documentType | string <= 3 characters Internal type id of the document |
documentPart | string or null <= 3 characters Section of a document which is maintained as an independent document |
documentVersion | string or null <= 3 characters Identifies the version of the document |
[- {
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00"
}, - {
- "documentNumber": "10003430212",
- "documentType": "A01"
}, - {
- "documentId": "10004099768-A01-000-00"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Remove one or more relationships between a business object and documents.
The documents specified in the the request must contain one of:
documentId
documentNumber
, documentType
, documentPart
, documentVersion
documentNumber
, documentType
Example urls:
/document-relationships/tags/1100-AE5566?api-version=v1
/document-relationships/equipment/11948620?api-version=v1
/document-relationships/measuring-points/14626974?api-version=v1
/document-relationships/maintenance-records/45939208?api-version=v1
/document-relationships/materials/741466?api-version=v1
This endpoint returns no response data.
Added support for business objects: Equipment, Measuring points and Maintenance records.
Added possibility to delete document relationship to material.
relationship-type required | string Enum: "tags" "equipment" "measuring-points" "maintenance-records" "materials" Type of business object to replace relationships to documents for |
source-id required | string Example: 1100-AE5566 Reference to the specific element the relationship will be
defined for. The specific format for this value will depend on the
|
Documents to remove a relationship to from the sourceId
documentId | string Unique id for the document to be used against endpoints for the |
documentNumber | string <= 25 characters Internal document number |
documentType | string <= 3 characters Internal type id of the document |
documentPart | string or null <= 3 characters Section of a document which is maintained as an independent document |
documentVersion | string or null <= 3 characters Identifies the version of the document |
[- {
- "documentNumber": "10004099768",
- "documentType": "A01",
- "documentPart": "000",
- "documentVersion": "00"
}, - {
- "documentNumber": "10003430212",
- "documentType": "A01"
}, - {
- "documentId": "10004099768-A01-000-00"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add new characteristics to an existing document.
Characteristics are grouped into a class such as FL_MAINT_STRATEGY
. Classes can be assigned to a document and specific characteristics such as CRIT_PRODUCTION
will then be available for that specific document.
With this endpoint, the consumer can assign classes to a document and define initial values for some of the characteristics in the classes.
Note that if a given characteristic has already been added to this document, repeated adding will result in overwriting of the characteristic value.
If you want to update a characteristic the PATCH
endpoint can be used.
Use GET document-relationships/{relationship-type}/{source-id}
to view characteristics with value after using this endpoint.
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
Characteristics to add to the document.
classId required | string The class which contains the characteristics |
Array of objects (DocumentCharacteristicAdd) Specific characteristics in the class to define a value for |
[- {
- "classId": "DETAILS_B30",
- "characteristics": [
- {
- "characteristicId": "DISCIPLINE_B30",
- "valueId": "E"
}, - {
- "characteristicId": "DOCUMENT_TYPE_B30",
- "valueId": "PHO"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing values of characteristics on a document. If the characteristics does not exist, a 404 - Not Found
is returned.
Use GET document-relationships/{relationship-type}/{source-id}
to view characteristics with value after using this endpoint.
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
Characteristics to be updated, based on JsonPatch standard
required | Array of objects (CharacteristicsJsonPatch) |
characteristicId required | string |
classId required | string |
[- {
- "characteristicId": "CRIT_COST",
- "classId": "FL_MAINT_STRATEGY",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "H"
}
]
}, - {
- "characteristicId": "CRIT_CRITICALITY",
- "classId": "FL_MAINT_CONC",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "M"
}
]
}, - {
- "characteristicId": "M_DATE_LAST_MAINTENANCE",
- "classId": "SURFACE_MAINTENANC",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "2022-01-31"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Upload attachment to a B30 document.
Limitations of Attachment upload endpoints:
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
files | Array of strings <binary> [ 1 .. 5 ] items |
curl --request POST \ --url https://api-test.gateway.equinor.com/maintenance-api/documents/%7Bdocument-id%7D/attachments \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Download a single attachment from a specific document.
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/documents/%7Bdocument-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Remove an attachment from an existing DMS document linked to a maintenance record.
This endpoint returns no response data. Perform a lookup on the linked maintenance record to get updated information.
Currently, this endpoint only supports removing attachments from documents of type 'B30' & 'C05'.
Added support for removing attachments from documents of type 'C05'.
document-id required | string Example: 10004099768-A01-000-00 Can be found by sending a GET request to: |
attachment-id required | string |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/documents/%7Bdocument-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Lookup a single activity report. The activity report represents work performed for a maintenance activity against a tag or an equipment.
Added createdDateTime
for attachments.
Added 301
response.
Added isOpen
to lookup response.
Added query parameter include-url-references
.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
Added property documentTitle
to urlReferences
.
urlReferences
and attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added query parameter include-measurements
.
urlReferences
and attachments
now include the property documentCreatedDate
Added query parameters include-additional-metadata
and include-additional-data-characteristics
Added additionalMetadata
to response
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added isReadonlyText
property to activities
in the response.
Added changedDateTime
for attachments.
record-id required | string The recordId of the activity report. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-activities | boolean Default: false Include detailed information for activities |
include-attachments | boolean Default: false Include attachments |
include-created-by-details | boolean Default: false Include name and email of user represented in |
include-url-references | boolean Default: false Include URL references for activity report. See |
include-measurements | boolean Default: false Include related measurements |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/activity-reports/%7Brecord-id%7D?include-status-details=SOME_BOOLEAN_VALUE&include-activities=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceRecordTypeId": "activityReport",
- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "activities": [
- {
- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "isOpen": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
Update key fields of an activity report.
To avoid accidentally overwriting the multi-line text property, the endpoint will reject any requests with an empty text property.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added ability to append text with advanced formatting. See the heading Resource text in the description for more info.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current text.
record-id required | string The recordId of the activity report. |
Details on how to update the Activity Report
op required | string Enum: "replace" "append" "prepend" JSON Patch operation according to RFC6902 Operation
Operation
Operation
|
path required | string Enum: "/title" "/text" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/title",
- "value": "Material failure"
}
]
{- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "isOpen": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
Create new activity report
Equinor governing documents states that activity reports should be created at the lowest possible level in the tag hierachy.
Added workCenterId, workCenterPlantId to create endpoint.
Added activities to create endpoint.
Added relatedWorkOrder
to create endpoint. This will allow a relationship to be established on creation to either technical feedback or object list of a work order.
Added isOpen
to create endpoint. isOpen set to true enables creation of activity report in status OSNO - Outstanding Notification
. By default isOpen
is set to false, and activity report is created with NOCO - Notification Completed
status.
Added createdDateTime
to create endpoint.
Added support for creating activity report for technical feedback with PSD.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Removed requirement for providing reasonId
as part of the technicalFeedbackParameters
when source
is TechnicalFeedback
.
Activity report to create
title required | string |
text required | string or null |
tagId | string or null Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
workCenterId | string If workCenter is not provided, it will use default defined on tag/equipment |
workCenterPlantId | string If workCenter is not provided, it will use default defined on tag/equipment |
isOpen | boolean If isOpen is not provided, it will be set by default to false |
createdDateTime | string or null <date-time> Optional parameter used in special cases where the failure report was created at an earlier time. Should not be a date in the future |
Array of objects (MaintenanceRecordActivityCreate) Activities to add to the activity report on creation | |
object Defines a relationship to a specific part of a work order | |
object |
{- "tagId": "PX",
- "tagPlantId": "1100",
- "title": "Skiftet ventiler på bulk system",
- "isOpen": true,
- "text": "Skiftet 5 stk ventiler på bulk system sement og barytt da både vent og\nTrykkside var utvasket, testet alt OK.\n"
}
{- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "isOpen": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
Add additional metadata for an activity report. This related to additional failure modes and detection modes for an activity report and only used in rare cases.
The metadata-id available to update for a given activity report can be found by querying /maintenance-records/activity-reports/{record-id}?include-additional-metadata=true
record-id required | string The recordId of the activity report. |
Update to make for metadata
title | string <= 40 characters |
failureModeId | string |
failureModeGroupId | string |
detectionMethodId | string |
detectionMethodGroupId | string |
failureMechanismId | string |
failureMechanismGroupId | string |
[- {
- "title": "Material failure",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Update status of activity report.
The statuses available for the activity report can be found by querying /maintenance-records/activity-reports/{record-id}?include-status-details=true
.
The endpoints supports status activation such as:
The endpoints supports status deactivation such as:
If the activity report has a relationship to a Work Order, the status ORAS - Order assigned
will be set automatically on the activity report.
When the activity report is completed, the status NOCO - Notification completed
must be set.
Equinor's governing document GL1561 - Work orders and notifications types provides some additional information.
record-id required | string The recordId of the activity report. |
status-id required | string |
Activity report status to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Add new characteristics to an existing activity report metadata.
Characteristics are grouped into a class such as FL_MAINT_STRATEGY
.
With this endpoint, the consumer can assign classes metadata and define initial values for some of the characteristics in the classes.
Note that if a given characteristic has already been added to this metadata, repeated adding will result in overwriting of the characteristic value.
If you want to update a characteristic the PATCH
endpoint can be used.
Use /maintenance-records/activity-reports/{record-id}?include-additional-metadata=true&include-additional-data-characteristics=true&api-version=v1
to view characteristics with value after using this endpoint.
record-id required | string |
metadata-id required | string |
Characteristics to add to metadata.
classId required | string The class which contains the characteristics |
Array of objects (CharacteristicAdd) Specific characteristics in the class to define a value for |
[- {
- "classId": "SURFACE",
- "characteristics": [
- {
- "characteristicId": "PROTECTIVE_COATING_COND",
- "valueId": "1"
}, - {
- "characteristicId": "NUMBER_OF_DAMAGED_AREAS_PR_M2",
- "valueId": "2"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing values of characteristics on a activity report metadata. If the characteristics does not exist, a 404 - Not Found
is returned.
record-id required | string |
metadata-id required | string |
Characteristics to be updated, based on JsonPatch standard
required | Array of objects (CharacteristicsJsonPatch) |
characteristicId required | string |
classId required | string |
[- {
- "characteristicId": "CRIT_CRITICALITY",
- "classId": "FL_MAINT_STRATEGY",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "L"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add activities for activity report.
To find possible activityCodeGroupId and activityCodeId use the /maintenance-records/activity-codes?maintenance-record-id=...
.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string id of the activity report |
Activities to add to existing activity report
title required | string |
text | string |
activityCodeId | string |
activityCodeGroupId | string |
startDateTime | string <date-time> |
endDateTime | string <date-time> |
[- {
- "title": "Smøring av deler",
- "text": " Smør deler\n Stram bolter",
- "activityCodeId": "A50",
- "activityCodeGroupId": "PM-GENE1",
- "startDateTime": "2020-11-01T00:00:00Z",
- "endDateTime": "2020-11-14T00:00:00Z"
}, - {
- "title": "Rengjøring",
- "activityCodeId": "A40",
- "activityCodeGroupId": "PM-GENE1",
- "startDateTime": "2020-11-11T12:00:00Z",
- "endDateTime": "2020-11-11T16:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing activity for activity report
To find possible activityCodeGroupId and activityCodeId use the /maintenance-records/activity-codes?maintenance-record-id=...
.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string id of the activity report |
activity-id required | string id of the activity |
Activities to add to existing failure report
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/title" "/text" "/activityCodeId" "/activityCodeGroupId" "/startDateTime" "/endDateTime" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path
|
[- {
- "op": "replace",
- "path": "/title",
- "value": "Smøring av deler"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "Smør deler\\n Stram bolter"
}, - {
- "op": "replace",
- "path": "/activityCodeGroupId",
- "value": "PM-GENE1"
}, - {
- "op": "replace",
- "path": "/activityCodeId",
- "value": "A50"
}, - {
- "op": "replace",
- "path": "/startDateTime",
- "value": "2020-11-11T12:00:00Z"
}, - {
- "op": "replace",
- "path": "/endDateTime",
- "value": "2020-11-11T16:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Download single attachment for activity report
It's not possible to download attachments of type .txt which are stored in the GOS container of the ERP system.
Such requests will result in a HTTP 404 Not found
response.
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/activity-reports/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Upload attachment for activity report
Limitations of Attachment upload endpoints:
Added the optional parameter document-id
as a query parameter.
If document-id
is supplied, the attachment will be uploaded specifically to this document.
record-id required | string |
document-id | string or null Default: null Example: document-id=10004099768-A01-000-00 Can be found by sending a GET request to: |
files | Array of strings <binary> [ 1 .. 5 ] items |
curl --request POST \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/activity-reports/%7Brecord-id%7D/attachments?document-id=10004099768-A01-000-00' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Used when an equipment fault/degradation is detected or when there is need for work that is not related to equipment fault.
Lookup a single failure report
Added failureMechanismId,failureMechanismGroupId to additionalMetadata.
Added tasks for failure reports through query option include-tasks. Added properties plannerGroupId, plannerGroup and planningPlantId.
Added isOpen and completedDateTime.
Added hasUnsafeFailureMode and unsafeFailureModeStatus properties according to business process requirement R-12137 - Give immediate warning of unsafe failure modes
.
Added priorityId
to response.
Added workCenter
and equipment
to response. Fields include descriptions of workCenterId and equipmentId
Added createdDateTime
for attachments.
Added 301
response.
Added query parameter include-url-references
.
Added quantity
for tasks.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
Added property documentTitle
to urlReferences
.
urlReferences
and attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added query parameter include-measurements
.
Added query parameter include-additional-data-characteristics
.
Added property area
to tag details.
urlReferences
and attachments
now include the property documentCreatedDate
tagDetails
object now includes the new field maintenanceConceptId
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added properties codingGroupId
and codingId
.
Added isReadonlyText
property to activities
in the response.
Added changedDateTime
for attachments.
Added a query parameter include-task-list
and taskList
in the response. When a work order is created based on this notification, operations from the taskList
will be automatically copied into the work order.
Added taskResponsible
and taskResponsibleEmail
for tasks
in response when the new query parameter include-task-responsible-details
is set to true.
Added workOrderTypeId
and workOrderId
to the response. workOrderId
includes the id of work orders, not constrained to only showing corrective work orders.
correctiveWorkOrderId
has been corrected to only show the work order id if it is a corrective work order.
Added support for new work order type overheadMaintenanceWorkOrders
to workOrderTypeId
enum of allowed types.
record-id required | string The recordId of the failure report. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include details about tag for failure report |
include-activities | boolean Default: false Include detailed information for activities |
include-tasks | boolean Default: false Include detailed information for tasks |
include-attachments | boolean Default: false Include attachments |
include-additional-metadata | boolean Default: false Include extra metadata related to additional failure modes and detection modes. This is only used in rare cases |
include-additional-data-characteristics | boolean Default: false Include characteristics for additional metadata |
include-created-by-details | boolean Default: false Include name and email of user represented in |
include-url-references | boolean Default: false Include URL references for failure report. See |
include-measurements | boolean Default: false Include related measurements |
include-task-list | boolean Default: false Include task list with task list operations |
include-task-responsible-details | boolean Default: false Include task responsible details. Can have a slight performance impact. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/failure-reports/%7Brecord-id%7D?include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-activities=SOME_BOOLEAN_VALUE&include-tasks=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-additional-metadata=SOME_BOOLEAN_VALUE&include-additional-data-characteristics=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE&include-url-references=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-task-list=SOME_BOOLEAN_VALUE&include-task-responsible-details=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceRecordTypeId": "failureReport",
- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "activities": [
- {
- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
], - "tasks": [
- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5,
- "taskResponsible": "Tor-Ivar Branæs",
- "taskResponsibleEmail": "tbrana@equinor.com"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "urlReferences": [
- {
- "urlReferenceId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU",
- "title": "IOC annotations",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "A01",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16"
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "additionalMetadata": [
- {
- "metadataId": "2",
- "title": "NES additional info",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
]
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "taskList": [
- {
- "operations": [
- {
- "operationId": "0020",
- "subOperationId": "",
- "uniqueIndex": "505T100370070000000200000002",
- "title": "24M AUTOMASJON BR2151 - GLYCOL STILL REB",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "calculationKey": "CALC_KEY_MANUAL",
- "plannedWorkHours": "PT3H",
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "executionFactor": 1,
- "standardTextTemplate": "1100-GS",
- "systemCondition": "3",
- "activityTypeId": "X4"
}
], - "taskListId": "T-10012713-02",
- "taskList": "24/48M FV-MULTI TRAIN1 GLYCOL REBOILER",
- "taskListTypeId": "T",
- "planningPlantId": "1100",
- "statusId": "4",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
], - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "equipment": "Strainer at inlet Recirc Pmp",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "workCenterId": "PPMAUT",
- "workCenter": "AI Automasjon",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "11",
- "failureImpactId": "D",
- "failureImpact": "Unwell (InF)",
- "priorityId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "codingId": "NC",
- "codingGroupId": "PMMK",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "workOrderTypeId": "correctiveWorkOrder",
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z"
}
Update key fields of a failure report.
The following endpoints can be used to find possible values for input:
workCenterId
- /plants/{plant-id}?include-work-centersplannerGroupId
- /plants/{plant-id}?include-planner-groups=truelocationId
- /plants/{plant-id}?include-locations=truedetectionMethodId
, failureMechanismId
, failureModeId
- /plants/{plant-id}/tags/{tag-id}?include-catalog-profile-details=true or /equipment/{equipment-id}?include-catalog-profile-details=truecodingId
- /catalogs/{catalog-id}/code-groupsTo avoid accidentally overwriting the multi-line text property, the endpoint will reject any requests with an empty text property.
Added possibility to update plannerGroupId.
Added hasUnsafeFailureMode and unsafeFailureModeStatus properties to response according to business process requirement R-12137 - Give immediate warning of unsafe failure modes
.
Added priorityId
to response.
Added workCenter
and equipment
to response. Fields include descriptions of workCenterId and equipmentId
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added properties codingGroupId
and codingId
.
Deprecated update of the property failureImpactId
. See Deprecation for more information.
Added ability to append text with advanced formatting. See the heading Resource text in the description for more info.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current text.
Added workOrderTypeId
and workOrderId
to the response. workOrderId
includes the id of work orders, not constrained to only showing corrective work orders.
correctiveWorkOrderId
has been corrected to only show the work order id if it is a corrective work order.
Added support for new work order type overheadMaintenanceWorkOrders
to workOrderTypeId
enum of allowed types.
record-id required | string The recordId of the failure report. |
Details on how to update the Failure Report
op required | string Enum: "replace" "append" "prepend" JSON Patch operation according to RFC6902 Operation
Operation
Operation
|
path required | string Enum: "/tagId" "/tagPlantId" "/equipmentId" "/failureImpactId" "/failureModeId" "/failureModeGroupId" "/detectionMethodId" "/detectionMethodGroupId" "/failureMechanismId" "/failureMechanismGroupId" "/codingId" "/codingGroupId" "/workCenterId" "/workCenterPlantId" "/locationId" "/title" "/text" "/failureStartDateTime" "/failureEndDateTime" "/plannerGroupId" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/title",
- "value": "Material failure"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nMaterial tretthet..\n"
}
]
{- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "equipment": "Strainer at inlet Recirc Pmp",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "workCenterId": "PPMAUT",
- "workCenter": "AI Automasjon",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "11",
- "failureImpactId": "D",
- "failureImpact": "Unwell (InF)",
- "priorityId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "codingId": "NC",
- "codingGroupId": "PMMK",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "workOrderTypeId": "correctiveWorkOrder",
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z"
}
Update status of failure report.
The statuses available for the failure report can be found by querying /maintenance-records/failure-reports/{record-id}?include-status-details=true
.
When a failure report is created, it will have status CRTE - Created
and OSNO - Outstanding Notification
.
Technical responsible (Norwegian: Fagansvarlig) will be responsible for initial evaluation of the failure report.
As part of this, the statuses QAVE - Notification QA Verified
or RIDO - Risk Assessment Done
can be set.
The statuses REJE - Rejected, Not Needed
or CANC - Cancelled, Duplicate
can also be set at this stage. Clients should ensure text of failure report is updated with reasoning behind REJE/CANC
status through PATCH request to /maintenance-records/failure-reports/{record-id}
If the failure report fulfills the criteria for simplified maintenance, the status NOSI - Exec. as Simpl. Maint.
can be set.
When the failure report is ready to be approved and prioritized, the status NOPR - Notification in process
must be set.
When the failure report has been approved and prioritized, the status RIVE - Risk Assessment Verified
can be set. In addition, the failure report will be assigned to a corrective work order (either in ERP system or through POST request to /work-orders/corrective-work-orders
) and the status ORAS - Order assigned
will be set automatically on the failure report.
When the failure report is completed, the status NOCO - Notification completed
must be set. This will typically be set automatically for the failure report when the corrective work order is set to status TECO - Technical Complete
(either in ERP system or through PATCH request to /work-orders/corrective-work-orders/{work-order-id}/statuses/TECO
).
Setting the status EXTR - Date Extension Required
is not supported for this endpoint and will give a HTTP 400 response. Clients should use POST request against /maintenance-records/failure-reports/{record-id}/required-end-extensions
instead.
Setting the ORAS - Order assigned
is not supported for this endpoint and will give a HTTP 400 response.
Equinor's governing document GL1561 - Work orders and notifications types provides some additional information.
record-id required | string The recordId of the failure report. |
status-id required | string |
Failure report status to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Download single attachment for failure report
It's not possible to download attachments of type .txt which are stored in the GOS container of the ERP system.
Such requests will result in a HTTP 404 Not found
response.
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/failure-reports/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Upload attachment for failure report
Limitations of Attachment upload endpoints:
Added documentTitle
as input. If supplied, the title is added to all files that are sent
in the current request. If different titles are wanted for different files, they have to be sent in separately
(one file, one document title per request). When supplying a document-title, a new document will always be created for the attachment
Added ability to supply document-title
as a query parameter. If documentTitle is supplied both as form-data and query parameter, the query parameter
will take precedence. document-title
should be Uri encoded.
Added the optional parameter document-id
as a query parameter.
If document-id
is supplied, the attachment will be uploaded specifically to this document. document-title
and document-id
cannot be supplied together.
record-id required | string |
document-title | string or null Default: null Example: document-title=Document%20Title |
document-id | string or null Default: null Example: document-id=10004099768-A01-000-00 Can be found by sending a GET request to: |
files required | Array of strings <binary> [ 1 .. 5 ] items |
document-title | string or null Default: null |
curl --request POST \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/failure-reports/%7Brecord-id%7D/attachments?document-title=Document%2520Title&document-id=10004099768-A01-000-00' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for Failure reports through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include status details for each failure report. This can be found by performing a subsequent request to Lookup failure-reports.
Failure reports based on recent status activations for the failure reports. Parameters:
Find open Failure reports by plant Parameters:
Added open-by-plant filter and properties systemId and locationId.
Added properties hasUnsafeFailureMode and unsafeFailureModeStatus.
Added property work-center-ids
to filters recent-status-activations
and open-by-plant
Added property workCenterId
Added workOrderTypeId
and workOrderId
to the response. workOrderId
includes the id of work orders, not constrained to only showing corrective work orders.
correctiveWorkOrderId
has been corrected to only show the work order id if it is a corrective work order.
Added support for new work order type overheadMaintenanceWorkOrders
to workOrderTypeId
enum of allowed types.
filter required | string (SearchFailureReportsFilter) Enum: "recent-status-activations" "open-by-plant" Filter to limit the failure reports by |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
system-id | string System id to filter by |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
work-center-ids | Array of strings Comma separated list of work center IDs to filter by |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/failure-reports?filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&location-id=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&max-days-since-activation=SOME_INTEGER_VALUE&work-center-ids=SOME_ARRAY_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC",
- "workOrderTypeId": "correctiveWorkOrder",
- "workOrderId": "24871954"
}
]
Create new failure report.
The following endpoints can be used to find possible values for input:
workCenterId
- /plants/{plant-id}?include-work-centersplannerGroupId
- /plants/{plant-id}?include-planner-groups=truelocationId
- /plants/{plant-id}?include-locations=truedetectionMethodId
, failureMechanismId
, failureModeId
- /plants/{plant-id}/tags/{tag-id}?include-catalog-profile-details=true or /equipment/{equipment-id}?include-catalog-profile-details=truecodingId
- /catalogs/{catalog-id}/code-groupsEquinor governing documents states that failure reports should be created at the lowest possible level in the tag hierarchy.
It is possible to create failure report for either tagId or equipmentId.
If hasUnsafeFailureMode
is true after creation, operations supervisor must be contacted immediately in accordance with business process requirement R-12137 - Give immediate warning of unsafe failure modes
Added failureMechanismId,failureMechanismGroupId properties to additionalMetadata on creation.
Added hasUnsafeFailureMode and unsafeFailureModeStatus properties according to business process requirement R-12137 - Give immediate warning of unsafe failure modes
.
Added relatedWorkOrder
to create endpoint. This will allow a relationship to be established on creation to either technical feedback or object list of a work order.
Added externalPartnerId
.
Added priorityId
to response.
Added workCenter
and equipment
to response. Fields include descriptions of workCenterId and equipmentId
Implemented create with property equipmentId
.
Fixed issue with relatedWorkOrder
source
ObjectList
.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added properties codingGroupId
and codingId
.
Removed requirement for providing reasonId
as part of the technicalFeedbackParameters
when source
is TechnicalFeedback
.
Added workOrderTypeId
and workOrderId
to the response. workOrderId
includes the id of work orders, not constrained to only showing corrective work orders.
correctiveWorkOrderId
has been corrected to only show the work order id if it is a corrective work order.
Added support for overheadMaintenanceWorkOrders
.
Failure report to create
title required | string |
text required | string |
failureImpactId required | string or null (failureImpactId) Enum: "D" "S" "U" "X" FailureImpactId:
|
failureModeId required | string |
failureModeGroupId required | string |
detectionMethodId required | string |
detectionMethodGroupId required | string |
tagId | string Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
isBreakdown | boolean |
failureMechanismId | string |
failureMechanismGroupId | string |
codingId | string or null General classification of failure reports, for example used for lifting equipment control |
codingGroupId | string or null Group for general classification of failure reports |
workCenterId | string If workCenter is not provided, it will use default defined on tag |
workCenterPlantId | string If workCenter is not provided, it will use default defined on tag |
externalPartnerRecordId | string <= 12 characters If failure report was initially created in an external system, this represent the unique id of it |
externalPartnerId | string <= 20 characters If modification proposal was initially created in an external system, this represent the name of the external system |
createdDateTime | string <date-time> Optional parameter used in special cases where the failure report was created at an earlier time. Should not be a date in the future |
failureStartDateTime | string <date-time> The point in time when the failure started |
failureEndDateTime | string <date-time> The point in time when the failure was resolved |
Array of objects (MaintenanceRecordItemMetadataCreate) Additional metadata to be used in special cases | |
object Defines a relationship to a specific part of a work order |
{- "tagId": "PX",
- "tagPlantId": "1100",
- "title": "Skiftet ventiler på bulk system",
- "failureImpactId": "S",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "text": "Skiftet 5 stk ventiler på bulk system sement og barytt da både vent og\nTrykkside var utvasket, testet alt OK.\n"
}
{- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "equipment": "Strainer at inlet Recirc Pmp",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "workCenterId": "PPMAUT",
- "workCenter": "AI Automasjon",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "11",
- "failureImpactId": "D",
- "failureImpact": "Unwell (InF)",
- "priorityId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "codingId": "NC",
- "codingGroupId": "PMMK",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "workOrderTypeId": "correctiveWorkOrder",
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z"
}
Add activities for failure report.
To find possible activityCodeGroupId
and activityCodeId
use the /maintenance-records/activity-codes?maintenance-record-id=...
.
activityCodeId
and activityCodeGroupId
are no longer required properties. Client's are still recommended to provide them if possible.
Added response body for 201 response
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added isReadonlyText
property to the response.
record-id required | string id of the failure report |
Activities to add to existing failure report
title required | string |
text | string |
activityCodeId | string |
activityCodeGroupId | string |
startDateTime | string <date-time> |
endDateTime | string <date-time> |
[- {
- "title": "Smøring av deler",
- "text": " Smør deler\n Stram bolter",
- "activityCodeId": "A50",
- "activityCodeGroupId": "PM-GENE1",
- "startDateTime": "2020-11-01T00:00:00Z",
- "endDateTime": "2020-11-14T00:00:00Z"
}, - {
- "title": "Rengjøring",
- "activityCodeId": "A40",
- "activityCodeGroupId": "PM-GENE1",
- "startDateTime": "2020-11-11T12:00:00Z",
- "endDateTime": "2020-11-11T16:00:00Z"
}
]
[- {
- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
]
Add task to failure report.
If taskResponsibleEmail is provided and has a valid Equinor email address, the taskResponsibleId will be set to the employee id of the user.
To find possible taskCodeGroupId and taskCodeId use the /maintenance-records/task-codes?maintenance-record-id=...
.
Response type change to return the created tasks.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string Id of the failure report |
Tasks to add to existing failure report
title required | string Max-length of 40 characters |
text | string |
taskCodeId | string |
taskCodeGroupId | string |
taskResponsibleEmail | string Must be an Equinor email address. TaskResponsibleId is populated with the employee id of this user. |
plannedStartDateTime | string or null <date-time> |
plannedEndDateTime | string or null <date-time> |
[- {
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO",
- "taskCodeId": "1020",
- "taskCodeGroupId": "PM-M2",
- "taskResponsibleEmail": "shortname@equinor.com",
- "plannedStartDateTime": "2020-11-01T00:00:00Z",
- "plannedEndDateTime": "2020-11-14T00:00:00Z"
}, - {
- "title": "Teknisk avklaringsbehov #2",
- "text": "Behov for å identifisere historikk ifra AO",
- "taskCodeId": "1020",
- "taskCodeGroupId": "PM-M2",
- "taskResponsibleEmail": "shortname@equinor.com",
- "plannedStartDateTime": "2020-12-01T00:00:00Z",
- "plannedEndDateTime": "2020-12-14T00:00:00Z"
}
]
[- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5
}
]
Update fields of an existing task for failure report.
To find tasks available on a failure report, use /maintenance-records/failure-reports/{record-id}?include-tasks=true
.
When a task is created, it will have status TSOS - Outstanding task
and CRTE - Created
.
The status TSRL - Task Released
can be set afterwards.
To change status of a task, use endpoint /maintenance-records/failure-reports/{record-id}/tasks/{task-id}/statuses/{status-id}
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string id of the failure report |
task-id required | string id of the task |
Task to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/title" "/text" "/taskCodeId" "/taskCodeGroupId" "/taskResponsibleEmail" "/plannedStartDateTime" "/plannedEndDateTime" "/sortField" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/title",
- "value": "Teknisk avklaringsbehov"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "Behov for å identifisere historikk ifra AO"
}, - {
- "op": "replace",
- "path": "/taskCodeId",
- "value": "1020"
}, - {
- "op": "replace",
- "path": "/taskCodeGroupId",
- "value": "PM-M2"
}, - {
- "op": "replace",
- "path": "/taskResponsibleEmail",
- "value": "shortname@equinor.com"
}, - {
- "op": "replace",
- "path": "/plannedStartDateTime",
- "value": "2022-12-01T00:00:00Z"
}, - {
- "op": "replace",
- "path": "/plannedEndDateTime",
- "value": "2022-11-14T00:00:00Z"
}, - {
- "op": "replace",
- "path": "/sortField",
- "value": "3"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update status of an existing task for failure report.
To find tasks available on a failure report, use the /maintenance-records/failure-reports/{record-id}?include-tasks=true
.
When a task is created, it will have status TSOS - Outstanding task
and CRTE - Created
.
The status TSRL - Task Released
can be set afterwards.
Now it is possible to activate following statuses:
It is possible to activate and deactivate following statuses:
Enabled activation and deactivation of user statuses like TCMP - WF when task completed
, RTND - Returned - Wait for info
and CANC - Cancelled
record-id required | string id of the failure report |
task-id required | string id of the task |
status-id required | string id of the status |
Task status to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Update existing activity for failure report
To find possible activityCodeGroupId and activityCodeId use the /maintenance-records/activity-codes?maintenance-record-id=...
.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string id of the failure report |
activity-id required | string id of the activity |
Activities to update for existing failure report
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/title" "/text" "/activityCodeId" "/activityCodeGroupId" "/startDateTime" "/endDateTime" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path
|
[- {
- "op": "replace",
- "path": "/title",
- "value": "Smøring av deler"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "Smør deler\\n Stram bolter"
}, - {
- "op": "replace",
- "path": "/activityCodeGroupId",
- "value": "PM-GENE1"
}, - {
- "op": "replace",
- "path": "/activityCodeId",
- "value": "A50"
}, - {
- "op": "replace",
- "path": "/startDateTime",
- "value": "2020-11-11T12:00:00Z"
}, - {
- "op": "replace",
- "path": "/endDateTime",
- "value": "2020-11-11T16:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Extend the required end date of the failure report. This endpoint should only be executed by people with access to the 'action box' in Equinor's ERP system.
Client applications should take special care in ensuring the business process of Equinor is followed when using this endpoint.
The activityCodeId defines the reason for the extension
A121
= Lack of resourcesA122
= Lack of sparesA123
= Maintenance accessA124
= Failure development timeAn activity for the failure report will be created by this call and the status Date Extension Required ('EXTR')
will be set.
Most users will not have sufficient authorizations to execute this endpoint. If a request fails due to missing authorizations, the response code will be HTTP 403.
Bugfix - Created activity text and activity code must be read-only.
Added response schema for 201 success
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added isReadonlyText
property to the response.
record-id required | string id of the failure report |
Extended end date-activity to be created on the failure report.
requiredEndDate required | string <date> The extended required end date of the failure report |
riskAssessmentTitle required | string Title of the risk assessment done for the extension |
riskAssessmentText required | string The text should describe the risk assessment done |
activityCodeId required | string Enum: "A121" "A122" "A123" "A124" The activity code defines the reason for the extension. |
activityCodeGroupId required | string Value: "PM-ACB-1" The group the activityCodeId belongs to. Currently, only a single value is possible |
{- "requiredEndDate": "2021-11-20",
- "riskAssessmentTitle": "Risk vurdering for utsettelse",
- "riskAssessmentText": "Risk vurdert nøye\nVedlikehold kan utsettes",
- "activityCodeId": "A121",
- "activityCodeGroupId": "PM-ACB-1"
}
{- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
Change failure impact of the failure report. This endpoint should only be executed by people with access to the 'action box' in Equinor's ERP system.
Client applications should take special care in ensuring the business process of Equinor is followed when using this endpoint.
An activity for the failure report will be created by this call and the priorityId
, requiredStartDate
, and requiredEndDate
will be recalculated.
Most users will not have sufficient authorizations to execute this endpoint. If a request fails due to missing authorizations, the response code will be HTTP 403.
Added isReadonlyText
property to the response.
record-id required | string id of the failure report |
New failure impact - activity to be created on the failure report.
failureImpactId required | string or null (failureImpactId) Enum: "D" "S" "U" "X" FailureImpactId:
|
riskAssessmentTitle required | string Title of the activity |
riskAssessmentText required | string The text should describe the risk assessment done |
{- "failureImpactId": "S",
- "riskAssessmentTitle": "Risk vurdering for utsettelse",
- "riskAssessmentText": "Risk vurdert nøye\nVedlikehold kan utsettes"
}
{- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
Override the priorityId
value of a failure report.
The priorityId
was initially calculated based on failureImpactId
and the ABCId
of the tag/equipment when the failure report was created. See GL1561 - Work orders and notifications types for more details.
This endpoint should only be executed by people with access to the 'action box' in Equinor's ERP system.
Client applications should take special care in ensuring the business process of Equinor is followed when using this endpoint.
The activityCodeId defines the reason for overriding the priority
A111
= Incorrect ABCA112
= Abnormal situationA113
= Dummy FL/Missing FLAn activity for the failure report will be created by this call.
Most users will not have sufficient authorizations to execute this endpoint. If a request fails due to missing authorizations, the response code will be HTTP 403.
record-id required | string id of the failure report |
Extended end date-activity to be created on the failure report.
priorityId required | string Enum: "L" "M" "H" "U" "D" Priority
|
riskAssessmentTitle required | string Title of the risk assessment done for the priority override |
riskAssessmentText required | string The text should describe the risk assessment done |
activityCodeId required | string Enum: "A111" "A112" "A113" The activity code defines the reason for the override. |
activityCodeGroupId required | string Value: "PM-ACB-1" The group the activityCodeId belongs to. Currently, only a single value is possible |
{- "priorityId": "M",
- "riskAssessmentTitle": "Risk vurdering for endring av prioritet",
- "riskAssessmentText": "Risk vurdert nøye\nVedlikehold kan utsettes",
- "activityCodeId": "A111",
- "activityCodeGroupId": "PM-ACB-1"
}
{- "activityId": "12",
- "title": "Lubricated parts",
- "text": "Smørt deler\nStrammet bolter\n",
- "isReadonlyText": true,
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "startDateTime": "2019-08-24T14:15:22Z",
- "endDateTime": "2019-08-24T14:15:22Z"
}
Update additional metadata for a failure report. This related to additional failure modes and detection modes for a failure report and only used in rare cases.
The metadata-id available to update for a given failure report can be found by querying /maintenance-records/failure-reports/{record-id}?include-additional-metadata=true
Added failureMechanismId,failureMechanismGroupId properties.
record-id required | string The recordId of the failure report. |
metadata-id required | string The id of the metadata record |
Update to make for metadata
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/title" "/failureModeId" "/failureModeGroupId" "/detectionMethodId" "/detectionMethodGroupId" "/failureMechanismId" "/failureMechanismGroupId" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path Path specific information:
|
[- {
- "op": "replace",
- "path": "/title",
- "value": "Material failure"
}, - {
- "op": "replace",
- "path": "/failureModeId",
- "value": "STC"
}, - {
- "op": "replace",
- "path": "/failureModeGroupId",
- "value": "PMMO-080"
}, - {
- "op": "replace",
- "path": "/failureModeId",
- "value": "STC"
}, - {
- "op": "replace",
- "path": "/detectionMethodId",
- "value": "3"
}, - {
- "op": "replace",
- "path": "/detectionMethodGroupId",
- "value": "PMDM-005"
}, - {
- "op": "replace",
- "path": "/failureMechanismId",
- "value": "2.9"
}, - {
- "op": "replace",
- "path": "/failureMechanismGroupId",
- "value": "PMMC-010"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Add additional metadata for a failure report. This related to additional failure modes and detection modes for a failure report and only used in rare cases.
The metadata-id available to update for a given failure report can be found by querying /maintenance-records/failure-reports/{record-id}?include-additional-metadata=true
Added failureMechanismId,failureMechanismGroupId properties.
record-id required | string The recordId of the failure report. |
Update to make for metadata
title | string <= 40 characters |
failureModeId | string |
failureModeGroupId | string |
detectionMethodId | string |
detectionMethodGroupId | string |
failureMechanismId | string |
failureMechanismGroupId | string |
[- {
- "title": "Material failure",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Add new characteristics to an existing failure report metadata.
Characteristics are grouped into a class such as FL_MAINT_STRATEGY
.
With this endpoint, the consumer can assign classes metadata and define initial values for some of the characteristics in the classes.
Note that if a given characteristic has already been added to this metadata, repeated adding will result in overwriting of the characteristic value.
If you want to update a characteristic the PATCH
endpoint can be used.
Use /maintenance-records/failure-reports/{record-id}?include-additional-metadata=true&include-additional-data-characteristics=true&api-version=v1
to view characteristics with value after using this endpoint.
record-id required | string |
metadata-id required | string |
Characteristics to add to metadata.
classId required | string The class which contains the characteristics |
Array of objects (CharacteristicAdd) Specific characteristics in the class to define a value for |
[- {
- "classId": "SURFACE",
- "characteristics": [
- {
- "characteristicId": "PROTECTIVE_COATING_COND",
- "valueId": "1"
}, - {
- "characteristicId": "NUMBER_OF_DAMAGED_AREAS_PR_M2",
- "valueId": "2"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing values of characteristics on a failure report metadata. If the characteristics does not exist, a 404 - Not Found
is returned.
record-id required | string |
metadata-id required | string |
Characteristics to be updated, based on JsonPatch standard
required | Array of objects (CharacteristicsJsonPatch) |
characteristicId required | string |
classId required | string |
[- {
- "characteristicId": "CRIT_CRITICALITY",
- "classId": "FL_MAINT_STRATEGY",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "L"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Modification proposal initiates the processing of a modification, replacement or maintenance project. In Equinor for upstream offshore, a modification proposal initiates the business processes 'OM103.01 - Initiate projects on plants in operation' or 'OM103.70.01 - Propose simple modifications in safety and automation systems'.
Modification proposal initiates the processing of a modification, replacement or maintenance project. In Equinor for upstream offshore, a modification proposal initiates the business processes 'OM103.01 - Initiate projects on plants in operation' or 'OM103.70.01 - Propose simple modifications in safety and automation systems'. This request looks up a single Modification proposal.
Added createdDateTime for attachments.
Added 301
response.
Renamed property plannerGroupPlantId to planningPlantId.
Added quantity
for tasks.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
attachments
now include properties documentType
, documentNumber
and documentTitle
.
attachments
now include the property documentCreatedDate
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added changedDateTime
for attachments.
Added taskResponsible
and taskResponsibleEmail
for tasks
in response when the new query parameter include-task-responsible-details
is set to true.
record-id required | string |
include-tasks | boolean Default: true Include detailed information for tasks |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-attachments | boolean Default: false Include attachments |
include-created-by-details | boolean Default: false Include name and email of user represented in |
include-task-responsible-details | boolean Default: false Include task responsible details. Can have a slight performance impact. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/modification-proposals/%7Brecord-id%7D?include-tasks=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE&include-task-responsible-details=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "tasks": [
- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5,
- "taskResponsible": "Tor-Ivar Branæs",
- "taskResponsibleEmail": "tbrana@equinor.com"
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "maintenanceRecordTypeId": "modificationProposal",
- "text": "Multi-line text based on template",
- "plannerGroup": "Anleggsintegritet",
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
Update key fields of a modification proposal.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string |
Details on how to update modification proposal
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/tagId" "/tagPlantId" "/equipmentId" "/workCenterId" "/workCenterPlantId" "/locationId" "/title" "/text" "/planningPlantId" "/plannerGroupId" "/reasonId" "/priorityId" "/reasonGroupId" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/title",
- "value": "Enkel endring skalering på PDT"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nMaterial tretthet..\n"
}, - {
- "op": "replace",
- "path": "/priorityId",
- "value": "L"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Create a new modification proposal maintenance record.
Modification proposal initiates the processing of a modification, replacement or maintenance project. In Equinor for upstream offshore, a modification proposal initiates the business processes 'OM103.01 - Initiate projects on plants in operation' or 'OM103.70.01 - Propose simple modifications in safety and automation systems'.
The following attributes rely on master data:
reasonGroupId
and reasonId
- Use values from endpoint /maintenance-records/reason-codes
plannerGroupId
and planningPlantId
- Use values from endpoint /plants/{plant-id}/planner-groups
workCenterId
and workCenterPlantId
- USe values from /plants/{plant-id}/work-centers
The isSimpleProposal
attribute determines if this is a simple proposal. For a simple proposal, reasonGroupId
and reasonId
are not required.
Renamed property plannerGroupPlantId to planningPlantId.
Add property isExcludedFromWorkOrderPlan
to operations model.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Modification proposal to create
title required | string |
priorityId required | string Enum: "H" "M" "L" Priority:
|
tagId | string or null Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
text | string |
workCenterId | string If workCenter is not provided, it will use default defined on tag |
workCenterPlantId | string If workCenter is not provided, it will use default defined on tag |
plannerGroupId | string |
planningPlantId | string |
plannerGroupPlantId | string Deprecated |
reasonGroupId | string |
reasonId | string |
isSimpleProposal | boolean Default: false |
externalPartnerRecordId | string <= 12 characters If modification proposal was initially created in an external system, this represent the unique id of it |
externalPartnerId | string <= 20 characters If modification proposal was initially created in an external system, this represent the name of the external system |
{- "tagId": "20PDT1541",
- "tagPlantId": "1100",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "M",
- "title": "Endre skalering på PDT",
- "text": "·,,System og disiplinbeskrivelse\n·,,Videre Modningsbehov\n<U>7,,Spesielle tekniske og operative forhold</>\n·,,Behov for RS, system- eller enhetsstans?\n·,,Relevante tekniske og/eller operasjonelle krav<(>,<)>\no,,,,inkl. vurdering av gyldighet/versjon av krav?\no,,,,eventuelle godkjente dispensasjoner?\n·,,Påvirkes anleggets integritet? (Er der behov for kompenserende\ntiltak?)\n·,,Behov for ny teknologi / teknologikvalifisering ?\n<U>8,,Dokument / tegningsreferanser</>\n<U>9,,Vedlegg til notifikasjonen</>\nStandard vedleggsliste (alternativt kan dokumentene lagres på teamsite\nog link legges inn her):\n·,,HMS-sjekkliste\n·,,·,,Beslutningspresentasjon (uten kost informasjon)\n·,,Eventuell ALARP-vurdering\n·,,Annet\n"
}
{- "text": "Multi-line text based on template",
- "plannerGroup": "Anleggsintegritet",
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
Update status of modification proposal.
The statuses available for the modification proposal can be found by querying /maintenance-records/modification-proposals/{record-id}?include-status-details=true
.
The endpoints supports status activation such as:
The endpoints supports status deactivation such as:
If the modification proposal has a relationship to a Work Order, the status ORAS - Order assigned
will be set automatically on the activity report.
When the modification proposal is completed, the status NOCO - Notification completed
must be set.
Equinor's governing document GL1561 - Work orders and notifications types provides some additional information.
record-id required | string The recordId of the activity report. |
status-id required | string |
Modification proposal status to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Upload attachment for modification proposal
Limitations of Attachment upload endpoints:
Added the optional parameter document-id
as a query parameter.
If document-id
is supplied, the attachment will be uploaded specifically to this document.
record-id required | string |
document-id | string or null Default: null Example: document-id=10004099768-A01-000-00 Can be found by sending a GET request to: |
files | Array of strings <binary> |
curl --request POST \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/modification-proposals/%7Brecord-id%7D/attachments?document-id=10004099768-A01-000-00' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Download single attachment for a modification proposal maintenance record.
It's not possible to download attachments of type .txt which are stored in the GOS container of the ERP system.
Such requests will result in a HTTP 404 Not found
response.
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/modification-proposals/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Used to represent the results of a certification such as PSV or lifting certificate
Lookup a single certification report.
The certification report represents the results of PSV or lifting certification.
For PSV certification, details are reported as measurements for 33 predefined measuring points. For lifting certification, details are stored in attachment and possibly as characteristics on the tag/equipment.
Added createdDateTime for attachments.
Added 301
response.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added property area
to tag details.
attachments
now include the property documentCreatedDate
tagDetails
object now includes the new field maintenanceConceptId
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added changedDateTime
for attachments.
Added properties failureStartDateTime
and failureEndDateTime
to response.
record-id required | string The recordId of the certification report |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include details about tag for failure report |
include-attachments | boolean Default: false Include attachments |
include-measuring-points | boolean Default: false Include measuring points related to tagId/equipmentId |
include-last-measurement | boolean Default: false Include last measurement for the measuring points |
include-created-by-details | boolean Default: false Include name and email of user represented in |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/certification-reports/%7Brecord-id%7D?include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceRecordTypeId": "certificationReport",
- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "text": "Multi-line text based on template",
- "failureStartDateTime": "2021-01-30T12:00:00Z",
- "failureEndDateTime": "2022-01-30T14:00:00Z",
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
Upload attachment for certification report
Limitations of Attachment upload endpoints:
If documentTitle
is supplied, the title is added to all files that are sent
in the current request. If different titles are wanted for different files, they have to be sent in separately
(one file, one document title per request). When supplying a document-title, a new document will always be created for the attachment
If documentTitle is supplied both as form-data and query parameter, the query parameter will take precedence.
If document-id
is supplied, the attachment will be uploaded specifically to this document. document-title
and document-id
cannot be supplied together.
record-id required | string |
document-title | string or null Default: null Example: document-title=Document%20Title |
document-id | string or null Default: null Example: document-id=10004099768-A01-000-00 Can be found by sending a GET request to: |
files required | Array of strings <binary> [ 1 .. 5 ] items |
document-title | string or null Default: null |
curl --request POST \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/certification-reports/%7Brecord-id%7D/attachments?document-title=Document%2520Title&document-id=10004099768-A01-000-00' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for certification reports through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each certification report. Use lookup of certification report to retrieve additional details.
Certification reports based on recent status activations Parameters:
Example request: /maintenance-records/certification-reports?api-version=v1&filter=recent-status-activations&status-id=CRTE&plant-id=1100&max-days-since-activation=10
Find certification reports by tag with possibility of not including completed ones. /plants/{plant-id}/tags/{tag-id}?include-maintenance-records=true
may also be used for a similar effect.
Parameters:
Example request: /maintenance-records/certification-reports?api-version=v1&filter=by-tag&plant-id=1100&tag-id=DV50100&created-after-datetime=2020-11-01T00%3A00%3A00Z&include-completed=true
Find certification reports by equipment with possibility of not including completed ones. /plants/{plant-id}/tags/{tag-id}?include-maintenance-records=true
may also be used for a similar effect.
Parameters:
Example request: /maintenance-records/certification-reports?api-version=v1&filter=by-equipment&equipment-id=10255408&include-completed=false
filter required | string (SearchCertificationReportsFilter) Enum: "recent-status-activations" "by-tag" "by-equipment" Filter to limit the certification reports by |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
created-after-datetime | string <date-time> Optional parameter to limit the response to only work orders changed after changed-since-datetime but before this datetime |
include-completed | boolean Default: false Filter based on if it's completed or open |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/certification-reports?filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&max-days-since-activation=SOME_INTEGER_VALUE&created-after-datetime=SOME_STRING_VALUE&include-completed=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
]
Create new certification report.
The following endpoints can be used to find possible values for input:
workCenterId
- /plants/{plant-id}?include-work-centersplannerGroupId
- /plants/{plant-id}?include-planner-groups=truelocationId
- /plants/{plant-id}?include-locations=truedetectionMethodId
, failureMechanismId
, failureModeId
- /plants/{plant-id}/tags/{tag-id}?include-catalog-profile-details=true or /equipment/{equipment-id}?include-catalog-profile-details=trueIt is possible to create certification report for either tagId or equipmentId.
Certification report to create
title required | string |
text required | string |
failureModeId required | string |
failureModeGroupId required | string |
detectionMethodId required | string |
detectionMethodGroupId required | string |
tagId | string Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
isBreakdown | boolean |
failureMechanismId | string |
failureMechanismGroupId | string |
workCenterId | string If workCenter is not provided, it will use default defined on tag |
workCenterPlantId | string If workCenter is not provided, it will use default defined on tag |
createdDateTime | string <date-time> Optional parameter used in special cases where the failure report was created at an earlier time. Should not be a date in the future |
failureStartDateTime | string <date-time> The point in time when the failure started |
failureEndDateTime | string <date-time> The point in time when the failure was resolved |
{- "tagId": "PX",
- "tagPlantId": "1100",
- "title": "Skiftet ventiler på bulk system",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "text": "Skiftet 5 stk ventiler på bulk system sement og barytt da både vent og\nTrykkside var utvasket, testet alt OK.\n"
}
{- "text": "Multi-line text based on template",
- "failureStartDateTime": "2021-01-30T12:00:00Z",
- "failureEndDateTime": "2022-01-30T14:00:00Z",
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
Used to request for update of technical information or maintenance programs
Lookup a single technical information update request.
A technical information update request represents a notice of change to initiate, distribute and follow up work to update technical information.
Examples of usage:
Equinor's governing document GL1561 - Work orders and notifications types provides additional information for this maintenance record type.
Added createdDateTime
for attachments.
Added 301
response.
Added quantity
for tasks.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added property area
to tag details.
tagDetails
object now includes the new field maintenanceConceptId
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added changedDateTime
for attachments.
Added changedDateTime
to the response.
Added taskResponsible
and taskResponsibleEmail
for tasks
in response when the new query parameter include-task-responsible-details
is set to true.
record-id required | string The recordId of the technical information update request |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tasks | boolean Default: false Include detailed information for tasks |
include-attachments | boolean Default: false Include attachments |
include-tag-details | boolean Default: false Include details about tag for failure report |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-created-by-details | boolean Default: false Include name and email of user represented in |
include-task-responsible-details | boolean Default: false Include task responsible details. Can have a slight performance impact. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-information-update-requests/%7Brecord-id%7D?include-status-details=SOME_BOOLEAN_VALUE&include-tasks=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE&include-task-responsible-details=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceRecordTypeId": "technicalInformationUpdateRequest",
- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "changedDateTime": "2024-08-28T06:06:14Z",
- "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "tasks": [
- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5,
- "taskResponsible": "Tor-Ivar Branæs",
- "taskResponsibleEmail": "tbrana@equinor.com"
}
], - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "hasPersonResponsible": true,
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Vedlikehold - System PV",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
Update key fields of a technical information update request.
To avoid accidentally overwriting the multi-line text property, the endpoint will reject any requests with an empty text property.
Added support for property sortField
.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string The recordId of the technical information update request |
Details on how to update technical information update request
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/personResponsibleEmail" "/plannerGroupId" "/title" "/text" "/priorityId" "/requiredEndDate" "/sortField" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/personResponsibleEmail",
- "value": "shortname@equinor.com"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update status of technical information update request.
The statuses available for the technical information update requests can be found by querying /maintenance-records/technical-information-update-requests/{record-id}?include-status-details=true
.
Possible statuses to set are:
System Stat:
User statuses (without status number, all of them can be activated and deactivated):
Deactivation works for all statuses, except system statuses OSTS, NOPR, NOCO
Equinor's governing document GL1561 - Work orders and notifications types provides some additional information.
record-id required | string The recordId of the technical information update. |
status-id required | string |
Technical information update status to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Download single attachment for technical information update request
It's not possible to download attachments of type .txt which are stored in the GOS container of the ERP system.
Such requests will result in a HTTP 404 Not found
response.
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-information-update-requests/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Upload attachment for technical information update request
Limitations of Attachment upload endpoints:
Added the optional parameter document-id
as a query parameter.
If document-id
is supplied, the attachment will be uploaded specifically to this document.
record-id required | string |
document-id | string or null Default: null Example: document-id=10004099768-A01-000-00 Can be found by sending a GET request to: |
files | Array of strings <binary> |
curl --request POST \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-information-update-requests/%7Brecord-id%7D/attachments?document-id=10004099768-A01-000-00' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for technical information update requests through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each technical information update requests. Use lookup of technical information update requests to retrieve additional details.
If query parameter include-person-responsible is set to true in the request, the response will contain values for personResponsibleId and personResponsibleEmail. This will have a performance impact and therefore the default value is false.
Technical information update requests based on recent status activations. Parameters:
Example request: /maintenance-records/technical-information-update-requests?api-version=v1&filter=recent-status-activations&status-id=CRTE&plant-id=1100&max-days-since-activation=10
Find open technical information update requests by plant. Parameters:
Example request: /maintenance-records/technical-information-update-requests?api-version=v1&filter=open-by-plant&plant-id=1100&has-person-responsible=false
Find technical information update requests by tag with possibility of not including completed ones. /plants/{plant-id}/tags/{tag-id}?include-maintenance-records=true
may also be used for a similar effect.
Parameters:
Example request: /maintenance-records/technical-information-update-requests?api-version=v1&filter=by-tag&plant-id=1100&tag-id=DV50100&include-completed=true
Find technical information update requests by person responsible. Parameters:
Example request: /maintenance-records/technical-information-update-requests?api-version=v1&filter=by-person-responsible&person-responsible-email=dapa%40equinor.com&include-completed=false&include-person-responsible=true
Added filter by-person-responsible.
Added query parameter include-person-responsible.
Added properties personResponsibleId and personResponsibleEmail to response (only populated if include-person-responsible=true in the request).
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
filter required | string (SearchTechnicalInformationUpdateRequestsFilter) Enum: "recent-status-activations" "open-by-plant" "by-tag" "by-person-responsible" Filter to limit the technical information update requests by |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
system-id | string System id to filter by |
tag-id | string |
planning-plant-id | string Example: planning-plant-id=1901 Planning plant used for planner group id |
planner-group-id | string Example: planner-group-id=SRM Planner group id (planning-plant-id must also be supplied) |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 to only include results from today |
has-person-responsible | boolean Default: false Define if it should have a person responsible or not |
created-after-datetime | string <date-time> Optional parameter to limit the response to only work orders changed after changed-since-datetime but before this datetime |
include-completed | boolean Default: false Filter based on if it's completed or open |
person-responsible-email | string Email of the person responsible in urlencoded format |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-information-update-requests?include-person-responsible=SOME_BOOLEAN_VALUE&filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&location-id=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&tag-id=SOME_STRING_VALUE&planning-plant-id=1901&planner-group-id=SRM&max-days-since-activation=SOME_INTEGER_VALUE&has-person-responsible=SOME_BOOLEAN_VALUE&created-after-datetime=SOME_STRING_VALUE&include-completed=SOME_BOOLEAN_VALUE&person-responsible-email=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "hasPersonResponsible": true,
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Vedlikehold - System PV",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
]
Create new technical information update requests
It is possible to create technical information update request for either tagId or equipmentId.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Technical information update request to create
title required | string |
tagId | string or null Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
text | string |
priorityId | string Enum: "H" "N" Priority:
|
workCenterId | string If workCenter is not provided, it will use default defined on tag |
workCenterPlantId | string If workCenter is not provided, it will use default defined on tag |
plannerGroupId | string If plannerGroupId is not provided, it will use default defined on tag |
planningPlantId | string If planningPlantId is not provided, it will use default defined on tag |
personResponsibleEmail | string The email of the person responsible for the processing of the technical information update request. This is the preferred way of identifying the person as it's consistent across systems. |
{- "tagId": "PX",
- "tagPlantId": "1100",
- "title": "Skiftet ventiler på bulk system"
}
{- "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "text": "Multi-line text based on template",
- "hasPersonResponsible": true,
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Vedlikehold - System PV",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
Add task to technical information update request.
If taskResponsibleEmail is provided and has a valid Equinor email address, the taskResponsibleId will be set to the employee id of the user.
To find possible taskCodeGroupId and taskCodeId use the /maintenance-records/task-codes?maintenance-record-id=...
.
Response type change to return the created tasks.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string Id of the technical information update request |
Tasks to add to existing technical information update request
title required | string Max-length of 40 characters |
text | string |
taskCodeId | string |
taskCodeGroupId | string |
taskResponsibleEmail | string Must be an Equinor email address. TaskResponsibleId is populated with the employee id of this user. |
plannedStartDateTime | string or null <date-time> |
plannedEndDateTime | string or null <date-time> |
[- {
- "title": "Oppdater bill of material",
- "text": "Bill of material for tag xxx må oppdateres med følgende:",
- "taskCodeId": "A50",
- "taskCodeGroupId": "PM-TI",
- "taskResponsibleEmail": "shortname@equinor.com",
- "plannedStartDateTime": "2022-11-01T00:00:00Z",
- "plannedEndDateTime": "2022-11-14T00:00:00Z"
}, - {
- "title": "Tekniske tegninger",
- "text": "Behov for å oppdatere tekniske tegninger med følgende:",
- "taskCodeId": "A10",
- "taskCodeGroupId": "PM-TI",
- "taskResponsibleEmail": "shortname@equinor.com",
- "plannedStartDateTime": "2022-12-01T00:00:00Z",
- "plannedEndDateTime": "2022-12-14T00:00:00Z"
}
]
[- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5
}
]
Update fields of an existing task for failure report.
To find tasks available on a failure report, use /maintenance-records/technical-information-update-request/{record-id}?include-tasks=true
.
When a task is created, it will have status TSOS - Outstanding task
and CRTE - Created
.
The status TSRL - Task Released
can be set afterwards.
To change status of a task, use endpoint /maintenance-records/technical-information-update-request/{record-id}/tasks/{task-id}/statuses/{status-id}
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string id of the technical information update request |
task-id required | string id of the task |
Task to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/title" "/text" "/taskCodeId" "/taskCodeGroupId" "/taskResponsibleEmail" "/plannedStartDateTime" "/plannedEndDateTime" "/sortField" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/title",
- "value": "Oppdater bill of material"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "Bill of material for tag xxx må oppdateres med følgende:"
}, - {
- "op": "replace",
- "path": "/taskCodeId",
- "value": "A50"
}, - {
- "op": "replace",
- "path": "/taskCodeGroupId",
- "value": "PM-TI"
}, - {
- "op": "replace",
- "path": "/taskResponsibleEmail",
- "value": "shortname@equinor.com"
}, - {
- "op": "replace",
- "path": "/plannedStartDateTime",
- "value": "2022-12-01T00:00:00Z"
}, - {
- "op": "replace",
- "path": "/plannedEndDateTime",
- "value": "2022-11-14T00:00:00Z"
}, - {
- "op": "replace",
- "path": "/sortField",
- "value": "3"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update status of an existing task for technical information update request.
To find tasks available on a technical information update request, use the /maintenance-records/technical-information-update-requests/{record-id}?include-tasks=true
.
When a task is created, it will have status TSOS - Outstanding task
and CRTE - Created
.
The status TSRL - Task Released
can be set afterwards.
Now it is possible to set following statuses:
It is possible to activate and deactivate following statuses:
Enabled activation and deactivation of user statuses like TCMP - WF when task completed
, RTND - Returned - Wait for info
, CANC - Cancelled
and PRCR - Product Created
.
record-id required | string id of the technical information update request |
task-id required | string id of the task |
status-id required | string id of the status |
Task status to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Used to request technical clarification when not covered by other maintenance records (such as failure reports)
Lookup a single technical clarification.
Represents a request for technical clarification when not covered by other maintenance records (such as failure-reports and corrective-work-orders).
Equinor's governing document GL1561 - Work orders and notifications types provides additional information for this maintenance record type.
Added createdDateTime for attachments.
Added 301
response.
Added quantity
for tasks.
Added properties createdById
,createdBy
and createdByEmail
.
createdById
will always be have value in response. createdBy
and createdByEmail
will only have value in response if the include-created-by-details
query parameter is true
.
attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added property area
to tag details.
attachments
now include the property documentCreatedDate
tagDetails
object now includes the new field maintenanceConceptId
Added maintenanceRecordTypeId
to the response.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added changedDateTime
for attachments.
Added taskResponsible
and taskResponsibleEmail
for tasks
in response when the new query parameter include-task-responsible-details
is set to true.
record-id required | string The recordId of the technical clarification |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tasks | boolean Default: false Include detailed information for tasks |
include-attachments | boolean Default: false Include attachments |
include-tag-details | boolean Default: false Include details about tag for technical clarification |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-created-by-details | boolean Default: false Include name and email of user represented in |
include-task-responsible-details | boolean Default: false Include task responsible details. Can have a slight performance impact. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-clarifications/%7Brecord-id%7D?include-status-details=SOME_BOOLEAN_VALUE&include-tasks=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-created-by-details=SOME_BOOLEAN_VALUE&include-task-responsible-details=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceRecordTypeId": "technicalClarification",
- "createdById": "433937",
- "createdBy": "Dagfinn Parnas",
- "createdByEmail": "dapa@equinor.com",
- "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "documentEnclosure": "/documents/2873087-B10-000-00/attachments/DcixEcAgDAPAjXKSMWdUxgHqbJBFPHz48udKWHfF6IrYlIEAFzLvJ5tV4SCdovQZIDRz6NToEdc7d_0"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "tasks": [
- {
- "taskId": "12",
- "sortField": "01",
- "title": "Teknisk avklaringsbehov",
- "text": "Behov for å identifisere historikk ifra AO\n",
- "activeStatusIds": "TSRL CRTE",
- "isCompleted": false,
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskResponsibleType": "",
- "taskResponsibleId": "433937",
- "plannedStartDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "quantity": 5,
- "taskResponsible": "Tor-Ivar Branæs",
- "taskResponsibleEmail": "tbrana@equinor.com"
}
], - "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "text": "Multi-line text\nbased on template",
- "hasPersonResponsible": true,
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "location": "Wellbay Area Center Cellar Deck",
- "systemId": "13",
- "system": "RISER/WELL TOP",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Vedlikehold - System PV",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "ATCO OSNO RPRI",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24"
}
Update key fields of a technical clarification.
To avoid accidentally overwriting the multi-line text property, the endpoint will reject any requests with an empty text property.
Added support for property sortField
.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
record-id required | string The recordId of the technical clarification |
Details on how to update technical clarification
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/personResponsibleEmail" "/plannerGroupId" "/title" "/text" "/priorityId" "/requiredEndDate" "/sortField" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/personResponsibleEmail",
- "value": "shortname@equinor.com"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Download single attachment for technical clarification
It's not possible to download attachments of type .txt which are stored in the GOS container of the ERP system.
Such requests will result in a HTTP 404 Not found
response.
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-clarifications/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for technical clarifications through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each technical clarification. Use lookup of technical clarification to retrieve additional details.
If query parameter include-person-responsible is set to true in the request, the response will contain values for personResponsibleId and personResponsibleEmail. This will have a performance impact and therefore the default value is false.
Technical clarifications based on recent status activations. Parameters:
Example request: /maintenance-records/technical-clarifications?api-version=v1&filter=recent-status-activations&status-id=CRTE&plant-id=1100&max-days-since-activation=10
Find open Technical clarifications by plant. Parameters:
Example request: /maintenance-records/technical-clarifications?api-version=v1&filter=open-by-plant&plant-id=1100&has-person-responsible=false
Find Technical clarifications by tag with possibility of not including completed ones. /plants/{plant-id}/tags/{tag-id}?include-maintenance-records=true
may also be used for a similar effect.
Parameters:
Example request: /maintenance-records/technical-clarifications?api-version=v1&filter=by-tag&plant-id=1100&tag-id=DV50100&include-completed=true
Find technical clarifications by person responsible. Parameters:
Example request: /maintenance-records/technical-clarifications?api-version=v1&filter=by-person-responsible&person-responsible-email=shortname%40equinor.com&include-completed=false&include-person-responsible=true
Added filter by-person-responsible.
Added query parameter include-person-responsible.
Added properties personResponsibleId and personResponsibleEmail to response (only populated if include-person-responsible=true in the request).
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
filter required | string (SearchTechnicalClarificationsFilter) Enum: "recent-status-activations" "open-by-plant" "by-tag" "by-person-responsible" Filter to limit the technical clarifications by |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
system-id | string System id to filter by |
planning-plant-id | string Example: planning-plant-id=1901 Planning plant used for planner group id |
planner-group-id | string Example: planner-group-id=SRM Planner group id (planning-plant-id must also be supplied) |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
has-person-responsible | boolean Default: false Define if it should have a person responsible or not |
created-after-datetime | string <date-time> Optional parameter to limit the response to only work orders changed after changed-since-datetime but before this datetime |
include-completed | boolean Default: false Filter based on if it's completed or open |
person-responsible-email | string Email of the person responsible in urlencoded format |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/technical-clarifications?include-person-responsible=SOME_BOOLEAN_VALUE&filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&location-id=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&planning-plant-id=1901&planner-group-id=SRM&max-days-since-activation=SOME_INTEGER_VALUE&has-person-responsible=SOME_BOOLEAN_VALUE&created-after-datetime=SOME_STRING_VALUE&include-completed=SOME_BOOLEAN_VALUE&person-responsible-email=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "text": "Multi-line text\nbased on template",
- "hasPersonResponsible": true,
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "location": "Wellbay Area Center Cellar Deck",
- "systemId": "13",
- "system": "RISER/WELL TOP",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Vedlikehold - System PV",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "ATCO OSNO RPRI",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24"
}
]
Create new technical information update requests
It is possible to create technical clarification for either tagId or equipmentId.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Technical clarifications to create
title required | string |
workCenterId required | string |
workCenterPlantId required | string |
priorityId required | string Enum: "H" "M" "L" Priority:
|
planningPlantId required | string |
plannerGroupId required | string |
tagId | string or null Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
text | string |
personResponsibleEmail | string The email of the person responsible for the processing of the technical information update request. This is the preferred way of identifying the person as it's consistent across systems. |
{- "tagId": "PX",
- "tagPlantId": "1100",
- "title": "Skiftet ventiler på bulk system",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannerGroupId": "POM",
- "planningPlantId": "1100",
- "priorityId": "L"
}
{- "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "text": "Multi-line text\nbased on template",
- "hasPersonResponsible": true,
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "location": "Wellbay Area Center Cellar Deck",
- "systemId": "13",
- "system": "RISER/WELL TOP",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Vedlikehold - System PV",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "ATCO OSNO RPRI",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24"
}
Maintenance records represent registration, prioritization, control of needs/activities and registration of technical history. Each maintenance records type is tailored for a specific purpose.
Search for Maintenance records regardless of type through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each Maintenance record. This can be found by subsequent call to lookup for the respective maintenance record resource type
Find open Maintenance records for an id in an external partner system. Note: In theory different external system could have the same external-partner-record-id
but it's very unlikely. Clients are recommended to filter the response based on the plants they are interested in to avoid any issues.
Parameters:
Find maintenance record created by the logged in user.
Parameters:
Find maintenance records which have been recently changed (created or updated) for a given plant. Normally, clients will provide parameters changed-since-datetime and plant-id and in this case the endpoint will return any changed maintenance record from changed-since-datetime and to now. It is also possible to add before-datetime query parameter and the endpoint will then return any changed maintenance between changed-since-datetime and before-datetime.
Parameters:
Added filter my-recent-maintenance-records
.
Added filter recently-changed
and maintenance record types modification-proposal
, certification-report
,technical-information-update-request
and technical-clarification
.
Added properties hasUnsafeFailureMode and unsafeFailureModeStatus for failure reports.
Renamed property plannerGroupPlantId to planningPlantId.
Added property maintenanceRecordTypeId
.
Added property workCenterId
to maintenanceRecords.failureReports
Added workOrderTypeId
and workOrderId
to the response for failure reports. workOrderId
includes the id of work orders, not constrained to only showing corrective work orders.
filter required | string (SearchMaintenanceRecordsFilter) Enum: "by-external-partner-record-id" "my-recent-maintenance-records" "recently-changed" Filter to limit the failure reports by |
external-partner-record-id | string If failure report was initially created in an external system, this represent the unique id of it |
created-after-datetime | string <date-time> Optional parameter to limit the response to only maintenance records changed after changed-since-datetime but before this datetime |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
changed-since-datetime | string <date-time> Earliest datetime to return changed work orders for |
before-datetime | string <date-time> Optional parameter to limit the response to only work orders changed after changed-since-datetime but before this datetime |
include-maintenance-record-types | Array of strings (MaintenanceRecordTypes) Items Enum: "failure-report" "activity-report" "certification-report" "technical-information-update-request" "technical-clarification" "modification-proposal" Include which types of maintenance records |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records?filter=SOME_STRING_VALUE&external-partner-record-id=SOME_STRING_VALUE&created-after-datetime=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&changed-since-datetime=SOME_STRING_VALUE&before-datetime=SOME_STRING_VALUE&include-maintenance-record-types=SOME_ARRAY_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "modificationProposals": [
- {
- "maintenanceRecordTypeId": "modificationProposal",
- "_links": {
- "self": "/maintenance-records/modification-proposals/45894100?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "reasonGroupId": "PMB-PRIM",
- "reasonId": "MA70",
- "priorityId": "H",
- "title": "Endre skalering på PDT",
- "isSimpleProposal": false,
- "activeStatusIds": "OSNO CRTE",
- "plannerGroupId": "SPI",
- "planningPlantId": "1100",
- "plannerGroupPlantId": "1100",
- "plannerGroup": "Anleggsintegritet",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "requiredStartDate": "2019-08-24",
- "requiredEndDate": "2019-08-24",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z"
}
], - "failureReports": [
- {
- "maintenanceRecordTypeId": "failureReport",
- "_links": {
- "self": "/maintenance-records/failure-reports/45939208?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC",
- "workOrderTypeId": "correctiveWorkOrder",
- "workOrderId": "24871954"
}
], - "activityReports": [
- {
- "maintenanceRecordTypeId": "activityReport",
- "_links": {
- "self": "/maintenance-records/activity-reports/46126319?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "isOpen": true,
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2023-11-28T06:06:14Z"
}
], - "certificationReports": [
- {
- "maintenanceRecordTypeId": "certificationReport",
- "_links": {
- "self": "/maintenance-records/certification-reports/45894100?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "locationId": "CD2",
- "location": "METERING DECK",
- "requiredEndDate": "2019-08-24",
- "failureModeId": "STC",
- "failureMode": "CST Struct. deficiency containment risk",
- "failureModeGroupId": "PMMO-080",
- "failureModeGroup": "ISO Piping",
- "detectionMethodId": "3",
- "detectionMethod": "ISO Inspection",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "failureMechanismId": "2.9",
- "failureMechanism": "CST Corrosion external",
- "failureMechanismGroupId": "PMMC-010",
- "failureMechanismGroup": "ISO Material failure",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "activeStatusIds": "OSNO CRTE",
- "createdDateTime": "2019-08-24T14:15:22Z"
}
], - "technicalInformationUpdateRequests": [
- {
- "maintenanceRecordTypeId": "technicalInformationUpdateRequest",
- "_links": {
- "self": "/maintenance-records/technical-information-update-requests/46298154?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "hasPersonResponsible": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "locationId": "CD2",
- "systemId": "BS",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE"
}
], - "technicalClarifications": [
- {
- "maintenanceRecordTypeId": "technicalClarification",
- "_links": {
- "self": "/maintenance-records/technical-clarifications/46526114?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "D-13L35001A",
- "tagPlantId": "1902",
- "equipmentId": "",
- "title": "Material vurdering FD100 Vanninj service",
- "hasPersonResponsible": true,
- "workCenterId": "SPIMEK",
- "workCenterPlantId": "1901",
- "planningPlantId": "1901",
- "plannerGroupId": "PPMAUT",
- "plannerGroup": "AI Mekanisk",
- "locationId": "DC132",
- "systemId": "13",
- "requiredEndDate": "2019-08-24",
- "priorityId": "H",
- "sortField": "RETUR",
- "costWBSId": "T.O265C.GA.00007",
- "workOrderExist": false,
- "workOrderId": "24871954",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "plannedEndDate": "2019-08-24",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "activeStatusIds": "OSNO CRTE"
}
]
}
Get type of a maintenance record based on the maintenance record id.
maintenance-record-ids-any-of required | string Example: maintenance-record-ids-any-of=13624169,12345678 The maintenance record ids as a comma separated list. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-record-types?maintenance-record-ids-any-of=13624169%2C12345678' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "maintenanceRecordId": "24597659",
- "maintenanceRecordTypeId": "activityReport",
- "_links": {
- "self": "/maintenance-records/<type>/24597659?api-version=v1"
}
}
]
Search for recent Maintenance records changes.
The response contains only minimum information about the change made to the maintenance records
For more information about each individual maintenance record, use the lookup end-point referenced in _links.related
.
Find Work orders which have recently had a change in a specific property. Parameters:
statuses
and tasks/statuses
PT10M
for changes the last ten minutesinclude-maintenance-record-types is an optional parameter to define which maintenance records to return changes for.
The response contains list of changes to maintenance records (not list of maintenance records changed). Therefore, an individual maintenance record may be represented multiple times. Consumers can use changeDateTime to identify the last change.
Avoid using this endpoint for retrieving a large amount of changes for a longer time period. changed-since-duration
should typically not be more than 1 day from today's date.
Response will be 400 Bad request
if changed-since-duration
is more than 7 days (P7D
).
filter required | string (SearchMaintenanceRecordChangeLogFilter) Value: "recently-changed-property" Filter to limit the maintenance record change log by |
plant-id-any-of | string Example: plant-id-any-of=1900,1901,1902,1903 Comma-separated string array of plant-ids to filter your result to one or more plants. Wildcards are not supported. |
changed-since-duration | string Example: changed-since-duration=PT10M Duration from the current datetime to fetch changes for. Maximum value is 7 days |
property-name-any-of | string (SearchWorkOrderPropertyNames) Enum: "statuses" "tasks/statuses" Comma-separated string of the properties which were recently changed |
include-maintenance-record-types | Array of strings (MaintenanceRecordTypes) Items Enum: "failure-report" "activity-report" "certification-report" "technical-information-update-request" "technical-clarification" "modification-proposal" Include which types of maintenance records |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records-change-log?filter=SOME_STRING_VALUE&plant-id-any-of=1900%2C1901%2C1902%2C1903&changed-since-duration=PT10M&property-name-any-of=SOME_STRING_VALUE&include-maintenance-record-types=SOME_ARRAY_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "modificationProposalsChanged": [
- {
- "_links": {
- "related": "/maintenance-records/<type>/45894100"
}, - "recordId": "45894100",
- "property": "statuses/RIVE",
- "changeDateTime": "2023-11-15T13:10:00Z",
- "oldValue": "false",
- "newValue": "true"
}
], - "failureReportsChanged": [
- {
- "_links": {
- "related": "/maintenance-records/<type>/45894100"
}, - "recordId": "45894100",
- "property": "statuses/RIVE",
- "changeDateTime": "2023-11-15T13:10:00Z",
- "oldValue": "false",
- "newValue": "true"
}
], - "activityReportsChanged": [
- {
- "_links": {
- "related": "/maintenance-records/<type>/45894100"
}, - "recordId": "45894100",
- "property": "statuses/RIVE",
- "changeDateTime": "2023-11-15T13:10:00Z",
- "oldValue": "false",
- "newValue": "true"
}
], - "certificationReportsChanged": [
- {
- "_links": {
- "related": "/maintenance-records/<type>/45894100"
}, - "recordId": "45894100",
- "property": "statuses/RIVE",
- "changeDateTime": "2023-11-15T13:10:00Z",
- "oldValue": "false",
- "newValue": "true"
}
], - "technicalInformationUpdateRequestsChanged": [
- {
- "_links": {
- "related": "/maintenance-records/<type>/45894100"
}, - "recordId": "45894100",
- "property": "statuses/RIVE",
- "changeDateTime": "2023-11-15T13:10:00Z",
- "oldValue": "false",
- "newValue": "true"
}
], - "technicalClarificationsChanged": [
- {
- "_links": {
- "related": "/maintenance-records/<type>/45894100"
}, - "recordId": "45894100",
- "property": "statuses/RIVE",
- "changeDateTime": "2023-11-15T13:10:00Z",
- "oldValue": "false",
- "newValue": "true"
}
]
}
Covers updating relationships between maintenance records and other resources such as URL based references
Add a URL reference to a maintenance record.
Supported maintenance record types:
URL references are stored in the Document Management System (DMS). If there exist a DMS document for the provided characteristics it will be reused, otherwise a new DMS document will be created.
The following characteristicId can be used:
DISCIPLINE_B30
ADDITIONAL_REFERENCE_B30
DATE_OF_DOCUMENT_B30
(Date of photo / report)Existing URL references are available through the lookup endpoints for maintenance records. Examples: GET /maintenance-records/failure-reports/{record-id}?include-url-references=true&api-version=v1
Added optional input field documentId
.
If documentId is supplied, the attachment will be uploaded specifically to this document.
record-id required | string Id of the maintenance record (can be any type) |
Define URL reference to add relationship
url required | string <= 255 characters URL for the reference |
title | string <= 40 characters Default: "IOC annotations" Title describing the URL reference |
documentId | string or null Id of the document to relate the url reference to |
Array of objects (CharacteristicsItem) Characteristics are |
{- "title": "IOC annotation",
- "characteristics": [
- {
- "characteristicId": "DISCIPLINE_B30",
- "valueId": "C"
}, - {
- "characteristicId": "ADDITIONAL_REFERENCE_B30",
- "valueId": "1219-71VE1069"
}
]
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Remove a URL reference from an existing maintenance record.
Existing URL references can be found through the lookup endpoints for maintenance records. Example: GET /maintenance-records/failure-reports/{record-id}?include-url-references=true&api-version=v1
record-id required | string Id of the maintenance record (can be any type) |
url-reference-id required | string Id of the URL reference |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-record-relationships/%7Brecord-id%7D/url-references/%7Burl-reference-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Work orders are used to describe and plan activities regarding the plants technical structure for operations, maintenance, improvement work, modifications, and projects.
Get work order activities planned to be performed for a single planning plant.
The response is normally based on the planned scheduling of work order operations through the properties earliestStartDateTime
and earliestFinishDateTime
. It does not use assignment to baseline plan as a source as this does not cover all work.
It is possible to use the defined periods from the baseline plans as basis for the query parameters planPeriodStartDate
and planPeriodDuration
. Use /plants/{plant-id}?include-baseline-plan=true&api-version=v1
for this purpose.
personResponsibleId
will normally not be populated as planning is performed on the work center as a whole.
This endpoint returns only Work Order with status 'PLAN'. The field requiredEndDate
is dependent on workOrderType.
plan-period-start
and plan-period-duration
Provide the plan for a specific planning plant based on a defined plan period. This is the main usage of this endpoint.
Example of usage:
/work-order-plan/{planning-plant-id}?plan-period-start=2023-03-02&plan-period-duration=P21D&location-id-any-of=CD00&include-completed-work-order-operations=false&work-order-types-any-of=preventiveWorkOrders,correctiveWorkOrders&api-version=v1
/work-order-plan/{planning-plant-id}?plan-period-start=2023-03-02&plan-period-duration=P21D&work-center-id-any-of=C31*&include-completed-work-order-operations=false&api-version=v1
person-responsible-*
Get the work order plan for a specific planning plant, but only for work orders assigned to a specific user. Normally, work orders will not be assigned directly to a user, but in some work processes (such as inspection), this occurs.
Example of usage:
/work-order-plan/{planning-plant-id}?person-responsible-email=shortname@equinor.com&include-completed-work-order-operations=false&work-order-types-any-of=preventiveWorkOrders,correctiveWorkOrders&api-version=v1
It is possible to get all work order plans for a period which are assigned to user by combining all parameters.
Example of usage:
/work-order-plan/{planning-plant-id}?person-responsible-email=shortname@equinor.com&plan-period-start=2023-03-02&plan-period-duration=P21D&include-completed-work-order-operations=false&work-order-types-any-of=preventiveWorkOrders,correctiveWorkOrders&api-version=v1
Added query parameter work-center-id-any-of
.
Added properties cmrIndicator
and maintenanceRecordId
.
Added following filter options:
main-work-center-id-any-of
status-any-of
status-not
operation-notes-any-of
Added following fields to the response:
personResponsible
mainWorkCenterId
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added overheadMaintenanceWorkOrders
to work-order-types-any-of
query parameter.
Deprecated the filter
parameter. The endpoint will accept the parameter but ignore it. It is now possible to combine almost all
query parameters. person-responsible-email
and person-responsible-id
will still be mutually exclusive.
It is required to supply either plan-period-start
or person-responsible-*
in order to not cause issues in the underlying system.
planning-plant-id required | string Example: 1901 Planning plant to retrieve work order plan for |
filter required | string (GetWorkOrderPlanFilter) Deprecated Enum: "by-plan-period" "by-person-responsible" Deprecated parameter that is ignored but accepted. Has no effect. |
plan-period-start | string <date> Start of plan period ( |
plan-period-duration | string Example: plan-period-duration=P21D Duration of plan period |
person-responsible-email | string Example: person-responsible-email=shortname@equinor.com Email address for responsible person. Should not be used in combination with |
person-responsible-id | string Example: person-responsible-id=123456 Id for responsible person. Should not be used in combination with |
include-completed-work-order-operations | boolean Default: false Include Work Order Plans with completed work order operations |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
work-order-types-any-of | Array of strings (GetWorkOrderPlanWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Limit to specific work order types (any-of). Default includes all types |
work-center-id-any-of | string Example: work-center-id-any-of=POMAUT,POMELE,C31* Comma-separated list of work-center-id |
main-work-center-id-any-of | string Example: main-work-center-id-any-of=POMAUT,POMELE,C31* Comma-separated list of main-work-center-id |
revision-id-any-of | string Example: revision-id-any-of=OFP,OFP%202022 Comma-separated list of revision-id |
location-id-any-of | string Example: location-id-any-of=CD00,CD01 Comma-separated list of location-id |
status-any-of | Array of strings Items Enum: "STRT" "RDOP" "TECO" "REL" "CRTD" Example: status-any-of=STRT,RDOP,TECO Query based on statusIds (not all statuses are supported) |
status-not | Array of strings Items Enum: "STRT" "RDOP" "TECO" "REL" "CRTD" Example: status-not=STRT,RDOP,TECO Query based on statusIds (not all statuses are supported) |
operation-notes-any-of | string Query based on |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-order-plan/%7Bplanning-plant-id%7D?filter=SOME_STRING_VALUE&plan-period-start=SOME_STRING_VALUE&plan-period-duration=P21D&person-responsible-email=shortname%40equinor.com&person-responsible-id=123456&include-completed-work-order-operations=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&work-order-types-any-of=SOME_ARRAY_VALUE&work-center-id-any-of=POMAUT%2CPOMELE%2CC31*&main-work-center-id-any-of=POMAUT%2CPOMELE%2CC31*&revision-id-any-of=OFP%2COFP%25202022&location-id-any-of=CD00%2CCD01&status-any-of=STRT%2CRDOP%2CTECO&status-not=STRT%2CRDOP%2CTECO&operation-notes-any-of=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24983466",
- "workOrderTypeId": "correctiveWorkOrder",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "maintenanceRecordId": "45939208",
- "productionCritical": "M",
- "hseCritical": "H",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "mainWorkCenterId": "PPMAUT",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE MLTI NMAT",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsible": "Short Name",
- "personResponsibleEmail": "shortname@equinor.com",
- "operations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "planNotes": "LAG1",
- "inBaselinePlan": true,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "hasMaterial": false
}
]
}
]
Search for Work orders regardless of type through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response can include most of the details for each work order.
If additional data is needed, it can be retrieved by using the endpoint represented in the _links.self
property.
Find Work orders which have been recently changed (created or updated) for a given plant. Normally, clients will provide the parameters changed-since-datetime
and plant-id
to return any changed Work order from changed-since-datetime
to now. It is also possible to add before-datetime
query parameter - the endpoint will then return any work order changed between changed-since-datetime
and before-datetime
.
Parameters:
plant-id
changed-since-datetime
before-datetime
(optional)Find open Work orders before the basic-end-date
. basic-end-date
should be a date in the future so that already finished work orders will not be presented.
Parameters:
plant-id
basic-end-date
location-id
(optional)Find Work orders for a 'work-order-id' in an external partner system. Note: In theory, different external systems could have the same external-partner-id
but this is very unlikely. Clients are recommended to filter the response based on the plants they are interested in to avoid any issues.
Parameters:
external-partner-work-order-id
Find Work orders based on Cost Network Id.
Parameters:
cost-network-id
plant-id
(optional)Find Work orders based on Cost WBS Id.
Parameters:
cost-wbs-id
plant-id
(optional)Find Work orders based on their workCenterId
.
Parameters:
work-center-id-any-of
plant-id
(optional)Find Work orders based on their workOrderId
.
Parameters:
work-order-ids-any-of
plant-id
(optional)Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
Filter by-external-partner-work-order-id added.
Bugfix related to plantId source.
Introduced property calculationKey for operations.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Improved performance of endpoint.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added filter by-cost-wbs
, with required parameter cost-wbs-id
. Can be used in combination with the optional parameter plant-id
This filter only includes work orders where the WBS is represented on the work order level. It does not include work orders where WBS is only represented in the settlement rules.
Added filter by-cost-network
, with required parameter cost-network-id
. Can be used in combination with the optional parameter plant-id
Added property cmrIndicator
to the top level objects in the response.
Work orders now include the property isOpen
Modified GET work order to fetch data from Maintenance plant from the sap field swerk
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Added filter by-work-center-id
with the required parameter work-center-id-any-of
. Can optionally be combined with the parameter plant-id
Added filter by-work-order-id
with the required parameter work-order-ids-any-of
. Can optionally be combined with the parameter plant-id
Added option to not include operations for the Work Orders by setting the optional parameter include-operations
to false
(default is true
). This can improve performance for the endpoint.
Added property requiredEndDate
to the top level objects in the response (Not including preventive work orders).
Added property confirmationId
, RemainingWork
and RemainingWorkUnit
to operations
Added properties costs
and costsCurrency
to preventive work orders.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
from work orders. See STRY0261073 in ServiceNow for more details.
Added overheadMaintenanceWorkOrders
to include-work-order-types
filter in Parameters and to the response.
filter required | string (SearchWorkOrdersFilter) Enum: "recently-changed" "before-basic-end-date" "by-external-partner-work-order-id" "by-cost-network" "by-cost-wbs" "by-work-center-id" "by-work-order-id" Filter to limit the work order by |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
changed-since-datetime | string <date-time> Earliest datetime to return changed work orders for |
before-datetime | string <date-time> Optional parameter to limit the response to only work orders changed after changed-since-datetime but before this datetime |
include-work-order-text | boolean The text of the Work order is time-consuming to retrieve. Set to false to avoid returning it |
include-work-order-operation-text | boolean The text of the Work order operation is time-consuming to retrieve. Set to false to avoid returning it |
include-work-order-types | Array of strings (SearchWorkOrdersWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Include which types of work orders. Use comma-separated list of entries. |
include-operations | boolean Default: true Include operations for the Work orders in the response. |
basic-end-date | string <date-time> Earliest date to find maintenance plan history for (optional for filter) |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
external-partner-work-order-id | string If work order was initially created in an external system, this represent the unique id of it |
cost-wbs-id | string Required parameter if |
cost-network-id | string Required parameter if |
work-center-id-any-of | string Example: work-center-id-any-of=POMAUT,POMELE,C31 Comma-separated list of |
work-order-ids-any-of | string Example: work-order-ids-any-of=13624169,12345678 Comma-separated list of |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders?filter=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&changed-since-datetime=SOME_STRING_VALUE&before-datetime=SOME_STRING_VALUE&include-work-order-text=SOME_BOOLEAN_VALUE&include-work-order-operation-text=SOME_BOOLEAN_VALUE&include-work-order-types=SOME_ARRAY_VALUE&include-operations=SOME_BOOLEAN_VALUE&basic-end-date=SOME_STRING_VALUE&location-id=SOME_STRING_VALUE&external-partner-work-order-id=SOME_STRING_VALUE&cost-wbs-id=SOME_STRING_VALUE&cost-network-id=SOME_STRING_VALUE&work-center-id-any-of=POMAUT%2CPOMELE%2CC31&work-order-ids-any-of=13624169%2C12345678' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "correctiveWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "requiredEndDate": "2019-08-24",
- "_links": {
- "self": "/work-orders/corrective-work-orders/24983466?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
], - "preventiveWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "_links": {
- "self": "/work-orders/preventive-work-orders/24597659?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "workCenter": "AI Automasjon",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
], - "modificationWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "requiredEndDate": "2019-08-24",
- "_links": {
- "self": "/work-orders/modification-work-orders/24597659?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "cmrIndicator": true,
- "isOpen": true
}
], - "sasChangeWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "requiredEndDate": "2019-08-24",
- "_links": {
- "self": "/work-orders/sas-change-work-orders/24684145?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "projectWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "requiredEndDate": "2019-08-24",
- "_links": {
- "self": "/work-orders/project-work-orders/24684145?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
], - "subseaWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "requiredEndDate": "2019-08-24",
- "_links": {
- "self": "/work-orders/subsea-work-orders/24597659?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "isObsoleteSubseaWorkOrderType": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
], - "overheadMaintenanceWorkOrders": [
- {
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n Hvordan påvirker feilen utstyrets funksjon? ...\n",
- "requiredEndDate": "2019-08-24",
- "_links": {
- "self": "/work-orders/overhead-maintenance-work-orders/24597659?api-version=v1"
}, - "operations": [
- {
- "confirmationId": "26530932",
- "remainingWork": 1,
- "remainingWorkUnit": "MIN",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
]
}
Get type of a work order based on the work order id.
Added support for new work order type overheadMaintenanceWorkOrder
.
work-order-ids-any-of required | string Example: work-order-ids-any-of=13624169,12345678 The work orders as a comma separated list. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-order-types?work-order-ids-any-of=13624169%2C12345678' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24597659",
- "workOrderTypeId": "correctiveWorkOrder",
- "_links": {
- "self": "/work-orders/<type>-work-orders/24597659?api-version=v1"
}
}
]
Query work orders for potentially complicated patterns where speed is of the essence.
planning-plants
is the only mandatory fields, but clients should normally provide at least one more query criteria.
A normal use case would be to first provide an initial query criteria based on user input. Then allow the end-users based on the resulting data select unwanted results based on specific attributes. The unwanted results should then be added to the exclusion list (for example keywords-not
or work-centers-not)
and the API call repeated.
max-results
have a default value of 1000 and is necessary to provide a quick response.
The multi-line text
property is not included by default, but can included by setting include-text=true
in the request. This will influence performance significantly.
Pagination is supported for this endpoint by setting values for page
and per-page
. If these parameteres are omitted, the result will be returned without pagination.
The response schema has been optimized for speed, enabling the retrieval of work orders only from the past three years.
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&tags-all-of=10B9
- Return work orders where tag is 10B9
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&tags-all-of=AA15*&tags-not=AA15002
- Return work orders where tag has pattern AA15*
but is not AA15002
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&keywords-all-of=heli,male
- Return work orders where the title contains both heli
and male
/work-orders-optimized-for-query?api-version=v1&planning-plants=1100,1101,1102&status-any-of=PREP,RDEX&created-after-date=2021-06-01
- Return work orders with status PREP or RDEX and created after a certain date
Added revisionId to work order response (represents shutdown or campaign work).
Added query parameter include-maintenance-record
.
Added property workCenterId
to maintenanceRecords.failureReports
Added properties revision
and changedDatetime
.
Allow searching by changedOnDay
when is-open
is set. Search by using the new query parameters changed-after-date
and changed-before-date
.
Added list of supported statuses for status-all-of
, status-any-of
and status-not
query parameters. Status REL
is now supported.
Added property hasStatusREL
to the response.
Added support for optional pagination.
Added query parameter work-order-ids-any-of
Deprecated query parameter max-results
as the same functionality can be achieved with `per-page``.
Added query parameter work-order-ids-any-of
& add support for SWNG in status-all-of
, status-any-of
and status-not
query parameters.
Deprecated query parameter max-results
as the same functionality can be achieved with per-page
.
Added properties tag
, requiredEndDate
, hseCritical
& productionCritical
.
Added query parameter include-status-details
and the object statuses
Added overheadMaintenanceWorkOrders
to work-order-types
query parameter.
planning-plants required | Array of strings (QueryWorkOrdersOptimizedPlanningPlantAnyOf) Example: planning-plants=1100 Query based on planningPlantIds (any-of) |
keywords-all-of | Array of strings (QueryWorkOrdersOptimizedKeywordAllOf) Example: keywords-all-of=stillas Query based on keywords in title (case insensitive) |
keywords-any-of | Array of strings (QueryWorkOrdersOptimizedKeywordAnyOf) Example: keywords-any-of=sand Query based on keywords in title (case insensitive) |
keywords-not | Array of strings (QueryWorkOrdersOptimizedKeywordNot) Example: keywords-not=12M Query based on keywords in title (case insensitive) |
tags-all-of | Array of strings (QueryWorkOrdersOptimizedTagAllOf) Example: tags-all-of=1A*-6A Query based on tagIds. Expressions with wildcards can be used for example |
tags-any-of | Array of strings (QueryWorkOrdersOptimizedTagAnyOf) Example: tags-any-of=BF Query based on tagIds. Expressions with wildcards can be used for example |
tags-not | Array of strings (QueryWorkOrdersOptimizedTagNot) Example: tags-not=AE5566 Query based on tagIds. Expressions with wildcards can be used for example |
work-centers-any-of | Array of strings (QueryWorkOrdersOptimizedWorkCenterAnyOf) Example: work-centers-any-of=PPMMEC Query based on workCenterIds |
work-centers-not | Array of strings (QueryWorkOrdersOptimizedWorkCenterNot) Example: work-centers-not=PPMAUT Query based on workCenterIds |
systems-any-of | Array of strings (QueryWorkOrdersOptimizedSystemAnyOf) Example: systems-any-of=73 Query based on systemIds |
systems-not | Array of strings (QueryWorkOrdersOptimizedSystemNot) Example: systems-not=99 Query based on systemIds |
locations-any-of | Array of strings (QueryWorkOrdersOptimizedLocationAnyOf) Example: locations-any-of=MG29 Query based on locationIds |
locations-not | Array of strings (QueryWorkOrdersOptimizedLocationNot) Example: locations-not=W14 Query based on locationIds |
sort-field-any-of | Array of strings (QueryWorkOrdersOptimizedSortFieldAnyOf) Example: sort-field-any-of=RS1_11_S Query based on sortField ()used for grouping work orders) |
sort-field-not | Array of strings (QueryWorkOrdersOptimizedSortFieldNot) Example: sort-field-not=PRS10239.WP12 Query based on sortField (used for grouping work orders) |
revision-code-any-of | Array of strings (QueryWorkOrdersOptimizedRevisionCodeAnyOf) Example: revision-code-any-of=FACILITY Query based on revisionCode |
revision-code-not | Array of strings (QueryWorkOrdersOptimizedRevisionCodeNot) Example: revision-code-not=WELL Query based on sortField (often used for revision codes) |
status-all-of | Array of strings Items Enum: "PREP" "PRCO" "RDEX" "STRT" "CANC" "RDOP" "CRTD" "TECO" "REL" "SWNG" Example: status-all-of=PREP,CANC,TECO Query based on statusIds (not all statuses are supported) |
status-any-of | Array of strings Items Enum: "PREP" "PRCO" "RDEX" "STRT" "CANC" "RDOP" "CRTD" "TECO" "REL" "SWNG" Example: status-any-of=PREP,CANC,TECO Query based on statusIds (not all statuses are supported) |
status-not | Array of strings Items Enum: "PREP" "PRCO" "RDEX" "STRT" "CANC" "RDOP" "CRTD" "TECO" "REL" "SWNG" Example: status-not=PREP,CANC,TECO Query based on statusIds (not all statuses are supported) |
is-open | boolean Example: is-open=true Include only open work orders or only closed work orders. By default, all work orders are included. |
created-after-date | string <date> Earliest creation date to include |
created-before-date | string <date> Latest creation date to include |
changed-after-date | string <date> Earliest |
changed-before-date | string <date> Latest |
work-order-types | Array of strings (QueryWorkOrdersOptimizedWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Limit to specific work order types (one-of) |
work-order-ids-any-of | string Example: work-order-ids-any-of=13624169,12345678 Comma-separated list of |
sort-by | Array of strings (QueryWorkOrdersOptimizedSortBy) Items Enum: "createdDateTime desc" "createdDateTime asc" "workOrderId desc" "workOrderId asc" "systemId desc" "systemId asc" "locationId desc" "locationId asc" "sortField desc" "sortField asc" "title desc" "title asc" Property to sort the results by |
include-text | boolean Default: false Include the multi-line text of the work order (will cause the endpoint to go significantly slower) |
include-maintenance-record | boolean Default: false Include the main maintenance record linked to the work order (if any) |
include-status-details | boolean Default: false Include status details for the work orders |
max-results | number Deprecated Example: max-results=100 Maximum number of results to include. Default is 1000. |
per-page | integer Example: per-page=100 Results to return pr page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders-optimized-for-query?planning-plants=SOME_ARRAY_VALUE&keywords-all-of=SOME_ARRAY_VALUE&keywords-any-of=SOME_ARRAY_VALUE&keywords-not=SOME_ARRAY_VALUE&tags-all-of=SOME_ARRAY_VALUE&tags-any-of=SOME_ARRAY_VALUE&tags-not=SOME_ARRAY_VALUE&work-centers-any-of=SOME_ARRAY_VALUE&work-centers-not=SOME_ARRAY_VALUE&systems-any-of=SOME_ARRAY_VALUE&systems-not=SOME_ARRAY_VALUE&locations-any-of=SOME_ARRAY_VALUE&locations-not=SOME_ARRAY_VALUE&sort-field-any-of=SOME_ARRAY_VALUE&sort-field-not=SOME_ARRAY_VALUE&revision-code-any-of=SOME_ARRAY_VALUE&revision-code-not=SOME_ARRAY_VALUE&status-all-of=PREP%2CCANC%2CTECO&status-any-of=PREP%2CCANC%2CTECO&status-not=PREP%2CCANC%2CTECO&is-open=true&created-after-date=SOME_STRING_VALUE&created-before-date=SOME_STRING_VALUE&changed-after-date=SOME_STRING_VALUE&changed-before-date=SOME_STRING_VALUE&work-order-types=SOME_ARRAY_VALUE&work-order-ids-any-of=13624169%2C12345678&sort-by=SOME_ARRAY_VALUE&include-text=SOME_BOOLEAN_VALUE&include-maintenance-record=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&max-results=100&per-page=100&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24597659",
- "workOrderTypeId": "correctiveWorkOrder",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "revisionCodeId": "PS02_21",
- "requiredEndDate": "2023-11-28",
- "hseCritical": "M",
- "productionCritical": "H",
- "isOpen": true,
- "hasStatusPREP": true,
- "hasStatusPRCO": true,
- "hasStatusRDEX": true,
- "hasStatusSTRT": true,
- "hasStatusRDOP": true,
- "hasStatusCANC": true,
- "hasStatusTECO": true,
- "hasStatusREL": true,
- "hasStatusSWNG": true,
- "maintenanceRecord": {
- "maintenanceRecordTypeId": "failureReport",
- "_links": {
- "self": "/maintenance-records/failure-reports/45939208?api-version=v1"
}, - "recordId": "45894100",
- "tagId": "PX",
- "tagPlantId": "1100",
- "equipmentId": "12410072",
- "title": "Endre skalering på PDT",
- "requiredEndDate": "2019-08-24",
- "failureImpactId": "D",
- "isBreakdown": false,
- "hasUnsafeFailureMode": true,
- "unsafeFailureModeStatus": "OUTSTANDING",
- "locationId": "W14",
- "systemId": "11",
- "failureModeId": "STC",
- "failureModeGroupId": "PMMO-080",
- "detectionMethodId": "3",
- "detectionMethodGroupId": "PMDM-005",
- "failureMechanismId": "2.9",
- "failureMechanismGroupId": "PMMC-010",
- "activeStatusIds": "OSNO CRTE",
- "isOpen": true,
- "createdDateTime": "2019-08-24T14:15:22Z",
- "completedDateTime": "2019-08-24T14:15:22Z",
- "correctiveWorkOrderExist": false,
- "correctiveWorkOrderId": "24871954",
- "failureStartDateTime": "2019-08-24T14:15:22Z",
- "failureEndDateTime": "2019-08-24T14:15:22Z",
- "workCenterId": "POMMEC"
}, - "statuses": [
- {
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}
}
]
Search for Work orders changes done recently.
The response contains only minimum information about the change made to the work orders.
For more information about each individual work order, use the lookup end-point referenced in _links.related
.
This endpoint relies on change log being activated for the plant in question.
Find Work orders which have recently had a change in a specific property. Parameters:
basicStartDateTime
and basicEndDateTime
include-work-order-types is an optional parameter to define which work orders to return changes for.
The response contains list of changes to work orders (not list of work orders changed). Therefore, an individual work order may be represented multiple times. Consumers can use changeDateTime to identify the last change.
Added overheadMaintenanceWorkOrders
to include-work-order-types filter in Parameters and overheadMaintenanceWorkOrdersChanged
to response.
filter required | string (SearchWorkOrderChangeLogFilter) Value: "recently-changed-property" Filter to limit the work order by |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
changed-since-datetime | string <date-time> Earliest datetime to return changed work orders for |
property-name | string (SearchWorkOrderPropertyNames) Enum: "basicStartDateTime" "basicEndDateTime" The property which was recently changed |
include-work-order-types | Array of strings (SearchWorkOrderChangeLogWorkOrderTypes) Items Enum: "correctiveWorkOrders" "preventiveWorkOrders" "modificationWorkOrders" "sasChangeWorkOrders" "projectWorkOrders" "subseaWorkOrders" "overheadMaintenanceWorkOrders" Include which types of work orders. Use comma-separated list of entries. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders-change-log?filter=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&changed-since-datetime=SOME_STRING_VALUE&property-name=SOME_STRING_VALUE&include-work-order-types=SOME_ARRAY_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "correctiveWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
], - "preventiveWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
], - "modificationWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
], - "sasChangeWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
], - "projectWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
], - "subseaWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
], - "overheadMaintenanceWorkOrdersChanged": [
- {
- "_links": {
- "related": "/work-orders/<type>-work-orders/24597659"
}, - "workOrderId": "24597659",
- "property": "basicStartDateTime",
- "changeDateTime": "2021-01-15T13:10:00Z",
- "oldValue": "2020-09-16T00:00:00Z",
- "newValue": "2020-10-16T00:00:00Z"
}
]
}
Work orders operations are part of a work order and describe the planned activated.
Update the work order operation for all work order types.
The operation-id
parameter to use in the url can be found using the various lookup and search endpoints for work orders. operation-id
consists of two internal ids from the ERP system called routing number and counter separated by the -
character.
The following fields are possible to update:
MSO
- Must start on, SNET
- Start no earlier than or SNLT
- Start no later thanMFO
- Must finish on, FNET
- Finish no earlier than or FNLT
- Finish no later thanIndividual operations can be updated with relevant codes for systemCondition
to describe required process conditions for each operation. Possible values for the systemCondition
:
Added support for operationId
, title
, text
, workCenterId
, workCenterPlantId
, standardTextTemplate
, plannedWorkHours
, plannedWorkDuration
, capacityCount
, calculationKey
, systemCondition,
and isExcludedFromWorkOrderPlan
.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added support to reset systemCondition
by passing in the value 5
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Added support for updating the person responsible for the operation by using the path personResponsibleEmail
. The value used for this path should be the equinor email of an employee with a SAP user.
Added support for updating property isExcludedFromWorkOrderPlan
.
operation-id required | string |
Update of Work order details
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/isCompleted" "/actualPercentageComplete" "/schedulingStartConstraintId" "/schedulingStartConstraintDateTime" "/schedulingFinishConstraintId" "/schedulingFinishConstraintDateTime" "/systemCondition" "/operationId" "/title" "/text" "/workCenterId" "/workCenterPlantId" "/standardTextTemplate" "/plannedWorkHours" "/plannedWorkDuration" "/capacityCount" "/calculationKey" "/isExcludedFromWorkOrderPlan" "/personResponsibleEmail" Path indicating the property to be impacted by the operation |
required | string or boolean or number Value to be assigned to a resource property based on the operation and path. /schedulingStartConstraintId allowed values:
/schedulingFinishConstraintId allowed values:
/plannedWorkHours && /plannedWorkDuration: Duration as defined in ISO8601 Duration can exclusively be either in days or hours and minutes. A combination of these will return an error. The Some accepted examples: |
[- {
- "op": "replace",
- "path": "/schedulingStartConstraintId",
- "value": "SNET"
}, - {
- "op": "replace",
- "path": "/schedulingStartConstraintDateTime",
- "value": "2022-12-01T00:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Remove an operation from a work order (of any work order type).
The operation-id
parameter to use in the url can be found using the various lookup and search endpoints for work orders. operation-id
consists of two internal ids from the ERP system called routing number and counter separated by the -
character.
It is not allowed to delete an already confirmed or partly confirmed operation, as well as the last open operation within a work order. Once a work order is completed, it is not possible to remove operations.
operation-id required | string |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/work-order-operations/%7Boperation-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Convert an operation to a service operation.
This will change the type of operation to PM03 - service
and subsequently remove it from the operations list.
Required fields must be supplied: materialGroup
, purchasingGroup
, purchasingOrganization
.
One service has to be created with the following data:
lineId
, quantity
, unit
, materialGroup
, costElement
, and either a title
(for a text item service) or serviceId
.
Note: There is a known bug on the SAP side that prevents updating standardTextTemplate
for service operations.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Added support for updating property isExcludedFromWorkOrderPlan
.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
operation-id required | string |
Update of Work order service operation details
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/isServiceOperation" "/isCompleted" "/isExcludedFromWorkOrderPlan" "/schedulingStartConstraintId" "/schedulingStartConstraintDateTime" "/schedulingFinishConstraintId" "/schedulingFinishConstraintDateTime" "/systemCondition" "/operationId" "/title" "/text" "/workCenterId" "/workCenterPlantId" "/standardTextTemplate" "/scopeOfWork" "/quantity" "/unit" "/materialGroup" "/purchasingGroup" "/purchasingOrganization" "/purchaseOrderId" "/purchaseOrderItemId" "/service" "/plannedWorkHours" "/plannedWorkDuration" "/capacityCount" "/calculationKey" Path indicating the property to be impacted by the operation |
required | string or boolean or number or (ServiceJsonPatch (ServiceJsonPatch (object) or ServiceJsonPatch (object))) Value to be assigned to a resource property based on the operation and path. To update either
To update either
/service path only allows for the
|
[- {
- "op": "replace",
- "path": "/isServiceOperation",
- "value": true
}, - {
- "op": "replace",
- "path": "/materialGroup",
- "value": "3.06.0"
}, - {
- "op": "replace",
- "path": "/purchasingGroup",
- "value": "003"
}, - {
- "op": "replace",
- "path": "/purchasingOrganization",
- "value": "1001"
}, - {
- "op": "replace",
- "path": "/service",
- "value": {
- "lineId": "10",
- "title": "Mob/demob",
- "materialGroup": "3.06.1",
- "costElement": 6553000,
- "quantity": 3,
- "unit": "H"
}
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update the results of technical feedback.
When executing a technical feedback , the end-user will complete the steps described in maintenanceActivityText
and end up with a result in the form of a status (feedbackStatusId
) and a reason (feedbackReasonId
).
Compare the result with the business rules defined by /work-orders/technical-feedback-master-data
:
hasRequiredMaintenanceRecord: false
Use this endpoint
hasRequiredMaintenanceRecord: true
: Create a new maintenance record for technical feedback using the POST /maintenance-records/failure-reports
or POST /maintenance-records/activity-reports
endpoints with the relatedWorkOrder properties in the request to specify the work order and technical feedback
operation-id required | string |
technical-feedback-id required | string The id of the technical feedback as found in the work order lookup endpoint |
Update technical feedback
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/feedbackStatusId" "/feedbackReasonId" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Use values from endpoint |
[- {
- "op": "replace",
- "path": "/feedbackStatusId",
- "value": "0"
}, - {
- "op": "replace",
- "path": "/feedbackReasonId",
- "value": "01"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add materials to a work order operation (of any work order type).
The ´operation-id´ parameter to use in the url can be found using the various lookup and search endpoints for work orders. ´operation-id´ consists of two internal ids from the ERP system called routing number and counter separated by the -
character.
There are three types of materials which can be added to work orders:
materialId
equipmentId
(only for Subsea work orders)material
field (also known as text items).Each item in the request must include one of materialId
, equipmentId
or material
.
Added possibility of adding materials without a materialId (also known as text items).
In this case, the purchasing fields mentioned below need to be provided as input:
material
price
priceUnitId
purchasingGroup
goodsRecipient
unloadingPoint
materialGroup
Split parts of location
into finalLocation
and temporaryLocation
in the response.
Added support for new properties supplierId
, vendorsMaterialNumber
, deliveryTimeInDays
, requisitionerId
, holdDeliveryOnshore
, text
.
Added new property requisitionerId
to the response.
Added property unloadingPoint
to the response.
operation-id required | string |
Add material details
quantity required | number <double> >= 0 |
quantityUnitId required | string Commonly used values: PC - Pieces L - Liters KG - Kilograms M - Meters |
materialId | string |
equipmentId | string |
material | string |
requiredDatetime | string or null <date-time> Specifies the date and time for when the material is needed at its destination |
price | number <double> >= 1 |
priceUnitId | string |
purchasingGroup | string Specifies the key which is responsible for procurement of material |
goodsRecipient | string |
materialGroup | string Specifies the group of materials which have similar attributes |
supplierId | string Account Number of Supplier |
vendorsMaterialNumber | string Material Number Used by Vendor |
requisitionerId | string Indicates for whom the material is to be ordered |
unloadingPoint | string Specifies the point at which the material is to be unloaded |
deliveryTimeInDays | integer time in days it takes for the vendor to deliver the material |
holdDeliveryOnshore | boolean Flag to indicate the delivery should be held at supplying base instead of immediately being delivered to its destination |
text | string |
[- {
- "equipmentId": "12218664",
- "quantity": 1,
- "quantityUnitId": "PC"
}, - {
- "equipmentId": "12146835",
- "quantity": 1,
- "quantityUnitId": "PC"
}
]
[- {
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
Remove a material from a work order operation (of any work order type).
The ´operation-id´ parameter to use in the url can be found using the various lookup and search endpoints for work orders. ´operation-id´ consists of two internal ids from the ERP system called routing number and counter separated by the -
character.
The ´reservation-id´ parameter to use in the url can be found using the include-materials query parameter to work order lookup.
operation-id required | string Example: -0001 Id of the operation that the material is related to.
Consists of two internal ids from the ERP system called routing number and counter, separated by the |
reservation-id required | string Reservation id for the material found through work order lookup with include-materials |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/work-order-operations/%7Boperation-id%7D/materials/%7Breservation-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update a material in a work order operation (of any work order type).
The ´operation-id´ parameter to use in the url can be found using the various lookup and search endpoints for work orders. ´operation-id´ consists of two internal ids from the ERP system called routing number and counter separated by the -
character.
The ´reservation-id´ parameter to use in the url can be found using the include-materials query parameter to work order lookup.
Added support for the same properties which can be used for material creation.
operation-id required | string Example: -0001 Id of the operation that the material is related to.
Consists of two internal ids from the ERP system called routing number and counter, separated by the |
reservation-id required | string Reservation id for the material found through work order lookup with include-materials |
Update material details
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/finalLocation" "/temporaryLocation" "/price" "/priceUnitId" "/purchasingGroup" "/goodsRecipient" "/unloadingPoint" "/materialGroup" "/supplierId" "/vendorsMaterialNumber" "/deliveryTimeInDays" "/requisitionerId" "/holdDeliveryOnshore" "/text" "/operationId" "/quantity" "/requiredDatetime" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "replace",
- "path": "/finalLocation",
- "value": "On Ramp"
}, - {
- "op": "replace",
- "path": "/temporaryLocation",
- "value": "In the truck"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add safety measure to work order operation. Safety measures are needed when a work order operation requires special safety practices or risk management.
operation-id required | string |
Safety measure to add
documentId | string Unique id for the document to be used against endpoints for the |
{- "documentId": "WORK AT HEIGHT-A80-000-00"
}
{- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
Remove a safety measure from a work order operation.
The operation-id
and document-id
parameters to use in the request URL can be found using the various Lookup and Search endpoints for Work orders, typically by using the include-operations
query parameter.
operation-id
consists of two internal ids from the ERP system called routing number and counter separated by the -
character.document-id
consists of four parts separated by the -
character: A document number
of up to 25 characters (e.g. WORK AT HEIGHT
), the document type
(e.g. B30
, A01
), a 3-digit document part
(e.g. 000
), and a 2-digit document version
part (e.g. 01
).operation-id required | string Example: 1005419798-00000001 The |
document-id required | string Example: WORK AT HEIGHT-A80-000-00 Unique id for the safety measure document to remove. |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/work-order-operations/1005419798-00000001/safety-measures/%7Bdocument-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Covers updating relationships between Work order and other resources such as maintenance records, tags and material
Add new relationship between a work order and a maintenance record.
For source
type ObjectList
, the relationship will be stored in the object list of the work order.
This will add a relationship that is accessible by lookup requests to the work order.
For source
type TechnicalFeedback
, the relationship will be stored as part of the technical feedback for the work order. Depending on technicalFeedbackParameters.statusId
and technicalFeedbackParameters.reasonId
, different types of maintenance records are required (either failureReport
or activityReport
). If these requirements are not fulfilled, the response status code will be 409 - Conflict.
This endpoint returns no response data. Perform a lookup request for the specific work order type to get updated information. This is currently not possible for technical feedback, but is expected to be added in the future.
The maintenance record must not be closed.
Added relationship of type TechnicalFeedback
.
Fixed issue with relatedWorkOrder
source
ObjectList
.
Removed requirement for providing reasonId
as part of the technicalFeedbackParameters
when source
is TechnicalFeedback
.
work-order-id required | string Id of the work order (can be any type) |
Define maintenance record to add relationship to
recordId required | string Id of the maintenance record |
source | string Default: "ObjectList" Enum: "ObjectList" "TechnicalFeedback" Defines the type of relationship to the work order |
sourceId | string Reference to the specific element the relationship will be defined for. The specific format for this value will depend on the SourceId comes in the format 'XX-1234567-1'. XX denotes whether the object comes from the Object List directly ("OL"), or from Technical Feedback ("TL"). The 7 digits are an internal SAP id of this object list, uniquely identifying the Object List of your work order. The last digit is the counter of the object list, identifying the line in the Object List. |
object For source |
{- "recordId": "45894100",
- "source": "ObjectList"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Remove an existing relationship between a work order and a maintenance record.
Internally in the ERP system, this relationship will be removed from the object list of the work order.
This endpoint returns no response data. Perform a lookup request for the specific work order type to get updated information.
In some case, it will not be possible to remove a maintenance record relationship to a work order. For example, when a corrective work order is created from a failure report, it is not possible to remove this initial relationship (internally this is referred to as the header notification of the work order).
work-order-id required | string Id of the work order (can be any type) |
record-id required | string Id of the maintenance record (can be any type) |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/work-order-relationships/%7Bwork-order-id%7D/related-maintenance-records/%7Brecord-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add new relationship between a work order and a tag.
This endpoint returns no response data. Perform a lookup request for the specific work order type to get updated information. This is currently not possible for technical feedback, but is expected to be added in the future.
work-order-id required | string Id of the work order (can be any type) |
Define tag to add relationship to
tagId required | string Id of the tag |
tagPlantId required | string Id of the plant |
{- "tagId": "PX",
- "tagPlantId": "1100"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Remove an existing relationship between a work order and a tag/functional location.
Internally in the ERP system, this relationship will be removed from the object list of the work order.
This endpoint returns no response data. Perform a lookup request for the specific work order type to get updated information.
work-order-id required | string Id of the work order (can be any type) |
tag-plant-id required | string Example: 1100 Id of the plant |
tag-id required | string Example: AB |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/work-order-relationships/%7Bwork-order-id%7D/related-tags/%7Btag-plant-id%7D-%7Btag-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add new relationship between a work order and an equipment.
This endpoint returns no response data. Perform a lookup request for the specific work order type to get updated information. This is currently not possible for technical feedback, but is expected to be added in the future.
work-order-id required | string Id of the work order (can be any type) |
Define equipment to add relationship to
equipmentId required | string |
{- "equipmentId": "11948620"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Used for all corrective maintenance, i.e. all maintenance that is intended to restore the equipment's technical condition, so that it can perform its assigned function.
Corrective work orders can also be used for activities not directly connected with equipment failure (corrective), but as follows same work process for prioritization and scheduling.
Lookup single Corrective Work order with related information
Technical feedback ensures a common and best practice maintenance based on the type of tag/equipment. It's mostly used by preventive work orders, but can in some cases be used in corrective work orders. As part of work order execution, the technical feedback will need to be completed.
The endpoint /work-orders/technical-feedback-master-data
describes the business rules for when it's necessary to create a maintenance record based on the status (feedbackStatusId
) and reason (feedbackReasonId
) found for the technical feedback.
The include-technical-feedback
query parameter for preventive and corrective work order lookup endpoints will return the technical feedback for each operation of the provided work order.
If a technical feedback has isDetailedFeedback: true
, it requires a very specific feedback type currently not supported by the Maintenance API.
When executing a technical feedback item, the end-user will complete the steps described in maintenanceActivityText
and end up with a result in the form of a status (feedbackStatusId
) and a reason (feedbackReasonId
). Compare the result with the business rules defined by /work-orders/technical-feedback-master-data
and base the next step based on the value of hasRequiredMaintenanceRecord
:
hasRequiredMaintenanceRecord: true
: Create a new maintenance record for technical feedback using the POST /maintenance-records/failure-reports
or POST /maintenance-records/activity-reports
endpoints with the relatedWorkOrder properties in the request to specify the work order and technical feedback
hasRequiredMaintenanceRecord: false
As no maintenance record is required, the technical feedback is completed using the endpoint PATCH /work-order-operations/{operation-id}/technical-feedback/{feedback-id}
If you want to include the maintenance records of a technical feedback, one needs to apply both include-technical-feedback=True
, and include-maintenance-records=True
.
Production resources/tools (PRT) are used for materials, tools and equipment that are needed to carry out the task and are to be returned after use.
In Equinor, this is normally added as part of maintenance program. Maintenance API supports the following PRT resources:
include-attachments=true
)include-measuring-points=true
)include-url-references=true
)For more information see governing document GL1624 Guidelines for the establishment of a preventive maintenance programme in SAP.
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a correctiveWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added new query parameter include-technical-feedback
. It returns related technical feedback required to be completed as part of work order execution. Technical feedback is mostly used for preventive work orders, but can also be used for corrective work orders.
Introduced property detectionMethodGroupId
and detectionMethodId
for technical feedback.
Added new query parameter include-measurements
.
Added new query parameters include-measuring-points
, include-last-measurement
and include-url-references
. include-attachments
extended to also return PRT attachments of an operation. attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added properties costs
and costsCurrency
.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added activeStatusIds to related maintenance records.
attachments
now include the property documentCreatedDate
Removed 'urlReferences' field from response object, and removed 'include-url-references' query parameter. URLReferences are only supported for Notifications.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
'tagDetails' object now includes the new field 'maintenanceConceptId'
Work orders now include the property 'isOpen'
Added new query parameter include-safety-measure
Added new query parameter include-estimated-costs
Added tag
and title
to maintenanceRecords
expand.
Added new properties for additionalCostWBSId
and costWBSId
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added new properties isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
Added new property hasCommunication
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-technical-feedback | boolean Default: false Include technical feedback required to be completed as part of work order execution. |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (including PRT attachments) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-measuring-points | boolean Default: false Include related measuring points from PRT |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-measurements | boolean Default: false Include related measurements |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-estimated-costs | boolean Default: false Include estimated costs |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/corrective-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-technical-feedback=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-estimated-costs=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "technicalFeedback": [
- {
- "feedbackId": "1005419798-00000001-1",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "equipmentId": "11948620",
- "isDetailedFeedback": false,
- "detailedFeedbackTypeId": "04",
- "detailedFeedbackType": "Leakage test ESD/PSD valves",
- "maintenanceConceptId": "VA1571",
- "maintenanceConceptionVersionId": "140",
- "maintenanceActivityId": "VA1571-0001",
- "maintenanceActivity": "On/off ventil - Visuell inspeksjon",
- "maintenanceActivityText": "The purpose of a visual inspection is to detect damage, faults\nand defects that may impact on safety and regularity.\n\nInsulation is not normally removed to perform a visual\ninspection (only when there is a suspicion of damage, fault or\ndefect).\n\nCheck the following points (open any inspection hatches in\ninsulation):\n",
- "catalogProfileId": "PM-170",
- "systemId": "BS",
- "lastDoneDateTime": "2019-08-24T14:15:22Z",
- "feedbackStatusId": "1",
- "feedbackReasonId": "01",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodId": "1",
- "mandatoryMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "optionalMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
]
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "activeStatusIds": "REL CNF",
- "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "activeStatusIds": "OSNO CRTE",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "estimatedCosts": [
- {
- "costCategoryId": "COST_CUTBACK",
- "costCategory": "External Services",
- "estimatedCosts": 10000,
- "plannedCosts": 10000,
- "actualCosts": 10000,
- "costsCurrency": "NOK"
}
], - "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "correctiveWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
Update a Corrective Work Order.
Supports:
/plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-locations=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-systems=true&api-version=v1
to get a list of possible values) It's generally recommended that the values of costWBSId
and additionalCostWBSId
match.
When the work order is released (by setting status REL
), there is Equinor business logic check to see if they match.
If the work order is released through Maintenance API, different values for costWBSId and additionalCostWBSId will result in an error.
If the work order is released directly in the ERP system, the user will receive a warning and can choose to continue.
Updating of costWBSId
will trigger a new determination of the settlement rule in the ERP system. If a settlement rule already exists, the updating of costWBSId
will automatically update the settlement rule. Hence the costWBSId
and settlement rule are allways aligned.
Append to text follows requirement I-103209 - Notation in long text field - Upstream offshore
.
Newest information in text is added above existing information and is automatically signed with date and full name of logged on user.
When Advanced ERP text is enabled, information is not automatically signed and has to be sent with the input when using append
priorityId
can only be updated if the Corrective Work Order has a different priority than the FailureReport connected to this workorder.
Added additional properties to update
Adjusted logic for append text to work order. Newest information in text is now added above existing information.
Added possibility for update of sortField and revisionId.
Added possibility for update of locationId and systemId.
Added possibility for update of title
and plannerGroupId
.
Added possibility for update of costs
.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added possibility for update of costWBSId
and additionalCostWBSId
.
Added possibility for update of priorityId
.
Updating of costWBSId
from now on triggers the determination/updating of the settlement rule.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current work order text.
work-order-id required | string |
The information to be updated
op | string Enum: "append" "replace" "prepend" JSON Patch operation according to RFC6902. Operation
Operation
Operation
|
path | string Enum: "/text" "/workCenterId" "/workCenterPlantId" "/tagId" "/tagPlantId" "/basicStartDateTime" "/basicEndDateTime" "/revisionId" "/sortField" "/locationId" "/systemId" "/title" "/plannerGroupId" "/costs" "/additionalCostWBSId" "/costWBSId" "/priorityId" The property to be updated by the non-trivial patch operation.
|
value | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "append",
- "path": "/text",
- "value": "Text to append\nMulti-line"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add operations
Added support for calculation key, which determines the relationship between plannedWorkDuration plannedWorkHours, and capacityCount.
Added support for standardTextTemplate
(standard text template identifier), systemCondition
(describes required process condition for each operation) and isExcludedFromWorkOrderPlan
(based on operation status).
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
work-order-id required | string |
Operations to add to existing Work order
title required | string [ 0 .. 40 ] characters |
operation required | string Id of operation user is familiar with |
workCenterId | string |
workCenterPlantId | string |
text | string |
calculationKey | string or null Enum: "CALC_KEY_MANUAL" "CALC_KEY_DURATION" "CALC_KEY_PLANNED_HOURS" "CALC_KEY_CAPACITY" Calculation key defines which of the fields plannedWorkHours,capacityCount and plannedDuration are derived based on the values of the two others. If calculation key is |
plannedWorkDuration | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
plannedWorkHours | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
capacityCount | integer <int32> |
schedulingStartConstraintId | string Enum: "MSO" "SNET" "SNLT" Constraint: * |
schedulingStartConstraintDateTime | string <date-time> |
schedulingFinishConstraintId | string Enum: "MFO" "FNET" "FNLT" Constraint: * |
schedulingFinishConstraintDateTime | string <date-time> |
isScheduledExternally | boolean |
earliestStartDateTime | string <date-time> |
earliestFinishDateTime | string <date-time> |
standardTextTemplate | string Standard text template identifier |
isExcludedFromWorkOrderPlan | boolean Default: false |
systemCondition | string Required process conditions for each operation |
[- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT4H0M0S",
- "capacityCount": 2,
- "text": "Bygge stillas\n3 x 3 x 5 meter",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT3H30M0S",
- "capacityCount": 1,
- "text": "",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Endpoint is deprecated as of 06.2021.
It is replaced by a generic endpoint for all work order types /work-order-operations/{operation-id}
.
Update the work order operation. Currently, we support completing the operation but additional functionality will be added in future releases.
Deprecated endpoint
work-order-id required | string |
operation required | string Example: 0020 |
Work order operation to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isCompleted" Path indicating the property to be impacted by the operation |
required | boolean or string Value to be assigned to a resource property based on the operation and path. |
{- "op": "replace",
- "path": "/isCompleted",
- "value": true
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update estimated costs for corrective work order. Cost needs to be provided in the currency of the work order. The Cost Category ID needs to be:
COST_CUTBACK
COST_EXTERNAL_SERVICES
COST_INTERNAL_SERVICES
COST_INTERNAL_PERSONELL
COST_MATERIALS_OF_CONSUMPTION
COST_OTHER_EXPENCES
COST_REPAIR_AND_MAINTENANCE
work-order-id required | string |
cost-category-id required | string Example: COST_EXTERNAL_SERVICES |
Estimated cost for cost category
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/estimatedCosts" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "replace",
- "path": "/estimatedCosts",
- "value": 17000
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add time ticket for work performed
Text multi-line property now is persisted as expected in ERP system.
work-order-id required | string |
operation required | string Example: 0020 |
Time ticket to add to operation
workHours required | string The work performed for the operation. Duration as defined in ISO8601 |
remainingWorkHours | string New estimate of remaining work for the operation. In Duration format as defined in ISO8601 |
workStartDateTime | string or null <date-time> |
workEndDateTime | string or null <date-time> |
workCenterId | string Resource which performed the work. Default is based on Work order operation. |
workCenterPlantId | string Resource which performed the work. Default is based on Work order operation. |
title | string <= 40 characters Title for time ticket |
text | string Multi-line description for the time ticket |
{- "workHours": "P0Y0M0DT2H0M0S",
- "remainingWorkHours": "P0Y0M0DT2H0M0S",
- "workStartDateTime": "2020-11-01T00:00:00Z",
- "workEndDateTime": "2020-11-05T00:00:00Z",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "title": "Prep jobb",
- "text": "Multi-line text\nDescribing the work done"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Upload attachment for Corrective Work Order
Limitations of Attachment upload endpoints:
work-order-id required | string |
files | Array of strings <binary> [ 1 .. 5 ] items |
curl --request POST \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/corrective-work-orders/%7Bwork-order-id%7D/attachments \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Download single attachment for corrective Work order
work-order-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/corrective-work-orders/%7Bwork-order-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Activate or deactivate status for Work order.
Overview of how status are used can be found in Equinor's governing document GL1561 - Work orders and notifications types
To identify which status the work order currently has perform a request to: work-orders/corrective-work-orders/{{work-order-id}}?include-status-details=true
The endpoint supports most status activation such as:
Deactivation is supported in most cases where there is no interdependency between statuses. For status with a statusOrder value, deactivation is not necessary (nor supported) as the business logic will handle the switch.
The following statuses are not supported at the moment and will return a HTTP 405 response:
Support for releasing a work order by setting the REL status.
Support for complete-outstanding-maintenance-records query parameter for TECO and CLSD statuses.
Support for deactivating TECO status
Support for ActivatedDateTime for TECO status. It is an optional parameter which allows to overwrite the default reference date for TECO. If no value is provided, the value will be set to current timestamp.
Parameter complete-outstanding-maintenance-records set to true will close maintenance records which have a relationship to the work order via the ObjectList
.
work-order-id required | string |
status-id required | string |
complete-outstanding-maintenance-records | boolean Default: true Additional parameter to activation of TECO and CLSD statuses. Determines if related maintenance records should be closed as well. |
Work order status to update
isActive required | boolean |
activatedDateTime | string or null <date-time> |
{- "isActive": true
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for corrective Work orders through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each corrective work order. This can be found by performing a subsequent request to Lookup corrective-work-order.
Find Corrective work orders based on recent status activations for the work orders. Parameters:
status-id
plant-id
max-days-since-activation
Find open Corrective work orders before the required-end-date
.
Parameters:
plant-id
required-end-date
location-id
(optional) system-id
(optional)Find open Corrective work orders by maintenance-type-id
.
Parameters:
plant-id
maintenance-type-id
Added filter by-maintenance-type-id
.
Added system-id
as optional parameter for filter before-required-end-date
.
Added revisionId
and revision
to work order response (represents shutdown or campaign work).
Added properties costs
and costsCurrency
.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added property cmrIndicator
in the response.
Work orders now include the property 'isOpen'
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
filter required | string (SearchCorrectiveWorkOrderFilter) Enum: "recent-status-activations" "same-maintenance-plan" "before-required-end-date" "by-maintenance-type-id" Filter to limit the Corrective work order by |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
max-work-orders | integer <int32> >= 0 Maximal numbers of results returned (optional for filter) |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
required-end-date | string <date> placeholder |
system-id | string Deprecated system-id of the corrective work order |
maintenance-type-id | string Example: maintenance-type-id=017 Type of maintenance for the work order |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/corrective-work-orders?filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&max-days-since-activation=SOME_INTEGER_VALUE&max-work-orders=SOME_INTEGER_VALUE&location-id=SOME_STRING_VALUE&required-end-date=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&maintenance-type-id=017' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
]
Create new Corrective Work order based on a supplied failure report.
It's possible to supply operations in the create operation. If no operations are passed, a default operation will be created automatically.
To lookup the created corrective work order use endpoint /work-orders/corrective-work-orders/{work-order-id}
Up until release 1.32.0, we have enabled creating operations with operationId
0010
through the API, allowing the user to customize this operation during creation.
Starting from release 1.32.0, the API logic for creating operations has been aligned with the new logic enforced by the SAP backend system. The new logic adds operations from the task list of any failure report that the work order is created from.
As a result, creating an operation with a reserved operationId
is no longer allowed.
This always affects operations with operationId
equal to 0010
, but can also apply to other operations.
To see which operations are already reserved, use /maintenance-api/maintenance-records/failure-reports/{record-id}&include-task-list=true
Added externalPartnerWorkOrderId property to be used as reference to work order in external partner system.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added sortField and revisionId to create request. Use /plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values for revisionId
.
Added support for calculation key on operation level. It determines the relationship between plannedWorkDuration, plannedWorkHours, and capacityCount.
Add property IsExcludedFromWorkOrderPlan
to operations model.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added property cmrIndicator
in the response.
Work orders now include the property 'isOpen'
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Restriction to create a work order with operationId 0010
and other reserved operationIds.
To see which operationIds are already reserved, use /maintenance-api/maintenance-records/failure-reports/{record-id}&include-task-list=true
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
from the response. See STRY0261073 in ServiceNow for more details.
Corrective Work order to create
planningPlantId required | string |
workCenterId required | string |
workCenterPlantId required | string |
title required | string |
plantId required | string |
failureReportId required | string |
externalPartnerWorkOrderId | string Work order id as represented in external partner system |
Array of objects (WorkOrderOperationCreate) | |
tagId | string or null |
tagPlantId | string |
plannerGroupId | string |
maintenanceTypeId | string |
basicStartDateTime | string <date-time> |
basicEndDateTime | string <date-time> |
revisionId | string An identifier to the revision (shutdown or campaign work) this work order is related to. Read possible values from |
sortField | string Field used to assist in grouping/sorting Work orders. Unstructured field used non-consistently between plants |
locationId | string Structured location within the plant where the tag is located |
text | string |
{- "failureReportId": "45836077",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "workCenterId": "CO2PIP",
- "workCenterPlantId": "1100",
- "title": "14xx/Installere flowline CD2",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "plantId": "1100",
- "sortField": "PRS10239.WP12",
- "revisionId": "PV04_21",
- "basicStartDateTime": "2020-11-01T00:00:00Z",
- "basicEndDateTime": "2021-03-01T00:00:00Z",
- "text": "Project for replacing flowing on CD2\n",
- "operations": [
- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": "Bygge stillas\n3 x 3 x 5 meter"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": ""
}
]
}
{- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "correctiveWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "costs": 10000,
- "costsCurrency": "NOK",
- "isOpen": true,
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "hasCommunication": true
}
Used for work orders generated from pre-defined preventive maintenance programs.
Lookup single Preventive Work order with related information.
Technical feedback ensures a common and best practice maintenance based on the type of tag/equipment. It's mostly used by preventive work orders, but can in some cases be used in corrective work orders. As part of work order execution, the technical feedback items will need to be completed.
The endpoint /work-orders/technical-feedback-master-data
describes the business rules for when it's necessary to create a maintenance record based on the status(feedbackStatusId
) and reason(feedbackReasonId
) found for the technical feedback.
The include-technical-feedback
query parameter for preventive and corrective work order lookup endpoints will return the technical feedback for each operation of the provided work order.
If a technical feedback has isDetailedFeedback: true
, it requires a very specific feedback type currently not supported by the Maintenance API.
When executing a technical feedback item, the end-user will complete the steps described in maintenanceActivityText
and end up with a result in the form of a status(feedbackStatusId
) and a reason(feedbackReasonId
). Compare the result with the business rules defined by /work-orders/technical-feedback-master-data
:
hasRequiredMaintenanceRecord: true
: Create a new maintenance record for technical feedback using the POST /maintenance-records/failure-reports
or POST /maintenance-records/activity-reports
endpoints with the relatedWorkOrder properties in the request to specify the work order and technical feedback
hasRequiredMaintenanceRecord: true
As no maintenance record is required, the technical feedback is completed using the endpoint PATCH /work-order-operations/{operation-id}/technical-feedback/{feedback-id}
If you want to include the maintenance records of a technical feedback, one needs to apply both include-technical-feedback=True
, and include-maintenance-records=True
.
Production resources/tools (PRT) are used for materials, tools and equipment that are needed to carry out the task and are to be returned after use.
In Equinor, this is normally added as part of maintenance program. Maintenance API supports the following PRT resources:
include-attachments=true
)include-measuring-points=true
)include-url-references=true
)For more information see governing document GL1624 Guidelines for the establishment of a preventive maintenance programme in SAP.
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a preventiveWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Added sourceId to related maintenance records.
Added isActive property for maintenance plan details.
Introduced property activeStatusIds for operations.
Added the following properties:
personResponsibleId
and personResponsibleEmail
isProductionCritical
and isHSECritical
workCenter
plannerGroup
Added new query parameter include-technical-feedback
. It returns related technical feedback required to be completed as part of work order execution.
Introduced property detectionMethodGroupId
and detectionMethodId
for technical feedback.
Added new query parameter include-measurements
Added new query parameters include-measuring-points
, include-last-measurement
and include-url-references
. include-attachments
extended to also return PRT attachments of an operation. attachments
now include properties documentType
, documentNumber
and documentTitle
.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added activeStatusIds to related maintenance records.
attachments
now include the property documentCreatedDate
Removed urlReferences
field from response object, and removed include-url-references
query parameter. URLReferences are only supported for Notifications.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property 'isOpen'
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new properties callNumber
, previousCall
, and completionDate
to maintenancePlan
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added properties additionalCostWBSId
, additionalCostWBS
, costWBS
, costWBSId
and requiredEndDate
to the response.
Added new property dueDate
to the response. Removed the property requiredEndDate
.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new query parameter include-estimated-costs
. Set to true
to include estimatedCosts
array in the response.
Added properties costs
and costsCurrency
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
Added new property hasCommunication
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-technical-feedback | boolean Default: false Include technical feedback required to be completed as part of work order execution. |
include-materials | boolean Default: false Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list and technical feedback) |
include-maintenance-plan-details | boolean Default: false Include details for maintenance plan |
include-attachments | boolean Default: false Include Work order attachments (including PRT attachments) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-measuring-points | boolean Default: false Include related measuring points from PRT |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-measurements | boolean Default: false Include related measurements |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
include-estimated-costs | boolean Default: false Include estimated costs |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/preventive-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-technical-feedback=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-maintenance-plan-details=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-measuring-points=SOME_BOOLEAN_VALUE&include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE&include-estimated-costs=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "measuringPoints": [
- {
- "lastMeasurement": {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
], - "technicalFeedback": [
- {
- "feedbackId": "1005419798-00000001-1",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "equipmentId": "11948620",
- "isDetailedFeedback": false,
- "detailedFeedbackTypeId": "04",
- "detailedFeedbackType": "Leakage test ESD/PSD valves",
- "maintenanceConceptId": "VA1571",
- "maintenanceConceptionVersionId": "140",
- "maintenanceActivityId": "VA1571-0001",
- "maintenanceActivity": "On/off ventil - Visuell inspeksjon",
- "maintenanceActivityText": "The purpose of a visual inspection is to detect damage, faults\nand defects that may impact on safety and regularity.\n\nInsulation is not normally removed to perform a visual\ninspection (only when there is a suspicion of damage, fault or\ndefect).\n\nCheck the following points (open any inspection hatches in\ninsulation):\n",
- "catalogProfileId": "PM-170",
- "systemId": "BS",
- "lastDoneDateTime": "2019-08-24T14:15:22Z",
- "feedbackStatusId": "1",
- "feedbackReasonId": "01",
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodId": "1",
- "mandatoryMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "optionalMaintenanceRecords": [
- {
- "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
]
}
], - "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "activeStatusIds": "OSNO CRTE",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "maintenancePlan": {
- "maintenancePlanId": "1108244",
- "maintenancePlanItemId": "10149640",
- "planDate": "2019-08-24",
- "isActive": true,
- "callNumber": 33,
- "previousCall": "12451245",
- "completionDate": "2019-08-24"
}, - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "measurements": [
- {
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "estimatedCosts": [
- {
- "costCategoryId": "COST_CUTBACK",
- "costCategory": "External Services",
- "estimatedCosts": 10000,
- "plannedCosts": 10000,
- "actualCosts": 10000,
- "costsCurrency": "NOK"
}
], - "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "costWBSId": "T.O265C.GA.00007",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "dueDate": "2019-08-24",
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "preventiveWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
Update preventive work order.
Supports:
/plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-locations=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-systems=true&api-version=v1
to get a list of possible values)Append to text follows requirement I-103209 - Notation in long text field - Upstream offshore
.
Newest information in text is added above existing information and is automatically signed with date and full name of logged on user.
When Advanced ERP text is enabled, information is not automatically signed and has to be sent with the input when using append
Added additional properties to update
Adjusted logic for append text to work order. Newest information in text is now added above existing information.
Added possibility for update of sortField and revisionId.
Added possibility for update of locationId and systemId.
Added possibility for update of externalPartnerWorkOrderId
, title
and plannerGroupId
.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current work order text.
work-order-id required | string |
The information to be updated
op | string Enum: "append" "replace" "prepend" JSON Patch operation according to RFC6902. Operation
Operation
Operation
|
path | string Enum: "/text" "/workCenterId" "/workCenterPlantId" "/tagId" "/tagPlantId" "/basicStartDateTime" "/basicEndDateTime" "/revisionId" "/sortField" "/locationId" "/systemId" "/externalPartnerWorkOrderId" "/title" "/plannerGroupId" The property to be updated by the non-trivial patch operation.
|
value | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "append",
- "path": "/text",
- "value": "Text to append\nMulti-line"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update estimated costs for preventive work order. Cost needs to be provided in the currency of the work order. The Cost Category ID needs to be:
COST_CUTBACK
COST_EXTERNAL_SERVICES
COST_INTERNAL_SERVICES
COST_INTERNAL_PERSONELL
COST_MATERIALS_OF_CONSUMPTION
COST_OTHER_EXPENCES
COST_REPAIR_AND_MAINTENANCE
work-order-id required | string |
cost-category-id required | string Example: COST_EXTERNAL_SERVICES |
Estimated cost for cost category
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/estimatedCosts" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "replace",
- "path": "/estimatedCosts",
- "value": 17000
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add operations
Added support for calculation key, which determines the relationship between plannedWorkDuration, plannedWorkHours, and capacityCount.
Added support for standardTextTemplate
(standard text template identifier), systemCondition
(describes required process condition for each operation) and isExcludedFromWorkOrderPlan
(based on operation status).
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
work-order-id required | string |
Operations to add to existing Work order
title required | string [ 0 .. 40 ] characters |
operation required | string Id of operation user is familiar with |
workCenterId | string |
workCenterPlantId | string |
text | string |
calculationKey | string or null Enum: "CALC_KEY_MANUAL" "CALC_KEY_DURATION" "CALC_KEY_PLANNED_HOURS" "CALC_KEY_CAPACITY" Calculation key defines which of the fields plannedWorkHours,capacityCount and plannedDuration are derived based on the values of the two others. If calculation key is |
plannedWorkDuration | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
plannedWorkHours | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
capacityCount | integer <int32> |
schedulingStartConstraintId | string Enum: "MSO" "SNET" "SNLT" Constraint: * |
schedulingStartConstraintDateTime | string <date-time> |
schedulingFinishConstraintId | string Enum: "MFO" "FNET" "FNLT" Constraint: * |
schedulingFinishConstraintDateTime | string <date-time> |
isScheduledExternally | boolean |
earliestStartDateTime | string <date-time> |
earliestFinishDateTime | string <date-time> |
standardTextTemplate | string Standard text template identifier |
isExcludedFromWorkOrderPlan | boolean Default: false |
systemCondition | string Required process conditions for each operation |
[- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT4H0M0S",
- "capacityCount": 2,
- "text": "Bygge stillas\n3 x 3 x 5 meter",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT3H30M0S",
- "capacityCount": 1,
- "text": "",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Endpoint is deprecated as of 06.2021.
It is replaced by a generic endpoint for all work order types /work-order-operations/{operation-id}
.
Update the work order operation. Currently, we support completing the operation but additional functionality will be added in future releases.
Deprecated endpoint.
work-order-id required | string |
operation required | string Example: 0020 |
Work order operation to update
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isCompleted" Path indicating the property to be impacted by the operation |
required | boolean or string Value to be assigned to a resource property based on the operation and path. |
{- "op": "replace",
- "path": "/isCompleted",
- "value": true
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add time ticket for work performed
Text multi-line property now is persisted as expected in ERP system.
work-order-id required | string |
operation required | string Example: 0020 |
Time ticket to add to operation
workHours required | string The work performed for the operation. Duration as defined in ISO8601 |
remainingWorkHours | string New estimate of remaining work for the operation. In Duration format as defined in ISO8601 |
workStartDateTime | string or null <date-time> |
workEndDateTime | string or null <date-time> |
workCenterId | string Resource which performed the work. Default is based on Work order operation. |
workCenterPlantId | string Resource which performed the work. Default is based on Work order operation. |
title | string <= 40 characters Title for time ticket |
text | string Multi-line description for the time ticket |
{- "workHours": "P0Y0M0DT2H0M0S",
- "remainingWorkHours": "P0Y0M0DT2H0M0S",
- "workStartDateTime": "2020-11-01T00:00:00Z",
- "workEndDateTime": "2020-11-05T00:00:00Z",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "title": "Prep jobb",
- "text": "Multi-line text\nDescribing the work done"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Upload attachment for Preventive Work Order
Limitations of Attachment upload endpoints:
work-order-id required | string |
files | Array of strings <binary> [ 1 .. 5 ] items |
curl --request POST \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/preventive-work-orders/%7Bwork-order-id%7D/attachments \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: multipart/form-data'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Download single attachment for preventive Work order
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/preventive-work-orders/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Activate or deactivate status for Work order.
Overview of how status are used can be found in Equinor's governing document GL1561 - Work orders and notifications types
To identify which status the work order currently has perform a request to: work-orders/preventive-work-orders/{{work-order-id}}?include-status-details=true
The endpoint supports most status activation such as:
Deactivation is supported in most cases where there is no interdependency between statuses. For status with a statusOrder value, deactivation is not necessary (nor supported) as the business logic will handle the switch.
The following statuses are not supported at the moment and will return a HTTP 405 response:
Support for releasing a work order by setting the REL status.
Support for deactivating TECO status
Support for ActivatedDateTime for TECO status. It is an optional parameter which allows to overwrite the default reference date for TECO. If no value is provided, the value will be set to current timestamp.
work-order-id required | string |
status-id required | string |
Work order status to update
isActive required | boolean |
activatedDateTime | string or null <date-time> |
{- "isActive": true
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for Preventive Work orders through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each preventive work order. This can be found by performing a subsequent request to lookup preventive-work-order.
Based on the maintenance plan of the Preventive Work order provided, find other instances sorted by start date. Parameters:
work-order-id
earliest-date
(optional)max-work-orders
(optional)Find Preventive work orders based on recent status activations for the work order. Parameters:
status-id
plant-id
max-days-since-activation
Find open Preventive work orders before the before-planned-date
.
Parameters:
plant-id
planned-date
location-id
(optional) system-id
(optional)Find open Preventive work orders by maintenance-type-id
.
Parameters:
plant-id
maintenance-type-id
Added filter by-maintenance-type-id.
Added system-id
as optional parameter for filter before-planned-date
.
Added revisionId
and revision
to work order response (represents shutdown or campaign work).
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added property cmrIndicator
in the response.
Work orders now include the property 'isOpen'
Added properties costs
and costsCurrency
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
filter required | string (SearchPreventiveWorkOrdersFilter) Enum: "recent-status-activations" "before-planned-date" "by-maintenance-type-id" "maintenance-plan-history" Filter to limit the failure reports by |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
work-order-id | string Preventive Work order id |
earliest-date | string <date> Earliest date to find maintenance plan history for (optional for filter) |
max-work-orders | integer <int32> Maximal numbers of results returned (optional for filter) |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
planned-date | string <date> Earliest date to find maintenance plan history for (optional for filter) |
system-id | string Deprecated system-id of the preventive work order |
maintenance-type-id | string Example: maintenance-type-id=005 Type of maintenance for the work order |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/preventive-work-orders?filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&max-days-since-activation=SOME_INTEGER_VALUE&work-order-id=SOME_STRING_VALUE&earliest-date=SOME_STRING_VALUE&max-work-orders=SOME_INTEGER_VALUE&location-id=SOME_STRING_VALUE&planned-date=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&maintenance-type-id=005' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "workCenter": "AI Automasjon",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
]
Create new Preventive Work order.
In addition to the required fields, one also needs to supply either equipmentId
or a Tag (tagPlantId
-tagId
)
It's possible to supply operations in the add operations endpoint. If no operations are passed, a default operation will be created automatically.
To lookup the created preventive work order use endpoint /work-orders/preventive-work-orders/{work-order-id}
There is an on-going initiative to prevent the possibility to create PM02 work orders in SAP (with the exception of MaintenancePlans). As of Release 1.36.0 on 21.01.2025, the usage of this endpoint is limited to applications with dispensation for usage, documented in disp.equinor.com.
To use this endpoint, your business process must be approved by O&M owners. To raise this request, please create a disp on disp.equinor.com, and raise this in O&M Stryo board.
Work orders now include the property 'isOpen'
Added properties costs
and costsCurrency
to the response.
Endpoint is now limited.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Preventive Work order to create
planningPlantId required | string |
workCenterId required | string |
workCenterPlantId required | string |
title required | string |
plantId required | string |
equipmentId | string |
externalPartnerWorkOrderId | string Work order id as represented in external partner system |
additionalCostWBSId | string |
costNetworkId | string |
costNetworkOperationId | string |
Array of objects (WorkOrderOperationCreate) | |
tagId | string or null |
tagPlantId | string |
plannerGroupId | string |
maintenanceTypeId | string |
basicStartDateTime | string <date-time> |
basicEndDateTime | string <date-time> |
revisionId | string An identifier to the revision (shutdown or campaign work) this work order is related to. Read possible values from |
sortField | string Field used to assist in grouping/sorting Work orders. Unstructured field used non-consistently between plants |
locationId | string Structured location within the plant where the tag is located |
text | string |
{- "planningPlantId": "1100",
- "workCenterId": "CO2PIP",
- "workCenterPlantId": "1100",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "title": "14xx/Installere flowline CD2",
- "plantId": "1100"
}
{- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "preventiveWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "workOrderId": "24597659",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "plannedDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "costs": 10000,
- "costsCurrency": "NOK",
- "hasCommunication": true,
- "isOpen": true
}
Used as a tool to ensure change control of software changes to Safety and Automation Systems.
Download single attachment for SAS Change Work order
work-order-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/sas-change-work-orders/%7Bwork-order-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Lookup single SAS Change Work order with related information
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a sasChangeWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property isOpen
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added properties additionalCostWBSId
, additionalCostWBS
, requiredEndDate
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/sas-change-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "requiredEndDate": "2019-08-24",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "sasChangeWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Update SAS Change work order.
Supports:
/plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-locations=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-systems=true&api-version=v1
to get a list of possible values)Append to text follows requirement I-103209 - Notation in long text field - Upstream offshore
.
Newest information in text is added above existing information and is automatically signed with date and full name of logged on user.
When Advanced ERP text is enabled, information is not automatically signed and has to be sent with the input when using append
Added additional properties to update
Adjusted logic for append text to work order. Newest information in text is now added above existing information.
Added possibility for update of sortField and revisionId.
Added possibility for update of locationId and systemId.
Added possibility for update of title
and plannerGroupId
.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current work order text.
work-order-id required | string |
The information to be updated
op | string Enum: "append" "replace" "prepend" JSON Patch operation according to RFC6902. Operation
Operation
Operation
|
path | string Enum: "/text" "/workCenterId" "/workCenterPlantId" "/tagId" "/tagPlantId" "/basicStartDateTime" "/basicEndDateTime" "/revisionId" "/sortField" "/locationId" "/systemId" "/title" "/plannerGroupId" The property to be updated by the non-trivial patch operation.
|
value | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "append",
- "path": "/text",
- "value": "Text to append\nMulti-line"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Activate or deactivate status for Work order
Currently, not all statuses are supported.
The status supported are:
Support for ActivatedDateTime for TECO status. It is an optional parameter which allows to overwrite the default reference date for TECO. If no value is provided, the value will be set to current timestamp.
work-order-id required | string |
status-id required | string |
Work order status to update
isActive required | boolean |
activatedDateTime | string or null <date-time> |
{- "isActive": true
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for SAS Change Work orders through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each SAS Change Work order. This can be found by performing a subsequent request to Lookup sas-change-work-orders.
Find open SAS Change Work orders by plant. Parameters:
plant-id
location-id
(optional)system-id
(optional)SAS Change Work orders based on recent status activations for the work orders. Parameters:
status-id
plant-id
max-days-since-activation
Find SAS Change work orders based on Cost Network Id. Parameters:
cost-network-id
plant-id
(optional)Find SAS Change Work orders based on Cost WBS Id. Parameters:
cost-wbs-id
plant-id
(optional)Added location-id and system-id to filter open-by-plant
.
Added revisionId to work order response (represents shutdown or campaign work).
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added filter by-cost-wbs
, with required parameter cost-wbs-id
. Can be used in combination with optional parameterplant-id
.
This filter only includes work orders where the WBS is represented on the work order level. It does not include work orders where WBS is only represented in the settlement rules.
Added filter by-cost-network
, with required parameter cost-network-id
and optional parameter plant-id
.
Added property cmrIndicator
in the response.
Work orders now include the property 'isOpen'
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
filter required | string (SearchSASChangeWorkOrdersFilter) Enum: "open-by-plant" "recent-status-activations" "by-cost-wbs" "by-cost-network" Filter to limit the SAS Change work order by |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
system-id | string System id to filter by |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
cost-wbs-id | string Required parameter if |
cost-network-id | string Required parameter if |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/sas-change-work-orders?filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&location-id=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&max-days-since-activation=SOME_INTEGER_VALUE&cost-wbs-id=SOME_STRING_VALUE&cost-network-id=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
]
Create new SAS Change Work order
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added sortField and revisionId to create request. Use /plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values for revisionId
.
Added support for calculation key on operation level. It determines the relationship between plannedWorkDuration, plannedWorkHours, and capacityCount.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Work orders now include the property 'isOpen'
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Removed deprecated property cmrIndicator
from the response. See STRY0261073 in ServiceNow for more details.
SAS Change Work order to create
planningPlantId required | string |
workCenterId required | string |
workCenterPlantId required | string |
title required | string |
plantId required | string |
locationId required | string Structured location within the plant where the tag is located |
required | Array of objects (WorkOrderOperationCreate) |
tagId required | string or null |
tagPlantId required | string |
costNetworkId | string |
costNetworkOperationId | string |
plannerGroupId | string |
maintenanceTypeId | string |
basicStartDateTime | string <date-time> |
basicEndDateTime | string <date-time> |
revisionId | string An identifier to the revision (shutdown or campaign work) this work order is related to. Read possible values from |
sortField | string Field used to assist in grouping/sorting Work orders. Unstructured field used non-consistently between plants |
text | string |
{- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "title": "14xx/Installere flowline CD2",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "plantId": "1100",
- "locationId": "CD2",
- "sortField": "PRS10239.WP12",
- "revisionId": "PV04_21",
- "maintenanceTypeId": "015",
- "basicStartDateTime": "2020-11-01T00:00:00Z",
- "basicEndDateTime": "2021-03-01T00:00:00Z",
- "text": "Project for replacing flowing on CD2\n",
- "operations": [
- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": "Bygge stillas\n3 x 3 x 5 meter",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": "",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}
]
}
{- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "sasChangeWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "Z06",
- "maintenanceType": "SAS Change Activity",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Add operations
Added support for calculation key, which determines the relationship between plannedWorkDuration plannedWorkHours, and capacityCount.
Added support for standardTextTemplate
(standard text template identifier), systemCondition
(describes required process condition for each operation) and isExcludedFromWorkOrderPlan
(based on operation status).
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
work-order-id required | string |
Operations to add to existing Work order
title required | string [ 0 .. 40 ] characters |
operation required | string Id of operation user is familiar with |
workCenterId | string |
workCenterPlantId | string |
text | string |
calculationKey | string or null Enum: "CALC_KEY_MANUAL" "CALC_KEY_DURATION" "CALC_KEY_PLANNED_HOURS" "CALC_KEY_CAPACITY" Calculation key defines which of the fields plannedWorkHours,capacityCount and plannedDuration are derived based on the values of the two others. If calculation key is |
plannedWorkDuration | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
plannedWorkHours | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
capacityCount | integer <int32> |
schedulingStartConstraintId | string Enum: "MSO" "SNET" "SNLT" Constraint: * |
schedulingStartConstraintDateTime | string <date-time> |
schedulingFinishConstraintId | string Enum: "MFO" "FNET" "FNLT" Constraint: * |
schedulingFinishConstraintDateTime | string <date-time> |
isScheduledExternally | boolean |
earliestStartDateTime | string <date-time> |
earliestFinishDateTime | string <date-time> |
standardTextTemplate | string Standard text template identifier |
isExcludedFromWorkOrderPlan | boolean Default: false |
systemCondition | string Required process conditions for each operation |
[- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT4H0M0S",
- "capacityCount": 2,
- "text": "Bygge stillas\n3 x 3 x 5 meter",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT3H30M0S",
- "capacityCount": 1,
- "text": "",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Used for modification projects that are controlled and managed using standard modification project structures that include WBS, network orders and activities.
Download single attachment for Project Work order
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/project-work-orders/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Lookup single Project Work order with related information
Work order operation actualPercentageComplete now represents progress reported through technical feedback. If the Work order operation is completed, the value of actualPercentageComplete will always be 100.
If work-order-id exist, but is not a projectWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property isOpen
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added properties additionalCostWBSId
, additionalCostWBS
, requiredEndDate
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/project-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "requiredEndDate": "2019-08-24",
- "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "projectWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Update project work order.
Supports:
/plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-locations=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-systems=true&api-version=v1
to get a list of possible values)Append to text follows requirement I-103209 - Notation in long text field - Upstream offshore
.
Newest information in text is added above existing information and is automatically signed with date and full name of logged on user.
When Advanced ERP text is enabled, information is not automatically signed and has to be sent with the input when using append
Added additional properties to update
Adjusted logic for append text to work order. Newest information in text is now added above existing information.
Added possibility for update of sortField and revisionId.
Added possibility for update of locationId and systemId.
Added possibility for update of title
and plannerGroupId
.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current work order text.
work-order-id required | string |
The information to be updated
op | string Enum: "append" "replace" "prepend" JSON Patch operation according to RFC6902. Operation
Operation
Operation
|
path | string Enum: "/text" "/workCenterId" "/workCenterPlantId" "/tagId" "/tagPlantId" "/basicStartDateTime" "/basicEndDateTime" "/revisionId" "/sortField" "/locationId" "/systemId" "/title" "/plannerGroupId" The property to be updated by the non-trivial patch operation.
|
value | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "append",
- "path": "/text",
- "value": "Text to append\nMulti-line"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Activate or deactivate status for Work order
Currently, not all statuses are supported.
The status supported are:
Support for ActivatedDateTime for TECO status. It is an optional parameter which allows to overwrite the default reference date for TECO. If no value is provided, the value will be set to current timestamp.
work-order-id required | string |
status-id required | string |
Work order status to update
isActive required | boolean |
activatedDateTime | string or null <date-time> |
{- "isActive": true
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for project Work orders through predefined filters. Each filter has a defined action and a set of parameters as described below.
The response does not include all details for each project work order. This can be found by performing a subsequent request to Lookup project-work-order.
Find open Project Work orders by plant-id
.
Parameters:
plant-id
location-id
(optional)system-id
(optional)Find Project work orders based on recent status activations for the work orders. Parameters:
status-id
plant-id
max-days-since-activation
Find Project work orders based on Cost Network Id. Parameters:
cost-network-id
plant-id
(optional)Project work orders based on Cost WBS Id. Parameters:
cost-wbs-id
plant-id
(optional)Added location-id and system-id to filter open-by-plant
.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added filter by-cost-network
, with required parameter cost-network-id
and optional parameter plant-id
.
Added filter by-cost-wbs
, with required parameter cost-wbs-id
. Can be used in combination with optional parameter plant-id
.
This filter only includes work orders where the WBS is represented on the work order level.
It does not include work orders where WBS is only represented in the settlement rules.
Added property cmrIndicator
in the response.
Work orders now include the property 'isOpen'
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
filter required | string (SearchProjectWorkOrdersFilter) Enum: "open-by-plant" "recent-status-activations" "by-cost-network" "by-cost-wbs" Filter to limit the Project work order by |
status-id | string Status |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
cost-network-id | string Required parameter if |
cost-wbs-id | string Required parameter if |
location-id | string Structured location within the plant. Use /plants/{plant-id}/locations for possible values |
system-id | string System id to filter by |
max-days-since-activation | integer <int32> [ 0 .. 255 ] Define how many days from the current day to include results for. 0 if only include for today |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/project-work-orders?filter=SOME_STRING_VALUE&status-id=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&cost-network-id=SOME_STRING_VALUE&cost-wbs-id=SOME_STRING_VALUE&location-id=SOME_STRING_VALUE&system-id=SOME_STRING_VALUE&max-days-since-activation=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
]
Create new Project Work order
Fixed bug related to costNetworkId.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added sortField and revisionId to create request. Use /plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values for revisionId
.
Added support for calculation key on operation level. It determines the relationship between plannedWorkDuration, plannedWorkHours, and capacityCount.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Work orders now include the property 'isOpen'
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Removed deprecated property cmrIndicator
to the response. See STRY0261073 in ServiceNow for more details.
Project Work order to create
planningPlantId required | string |
workCenterId required | string |
workCenterPlantId required | string |
title required | string |
plantId required | string |
locationId required | string Structured location within the plant where the tag is located |
costNetworkId required | string |
costNetworkOperationId required | string |
required | Array of objects (WorkOrderOperationCreate) |
isTimeOnlyWorkOrder | boolean If true, this project work order can only be used for time cost and is represented by a different work order type (PM20) in SAP |
tagId | string or null |
tagPlantId | string |
plannerGroupId | string |
maintenanceTypeId | string |
basicStartDateTime | string <date-time> |
basicEndDateTime | string <date-time> |
revisionId | string An identifier to the revision (shutdown or campaign work) this work order is related to. Read possible values from |
sortField | string Field used to assist in grouping/sorting Work orders. Unstructured field used non-consistently between plants |
text | string |
{- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "title": "14xx/Installere flowline CD2",
- "isTimeOnlyWorkOrder": false,
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "plantId": "1100",
- "locationId": "CD2",
- "sortField": "PRS10239.WP12",
- "revisionId": "PV04_21",
- "maintenanceTypeId": "015",
- "basicStartDateTime": "2020-11-01T00:00:00Z",
- "basicEndDateTime": "2021-03-01T00:00:00Z",
- "text": "Project for replacing flowing on CD2\n",
- "operations": [
- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": "Bygge stillas\n3 x 3 x 5 meter",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": "",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}
]
}
{- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "projectWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "isTimeOnlyWorkOrder": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "systemId": "11",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "015",
- "maintenanceType": "Project work",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "projectId": "M.O037C.20.A.0002",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Add operations
Added support for calculation key, which determines the relationship between plannedWorkDuration plannedWorkHours, and capacityCount.
Added support for standardTextTemplate
(standard text template identifier), systemCondition
(describes required process condition for each operation) and isExcludedFromWorkOrderPlan
(based on operation status).
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
work-order-id required | string |
Operations to add to existing Work order
title required | string [ 0 .. 40 ] characters |
operation required | string Id of operation user is familiar with |
workCenterId | string |
workCenterPlantId | string |
text | string |
calculationKey | string or null Enum: "CALC_KEY_MANUAL" "CALC_KEY_DURATION" "CALC_KEY_PLANNED_HOURS" "CALC_KEY_CAPACITY" Calculation key defines which of the fields plannedWorkHours,capacityCount and plannedDuration are derived based on the values of the two others. If calculation key is |
plannedWorkDuration | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
plannedWorkHours | string Duration as defined in ISO8601
Duration can exclusively be either in days or hours and minutes. A combination of these will return an error.
The |
capacityCount | integer <int32> |
schedulingStartConstraintId | string Enum: "MSO" "SNET" "SNLT" Constraint: * |
schedulingStartConstraintDateTime | string <date-time> |
schedulingFinishConstraintId | string Enum: "MFO" "FNET" "FNLT" Constraint: * |
schedulingFinishConstraintDateTime | string <date-time> |
isScheduledExternally | boolean |
earliestStartDateTime | string <date-time> |
earliestFinishDateTime | string <date-time> |
standardTextTemplate | string Standard text template identifier |
isExcludedFromWorkOrderPlan | boolean Default: false |
systemCondition | string Required process conditions for each operation |
[- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT4H0M0S",
- "capacityCount": 2,
- "text": "Bygge stillas\n3 x 3 x 5 meter",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkHours": "P0Y0M0DT3H30M0S",
- "capacityCount": 1,
- "text": "",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2020-11-01T00:00:00Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2021-03-01T00:00:00Z"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Create new Modification Work order based on a supplied failure report.
It's possible to supply operations in the create operation. If no operations are passed, a default operation will be created automatically.
To lookup the created corrective work order use endpoint /work-orders/modification-work-orders/{work-order-id}
.
The primary cost wbs of a modification work order is typically resolved automatically from the provided tag. However, in order to later set the modification work order to status REL - Release
, you need to provide an additional cost wbs (property additionalCostWBSId
) on creation.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Work orders now include the property 'isOpen'
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Removed deprecated property cmrIndicator
from the response. See STRY0261073 in ServiceNow for more details.
Modification Work order to create
planningPlantId required | string |
workCenterId required | string |
workCenterPlantId required | string |
title required | string |
plantId required | string |
modificationProposalId required | string Maintenance record to link to the modification work order (usually the maintenance record is of type modification-proposal) |
externalPartnerWorkOrderId | string Work order id as represented in external partner system |
additionalCostWBSId | string The primary cost wbs is typically resolved from the provided tag, but for modification work orders it is required to have an additional cost wbs in place before the work order can be set to status |
Array of objects (WorkOrderOperationCreate) | |
tagId | string or null |
tagPlantId | string |
plannerGroupId | string |
maintenanceTypeId | string |
basicStartDateTime | string <date-time> |
basicEndDateTime | string <date-time> |
revisionId | string An identifier to the revision (shutdown or campaign work) this work order is related to. Read possible values from |
sortField | string Field used to assist in grouping/sorting Work orders. Unstructured field used non-consistently between plants |
locationId | string Structured location within the plant where the tag is located |
text | string |
{- "modificationProposalId": "45836077",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "workCenterId": "CO2PIP",
- "workCenterPlantId": "1100",
- "title": "14xx/Installere flowline CD2",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "additionalCostWBSId": "T.O037C.GA.10002",
- "plantId": "1100",
- "sortField": "PRS10239.WP12",
- "revisionId": "PV04_21",
- "basicStartDateTime": "2020-11-01T00:00:00Z",
- "basicEndDateTime": "2021-03-01T00:00:00Z",
- "text": "Project for replacing flowing on CD2\n",
- "operations": [
- {
- "operation": "0010",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": "Bygge stillas\n3 x 3 x 5 meter"
}, - {
- "operation": "0020",
- "title": "Bytte del",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "plannedWorkDuration": "P0Y0M0DT3H30M0S",
- "text": ""
}
]
}
{- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "modificationWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBS": "Minor modifications 2020",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Add time ticket for work performed.
work-order-id required | string |
operation required | string Example: 0020 |
Time ticket to add to operation
workHours required | string The work performed for the operation. Duration as defined in ISO8601 |
remainingWorkHours | string New estimate of remaining work for the operation. In Duration format as defined in ISO8601 |
workStartDateTime | string or null <date-time> |
workEndDateTime | string or null <date-time> |
workCenterId | string Resource which performed the work. Default is based on Work order operation. |
workCenterPlantId | string Resource which performed the work. Default is based on Work order operation. |
title | string <= 40 characters Title for time ticket |
text | string Multi-line description for the time ticket |
{- "workHours": "P0Y0M0DT2H0M0S",
- "remainingWorkHours": "P0Y0M0DT2H0M0S",
- "workStartDateTime": "2020-11-01T00:00:00Z",
- "workEndDateTime": "2020-11-05T00:00:00Z",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "title": "Prep jobb",
- "text": "Multi-line text\nDescribing the work done"
}
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Lookup single Modification Work order with related information.
If work-order-id exist, but is not a modificationWorkOrder
, the response is a HTTP 301 Moved Permanently with the url to the resource in the HTTP header Location.
Introduced holdDeliveryOnshore and requiredDatetime properties for materials.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added equipmentId and equipment to the response of tagsRelated.
Adding sourceId to related maintenance records.
Added properties additionalCostWBSId
and additionalCostWBS
.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added property area
to tag details.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
tagDetails
object now includes the new field maintenanceConceptId
Work orders now include the property isOpen
Added tag
and title
to maintenanceRecords
expand.
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new property relatedOperations
to maintenanceRecords
and tagsRelated
.
Also added query parameter include-related-operations
to include the property relatedOperations
.
Added property requiredEndDate
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-maintenance-records | boolean Default: false Include related maintenance records (from object list) |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-tag-details | boolean Default: false Include detailed information for the main tag of the Work order |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
include-related-operations | boolean Default: false Includes the property |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/modification-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-maintenance-records=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-tag-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE&include-related-operations=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "maintenanceRecords": [
- {
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "recordId": "45894100",
- "recordResource": "maintenance-records/modification-proposals",
- "tagId": "PX",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "locationId": "W14",
- "location": "METERING DECK",
- "equipmentId": "12410072",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "title": "Endre skalering på PDT",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "_links": {
- "self": "/maintenance-records/failure-reports/45894100?api-version=v1"
}
}
], - "tagDetails": {
- "isInactive": false,
- "parentTagId": "AT5566",
- "systemId": "BS",
- "system": "PM-PROG.SYST.",
- "ABCId": "5",
- "ABC": "Crit.=M & Red.=B",
- "locationId": "W14",
- "location": "METERING DECK",
- "catalogProfileId": "PM-160",
- "area": "W14",
- "maintenanceConceptId": "VA1631",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}, - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "requiredEndDate": "2019-08-24",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "Beskrivelse av prosjekt modifikasjon\n",
- "workOrderTypeId": "modificationWorkOrder",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "additionalCostWBS": "Minor modifications 2020",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "workOrderId": "24684145",
- "tagId": "LZ1012",
- "tagPlantId": "1100",
- "tag": "A10 OIL PRODUCTION WELL",
- "title": "1416/Installerer Flowlinw A10",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "modificationProposalId": "46415269",
- "locationId": "CD17OU",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "006",
- "maintenanceType": "Improvement / minor modificat.",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "costWBSId": "M.O037C.20.A.0002.A2",
- "additionalCostWBSId": "M.T17DA.20.M.0001",
- "projectId": "M.O037C.20.A.0002",
- "sortField": "PRS10239.WP12",
- "isOpen": true
}
Update modification work order.
Supports:
/plants/{plant-id}?include-revisions=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-locations=true&api-version=v1
to get a list of possible values)/plants/{plant-id}?include-systems=true&api-version=v1
to get a list of possible values)Append to text follows requirement I-103209 - Notation in long text field - Upstream offshore
.
Newest information in text is added above existing information and is automatically signed with date and full name of logged on user.
When Advanced ERP text is enabled, information is not automatically signed and has to be sent with the input when using append
Added additional properties to update
Adjusted logic for append text to work order. Newest information in text is now added above existing information.
Added possibility for update of sortField and revisionId.
Added possibility for update of locationId and systemId.
Added possibility for update of title
and plannerGroupId
.
Added ability to update text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added possibility to prepend text. Use the operation prepend
in the request body to prepend text to the current work order text.
work-order-id required | string |
The information to be updated
op | string Enum: "append" "replace" "prepend" JSON Patch operation according to RFC6902. Operation
Operation
Operation
|
path | string Enum: "/text" "/workCenterId" "/workCenterPlantId" "/tagId" "/tagPlantId" "/basicStartDateTime" "/basicEndDateTime" "/revisionId" "/sortField" "/locationId" "/systemId" "/title" "/plannerGroupId" The property to be updated by the non-trivial patch operation.
|
value | string Value to be assigned to a resource property based on the operation and path. |
[- {
- "op": "append",
- "path": "/text",
- "value": "Text to append\nMulti-line"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Activate or deactivate status for Work order.
Overview of how status are used can be found in Equinor's governing document GL1561 - Work orders and notifications types
To identify which status the work order currently has perform a request to: work-orders/modification-work-orders/{{work-order-id}}?include-status-details=true
The endpoint supports most status activation such as:
Deactivation is supported in most cases where there is no interdependency between statuses. For status with a statusOrder value, deactivation is not necessary (nor supported) as the business logic will handle the switch.
Support for ActivatedDateTime for TECO status. It is an optional parameter which allows to overwrite the default reference date for TECO. If no value is provided, the value will be set to current timestamp.
Parameter complete-outstanding-maintenance-records set to true will close maintenance records which have a relationship to the work order via the ObjectList
.
The following statuses are not supported at the moment and will return a HTTP 405 response:
work-order-id required | string |
status-id required | string |
complete-outstanding-maintenance-records | boolean Default: true Additional parameter to activation of TECO and CLSD statuses. Determines if related maintenance records should be closed as well. |
Work order status to update
isActive required | boolean |
activatedDateTime | string or null <date-time> |
{- "isActive": true
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Lookup single Subsea Work order with related information.
By default include-person-responsible
is false and then the fields personResponsibleId
and personResponsibleEmail
will always have null value.
Introduced property calculationKey for operations.
Added createdDateTime for attachments.
Added revisionId and revision to work order response (represents shutdown or campaign work).
Added tagsRelated to the response.
Adding sourceId to related maintenance records.
Introduced property activeStatusIds for operations.
Added properties systemCondition
and isExcludedFromWorkOrderPlan
for operations.
Added ability to read text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added new query parameter include-service-operations
. Operations of type Service - PM03 previously available in the operations
have been moved to serviceOperations
.
Added property cmrIndicator
in the response.
Added property isEquipmentRental
to services in serviceOperations.
Added materials
to serviceOperations.
Work orders now include the property isOpen
Added new query parameter include-safety-measures
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on operations.materials
into finalLocation
and temporaryLocation
in the response.
Added agreement
& agreementItem
on serviceOperations
and grossPrice
, netValue
& currency
on services
.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added properties additionalCostWBSId
, additionalCostWBS
, costWBS
, isHSECritical
and isProductionCritical
to the response.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added new properties personResponsible
, personResponsibleId
and personResponsibleEmail
to operations
.
Added new property requisitionerId
to serviceOperations
.
Added new property planNotes
to operations
.
Added new properties location
and locationId
to tagsRelated
and maintenanceRecords
.
Marked cmrIndicator
as deprecated. See Deprecation for more information.
Added new properties plannedWorkHours
, actualWorkHours
, capacityCount
, plannedDuration
, calculationKey
, earliestStartDateTime
, earliestFinishDateTime
and safetyMeasures
to serviceOperations
.
Removed deprecated property cmrIndicator
. See STRY0261073 in ServiceNow for more details.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/subsea-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "operations": [
- {
- "materials": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "supplyingPlantId": "1915",
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "activeStatusIds": "REL CNF",
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "materials": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "supplyingPlantId": "1915",
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "text": "OBSERVERT FEILTILSTAND FYLLES UT AV INNMELDER:\nBeskriv feilen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "subseaWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "hasPersonResponsible": true,
- "costWBSId": "T.O089E.WI.00007",
- "projectId": "T.O089E",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "isObsoleteSubseaWorkOrderType": false,
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
Download single attachment for subsea work order
record-id required | string |
attachment-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/subsea-work-orders/%7Brecord-id%7D/attachments/%7Battachment-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Overhead maintenance orders are used for operational and maintenance tasks, as well as for procurement of bulk goods, and it is recommended to create them annually with weekly operations and a template for multiple orders.
This endpoint is marked as deprecated due to currently being unavailable. This endpoint is only a draft. Calling the endpoint until available will result in a 404- Not Found
. Deprecation will be removed when the endpoint is available.
Lookup single Overhead Maintenance Work order related information.
By default include-person-responsible
is false and then the fields personResponsibleId
and personResponsibleEmail
will always have null value.
Added new property text
to materials
in operations
and serviceOperations
.
work-order-id required | string |
include-operations | boolean Default: true Include Work order operations |
include-service-operations | boolean Default: true Include Work order service operations |
include-materials | boolean Default: true Include materials for Work order operations |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
include-attachments | boolean Default: false Include Work order attachments (on header and for operation) |
include-person-responsible | boolean Default: false Include person responsible information in response, for example the email or name of the person responsible. May have a slight performance impact. |
include-status-details | boolean Default: false Include detailed information for statuses (both active and non-active) |
include-related-tags | boolean Default: false Include related tags (from object list) |
include-safety-measures | boolean Default: false Include safety-measures in work order operations |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/overhead-maintenance-work-orders/%7Bwork-order-id%7D?include-operations=SOME_BOOLEAN_VALUE&include-service-operations=SOME_BOOLEAN_VALUE&include-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&include-attachments=SOME_BOOLEAN_VALUE&include-person-responsible=SOME_BOOLEAN_VALUE&include-status-details=SOME_BOOLEAN_VALUE&include-related-tags=SOME_BOOLEAN_VALUE&include-safety-measures=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "operations": [
- {
- "activeStatusIds": "REL CNF",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "personResponsibleId": "433937",
- "personResponsible": "John Doe",
- "personResponsibleEmail": "shortname@equinor.com",
- "planNotes": "LAG1",
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL"
}
], - "serviceOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "title": "Bygge stillas",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "isExcludedFromWorkOrderPlan": false,
- "systemCondition": "3",
- "materialGroup": "3.14.06",
- "purchasingGroup": "003",
- "purchasingOrganization": "1001",
- "purchaseOrderId": "4504207260",
- "purchaseOrderItemId": "10",
- "isServiceOperation": true,
- "scopeOfWork": "One depth analysis as performed in the past for the ball valve 36”, refer PV Offer",
- "agreement": "4504207260",
- "agreementItem": "20",
- "requisitionerId": "14022041",
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "plannedDuration": "PT2H45M",
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "capacityCount": 1,
- "safetyMeasures": [
- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
], - "calculationKey": "CALC_KEY_MANUAL",
- "services": [
- {
- "serviceId": "4152609",
- "lineId": "0010",
- "title": "Bygge stillas",
- "quantity": 2,
- "unit": "PC",
- "materialGroup": "3.14.06",
- "costElement": "6553000",
- "isEquipmentRental": false,
- "grossPrice": 130,
- "netValue": 260,
- "currency": "NOK"
}
], - "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "statuses": [
- {
- "statusOrder": 2,
- "isActive": false,
- "activatedDateTime": "2019-08-24T14:15:22Z",
- "statusId": "RDEX",
- "status": "Ready for execution"
}
], - "attachments": [
- {
- "attachmentId": "H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA",
- "fileName": "equipment_location.jpg",
- "fileSize": "1636352",
- "mimeType": "image/jpg",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "documentTitle": "Subsea Stackup Drawing,XA+XBRT+CM+Test M",
- "documentType": "B30",
- "documentNumber": "18264337",
- "documentCreatedDate": "2020-09-16",
- "_links": {
- "enclosure": "/work-orders/preventive-work-orders/20005446/attachments/H4sIAAAAAAAACqsxMDA1MDVzNDQ3srAwdHVxdDR0dDI1MjB3MjFyMzA0cqsxMgAqMTExq6mpMTQwMDSwNKoBitQ4GRsA6ZqAzOSS0qLU-LTMvJTMvHQFXQXn_IJKBQ1jTb2CvHQAwLV5WV4AAAA"
}
}
], - "tagsRelated": [
- {
- "equipmentId": "11948620",
- "equipment": "PEDESTAL,TH ISOLAT.SLEEVE,ASSY,10219863",
- "locationId": "W14",
- "location": "METERING DECK",
- "source": "ObjectList",
- "sourceId": "OL-1003091865-1",
- "relatedOperations": [
- {
- "operation": "0020"
}
], - "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE."
}
], - "additionalCostWBSId": "T.O790C.GA.20007",
- "additionalCostWBS": "Minor modifications 2020",
- "costWBS": "Conc.: Well A10 GL hook-up FL",
- "isProductionCritical": "H",
- "isHSECritical": "M",
- "personResponsibleId": "433937",
- "personResponsibleEmail": "shortname@equinor.com",
- "text": "BESTILLING FYLLES UT AV INNMELDER:\nBeskriv bestillingen så godt som mulig (legg gjerne med bilde):\nHvor er utstyret fysisk plassert (legg gjerne med bilde)?\n-\n\nHvordan påvirker feilen utstyrets funksjon? ...\n",
- "workOrderTypeId": "overheadMaintenanceWorkOrder",
- "plannerGroup": "Plattform PV",
- "workCenter": "AI Automasjon",
- "hasPersonResponsible": true,
- "costWBSId": "T.O089E.WI.00007",
- "projectId": "T.O089E",
- "costNetworkId": "9045173",
- "costNetworkOperationId": "0010",
- "workOrderId": "24983466",
- "tagId": "BF",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "title": "Modifikasjon av brannmur",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "locationId": "CD17OU",
- "failureReportId": "45836077",
- "plantId": "1100",
- "planningPlantId": "1100",
- "plannerGroupId": "PPM",
- "activeStatusIds": "OSNO CRTE",
- "maintenanceTypeId": "002",
- "maintenanceType": "Periodic maintenance",
- "requiredEndDate": "2019-08-24",
- "revisionId": "PS02_21",
- "revision": "FV 26A/RIA",
- "basicStartDateTime": "2019-08-24T14:15:22Z",
- "basicEndDateTime": "2019-08-24T14:15:22Z",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z",
- "sortField": "PRS10239.WP12",
- "priorityId": "L",
- "isOpen": true
}
A measuring point represents the physical or virtual location at which process values, events or conditions are described. For instance a temperature reader, pressure sensor, or a spot on a pipe where thickness is measured.
Measuring points indicate where measurements (or derived/calculated values) occur.
A measuring point is normally connected to a tag or equipment, facilitating the monitoring of its state and performance.
Lookup a single measuring point.
A measuring point represents the physical or virtual location at which process values, events or conditions are described. For instance a temperature reader, pressure sensor, or a spot on a pipe where thickness is measured.
Measuring points indicate where measurements (or derived/calculated values) occur.
A measuring point is normally connected to a tag or equipment, facilitating the monitoring of its state and performance.
Measuring points support quantitative (example 3mm), qualitative (example YES) or combination of the two when creating measurements for the measuring point.
Quantitative measurements are defined by quantitativeCharacteristicId and have a unit of measure.
Qualitative measurement codes are defined by qualitativeCodeGroupId.
Added property maintenanceRecordId
to measurements.
Added include-characteristics
and include-characteristics-without-value
query parameter.
Added workOrderId
to response.
Measuring points for equipment now include the tagId
and tagPlantId
of the tag the equipment is installed on.
Added include-measurement-text
query parameter to include measurement text in the response.
point-id required | string Example: 14626974 Measuring point id |
include-last-measurement | boolean Default: false Include last measurement for the measuring points (only relevant if include-measuring-points is true or if looking up measuring point) |
include-measurements | boolean Default: false Include measurements of the measuring point |
include-qualitative-code-group | boolean Default: false Include possible codes for qualitative measurements if qualitativeCodeGroupId is set |
include-characteristics | boolean Default: false Include characteristics with defined value for the measuring point. Use |
include-characteristics-without-value | boolean Default: false Include all characteristics available for the measuring point regardless if they have a defined value or not. Use |
include-measurement-text | boolean Default: false Include measurement text in the response |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/measuring-points/%7Bpoint-id%7D?include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-qualitative-code-group=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-characteristics-without-value=SOME_BOOLEAN_VALUE&include-measurement-text=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "lastMeasurement": {
- "text": "Surface coating condition description longtext",
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "measurements": [
- {
- "text": "Surface coating condition description longtext",
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "qualitativeCodes": [
- {
- "qualitativeCodeId": "UT-I",
- "qualitativeCode": "UT Man. Pulse-Echo: Internal degradation"
}
], - "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "classId": "R_PIPE_DETAILS",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)"
}
], - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
Update a single measuring point.
Supports:
measuringPoint
and measuringPosition
point-id required | string Example: 14626974 Measuring point id |
The information to be updated
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/measuringPoint" "/measuringPosition" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/measuringPoint",
- "value": "K03: kl3,S4 +125mm ing utvik"
}, - {
- "op": "replace",
- "path": "/measuringPosition",
- "value": "P:M03 2\" SV 301"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Search measuring points.
Search measuring points based on plant and one other property of the measuring point. Parameters:
At least one of the following parameters is required:
tag-prefix
measuring-position
quantitative-characteristic
qualitative-code-group
measuring-point-name
characteristic-value-any-of
/measuring-points?filter=by-plant&plant-id=1180&tag-prefix=18HV10&api-version=v1
/measuring-points?filter=by-plant&plant-id=1102&quantitative-characteristic=SURFACE_MAINTEANC&api-version=v1
/measuring-points?filter=by-plant&plant-id=1180&tag-prefix=18HV10&position=VALVE%20STATUS&include-last-measurement=true&api-version=v1
When using the characteristic-value-any-of
it is important to URI Encode the input data especially when there are special characters as part of the input:
/measuring-points?characteristic-value-any-of=%3D17445%2F9818,%3D17433/6333&class-id=L_PART&characteristic-id=L_E3DREF&plant-id=1201&api-version=v1
Added property maintenanceRecordId
to measurements.
Added include-characteristics
and include-characteristics-without-value
query parameter.
Added workOrderId
to response.
Edited the response structure to support pagination. Use the parameters page
and per-page
in the parameters to edit wanted response.
Measuring points for equipment are now included in searches based on plant-id
.
Measuring points for equipment now include the tagId
and tagPlantId
of the tag the equipment is installed on.
To limit the response data for filter by-plant
, at least one of the additional parameters must be provided.
Added characteristic-value-any-of
, class-id
and characteristic-id
query parameters.
Can be used to search for measuring points based on values of a characteristic.
Added include-measurement-text
query parameter to include measurement text in the response.
filter required | string (SearchMeasuringPointsFilter) Value: "by-plant" Filter to limit the measuring points by |
plant-id | string Plant the tag-prefix belongs to |
tag-prefix | string >= 2 characters Example: tag-prefix=02%22-EC-%202525-M The first few characters of the tag |
measuring-position | string Example: measuring-position=VALVE%20STATUS Limit result based on a specific measuring position value |
quantitative-characteristic | string Example: quantitative-characteristic=SM_COATING_CONDITION_ITEM Limit result based on a specific quantitative characteristic value |
qualitative-code-group | string Example: qualitative-code-group=OBSMETH Limit result based on a specific qualitative code group value |
measuring-point-name | string Example: measuring-point-name=Breakout%20torque Limit result based on a specific measuring point name value |
include-last-measurement | boolean Default: false Include the last measurement of the measuring points |
include-measurements | boolean Default: false Include measurements of the measuring points |
include-qualitative-code-group | boolean Default: false Include possible codes for qualitative measurements if qualitativeCodeGroupId is set |
include-characteristics | boolean Default: false Include characteristics with defined value for the measuring points. Use |
include-characteristics-without-value | boolean Default: false Include all characteristics available for the measuring points regardless if they have a defined value or not. Use |
per-page | integer [ 1 .. 100 ] Default: 50 Results to return pr page |
page | integer Default: 1 Page to fetch |
characteristic-id | string or null Example: characteristic-id=L_E3DREF Required field if |
class-id | string or null Example: class-id=L_PART Required field if |
characteristic-value-any-of | string Example: characteristic-value-any-of=%3D33814%2F12073 Search based on characteristic values. Must be used in combination with |
include-measurement-text | boolean Default: false Include measurement text in the response |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/measuring-points?filter=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE&tag-prefix=02%2522-EC-%25202525-M&measuring-position=VALVE%2520STATUS&quantitative-characteristic=SM_COATING_CONDITION_ITEM&qualitative-code-group=OBSMETH&measuring-point-name=Breakout%2520torque&include-last-measurement=SOME_BOOLEAN_VALUE&include-measurements=SOME_BOOLEAN_VALUE&include-qualitative-code-group=SOME_BOOLEAN_VALUE&include-characteristics=SOME_BOOLEAN_VALUE&include-characteristics-without-value=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&characteristic-id=SOME_STRING_VALUE&class-id=SOME_STRING_VALUE&characteristic-value-any-of=SOME_STRING_VALUE&include-measurement-text=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "lastMeasurement": {
- "text": "Surface coating condition description longtext",
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}, - "measurements": [
- {
- "text": "Surface coating condition description longtext",
- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
], - "qualitativeCodes": [
- {
- "qualitativeCodeId": "UT-I",
- "qualitativeCode": "UT Man. Pulse-Echo: Internal degradation"
}
], - "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "classId": "R_PIPE_DETAILS",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)"
}
], - "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
]
Create a new measuring point.
Mandatory fields for the creation of a measuring point are either tagId and tagPlantId, or equipmentId.
As well the request must contain either quantitativeCharacteristicId, qualitativeCodeGroupId or combination of the two.
Setting characteristics class and initial characteristics values (for example for class R_PIPE_DETAILS and characteristicId R_E3D_REF_NO) must be done through a separate endpoint POST /measuring-points/{point-id}/characteristics
.
Measuring point to create
measuringPoint | string Description of the measuring point |
tagId | string or null Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
measuringPosition | string <= 20 characters Describes the position of the measuring point in relation to the technical object |
quantitativeCharacteristicId | string Required to input either quantitativeCharacteristicId or qualitativeCodeGroupId |
categoryId | string Key used to identify a measuring point category
|
qualitativeCodeGroupId | string Required to input either quantitativeCharacteristicId or qualitativeCodeGroupId |
{- "tagId": "1A1-A16A",
- "tagPlantId": "1100",
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "measuringPoint": "K03: kl3,S4 +125mm ing utvik"
}
{- "tagId": "1A1-A16A",
- "tagPlantId": "1111",
- "equipmentId": "12410072",
- "measuringPosition": "P:M03 2\" SV 301",
- "supportsQuantitativeMeasurement": true,
- "quantitativeCharacteristicId": "SM_COATING_CONDITION_ITEM",
- "quantitativeCharacteristicUnit": "mbar",
- "quantitativeCharacteristicUnitId": "MBAR",
- "categoryId": "B",
- "qualitativeCodeGroupId": "OBSMETH",
- "supportsQualitativeMeasurement": true,
- "measuringPointId": "14626974",
- "measuringPoint": "Surface coating condition"
}
Create new measurement for measuring point.
Measuring points support quantitative (example 3mm), qualitative (example YES) or combination of the two when creating measurements for the measuring point.
Quantitative measurements are defined by quantitativeCharacteristicId property of the measuring point. Make sure the quantitativeReading is in the reading unit of the measuring point.
Qualitative measurement codes are defined by qualitativeCodeGroupId property of the measuring point.
Added maintenanceRecordId
to request.
Added workOrderId
to request and response.
Add support for text
in the request body and response.
point-id required | string Example: 14626974 Measuring point id |
Measurement of measuring point to create
measurementDateTime | string <date-time> When the measurement was performed. If not provided, the current datetime will be used. |
maintenanceRecordId | string The recordId of related maintenance record (typically activity-report or failure-report) |
quantitativeReading | number |
qualitativeCodeGroupId | string |
qualitativeCodeId | string |
measurementTitle | string <= 40 characters |
processingStatusId | string <= 1 characters
|
workOrderId | string The workOrderId of the related work order |
text | string Long text for the measurement document |
{- "quantitativeReading": 19.2,
- "text": "K03: kl3,S4 +125mm ing utvikling er under operasjoner"
}
{- "measurementId": "10017608811",
- "maintenanceRecordId": "45939208",
- "measuringPointId": "14626974",
- "measurementDateTime": "2019-08-24T14:15:22Z",
- "measurementTitle": "string",
- "quantitativeReading": 19.2,
- "quantitativeReadingUnitId": "MM",
- "qualitativeCodeGroupId": "OBSMETH",
- "qualitativeCodeId": "UT-I",
- "processingStatusId": "1",
- "workOrderId": "26033013"
}
Update a measurement for measuring point.
The supported fields are: measurementTitle
and processingStatusId
.
Add support for text
in the request body.
point-id required | string Example: 14626974 Measuring point id |
measurement-id required | string Example: 14626974 Measurement id |
Fields in measuring point to update
op required | string Enum: "replace" "append" "prepend" JSON Patch operation according to RFC6902 Operation
Operation
Operation
|
path required | string Enum: "/measurementTitle" "/processingStatusId" "/text" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. "replace" supports following fields: Path specific information:
|
[- {
- "op": "replace",
- "path": "/processingStatusId",
- "value": "1"
}, - {
- "op": "replace",
- "path": "/measurementTitle",
- "value": "K03: kl3,S4 +125mm ing utvik"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "K03: kl3,S4 +125mm ing utvikling er under operasjoner"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Add characteristics to existing measuring point.
Characteristics are grouped into a class such as R_PIPE_DETAILS
or POSITION_DETAILS
.
Classes can be assigned to a measuring point and specific characteristics such as R_DIAMETER_MM
and E3D_REF_NO
will then be available for that specific measuring point.
With this endpoint, the consumer can assign classes to a measuring point and define initial values for some of the characteristics in the classes.
There is currently no endpoint for looking up existing classes and their characteristics, but this may be added in the future.
Use /measuring-points/{point-id}?include-characteristics=true&api-version=v1
to view characteristics with value after using this endpoint.
point-id required | string Example: 14626974 Measuring point id |
Characteristics to add to measuring point.
classId required | string The class which contains the characteristics |
Array of objects (CharacteristicAdd) Specific characteristics in the class to define a value for |
[- {
- "classId": "R_PIPE_DETAILS"
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
Update existing values of characteristics on a tag. If the characteristics does not exist, a 404 - Not Found
is returned.
point-id required | string Example: 14626974 Measuring point id |
Characteristics to be updated, based on JsonPatch standard
required | Array of objects (CharacteristicsJsonPatch) |
characteristicId required | string |
classId required | string |
[- {
- "characteristicId": "CRIT_CRITICALITY",
- "classId": "FL_MAINT_STRATEGY",
- "patchDocument": [
- {
- "op": "replace",
- "path": "/valueId",
- "value": "L"
}
]
}
]
{- "errorDetails": [
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters.",
- "The length of 'title' must be 40 characters or fewer. You entered 53 characters."
], - "detail": "Validation errors for property: title",
- "title": "One or more validation errors occurred.",
- "status": 400,
- "extensions": {
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00",
- "property1": { },
- "property2": { }
}, - "errors": {
- "property1": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
], - "property2": [
- "The length of `title` must be 40 characters or fewer. You entered 53 characters."
]
}
}
The function of the maintenance programme is to systematize the maintenance effort so that the maintenance resources are used in a controlled, cost-effective manner to ensure a safe workplace with stable production and high production efficiency.
Maintenance is defined in accordance with international standards and is about activities intended to prevent loss of or restore an item's ability to provide a required function. In practice, this involves activities to check condition, test functions, prolong life or repair.
Overview of maintenance programme structure can be found in Equinor's internal governing document GL1624 Guidelines for the establishment of a preventive maintenance programme in SAP
The maintenance programme consists of maintenance plans.
Lookup single Maintenance Plan
Added isActive property.
Added uniqueKey in TaskListOperations.
Removed taskList
and objectList
properties from the response schema. They were never included in the actual
response, so this change has no implication on the data received from the API.
plan-id required | string |
include-items | boolean Default: true Include items of the maintenance plan |
include-item-calls | boolean Default: true Include calls for items of the maintenance plan |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-plans/%7Bplan-id%7D?include-items=SOME_BOOLEAN_VALUE&include-item-calls=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenancePlanId": "1056916",
- "maintenancePlan": "1100-AKCD2 MODULPROGRAM TELE CD2",
- "isActive": true,
- "items": [
- {
- "maintenanceStrategyId": "1100-1",
- "maintenanceStrategy": "Statfjord A Platform (Month)",
- "status": "RDEX PLAN",
- "calls": [
- {
- "callNr": 8,
- "plannedDate": "2019-08-24",
- "isExecuted": true,
- "preventiveWorkOrderId": "20132844",
- "duePackages": "12",
- "schedulingTypeStatus": "Scheduled Complete",
- "callDate": "2020-11-01T12:00:00Z",
- "completionDate": "2020-12-01T12:00:00Z"
}
], - "maintenanceActivityTypeId": "002",
- "maintenanceActivityType": "Periodic maintenance",
- "maintenancePlanItemId": "10072940",
- "maintenancePlanItem": "24M FV-TELE MODULPROGRAM CD2",
- "maintenancePlanId": "1056916",
- "planningPlantId": "1100",
- "mainTagId": "AE5566",
- "mainTagPlantId": "1100",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
]
}
Lookup single maintenance plan item
Maintenance Item contains the object list, task list and previous calls for preventive work orders.
The object list describes the tag/equipment covered in the maintenance plan item.
The task list describes the maintenance activities with the necessary support activities to be performed in the maintenance programme. These are divided into operations that are listed in an order that is natural for the practical implementation of the maintenance. The task List also sets the interval of operations through maintenance packages.
Added calculationKey
for operations in the task list.
Bugfix related to text for operation.
New properties were added to the calls expand: duePackages, schedulingType, callDate, completionDate
Added property objectId for objectList.
Added parameter include-item-object-list-linkage with default value true. Added uniqueKey in TaskListOperations.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added the property changedDateTime
on maintenanceItem and on taskList. The value of the field on the task list level represents the latest date at which the taskList or any of its operations has been changed, added, or deleted.
Added the property systemCondition
plan-id required | string The id of the maintenance plan |
item-id required | string The id of the maintenance plan item |
include-item-calls | boolean Default: true Include calls to maintenance plan item |
include-item-object-list | boolean Default: false Include list of objects for the maintenance plan item |
include-object-list-linkage | boolean Default: true Include object list linkage for maintenance plan item |
include-item-task-list | boolean Default: false Include task list, operations (w/related objects and material needs) for the maintenance plan item |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-plans/%7Bplan-id%7D/items/%7Bitem-id%7D?include-item-calls=SOME_BOOLEAN_VALUE&include-item-object-list=SOME_BOOLEAN_VALUE&include-object-list-linkage=SOME_BOOLEAN_VALUE&include-item-task-list=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "taskList": {
- "operations": [
- {
- "objectListLinkage": [
- {
- "objectId": "2",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "equipmentId": "12578254",
- "equipment": "CAP 22 OB Protection",
- "sortField": "B-4102"
}
], - "maintenancePackages": [
- {
- "maintenanceStrategyId": "1100-1",
- "packageId": "26",
- "cycleId": "24",
- "cycle": " 24 Monthly-2Y (GROUP A)"
}
], - "materialNeeds": [
- {
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "PC"
}
], - "operationId": "0020",
- "subOperationId": "",
- "uniqueIndex": "505T100370070000000200000002",
- "title": "24M AUTOMASJON BR2151 - GLYCOL STILL REB",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "calculationKey": "CALC_KEY_MANUAL",
- "plannedWorkHours": "PT3H",
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "executionFactor": 1,
- "standardTextTemplate": "1100-GS",
- "systemCondition": "3",
- "activityTypeId": "X4"
}
], - "taskListId": "T-10012713-02",
- "taskList": "24/48M FV-MULTI TRAIN1 GLYCOL REBOILER",
- "taskListTypeId": "T",
- "planningPlantId": "1100",
- "statusId": "4",
- "changedDateTime": "2023-11-28T06:06:14Z"
}, - "objectList": [
- {
- "objectId": "2",
- "tagId": "AE5566",
- "tagPlantId": "1100",
- "tag": "CT5023/24 - POT.WATER PH PROBE.",
- "equipmentId": "12578254",
- "equipment": "CAP 22 OB Protection",
- "sortField": "B-4102"
}
], - "maintenanceStrategyId": "1100-1",
- "maintenanceStrategy": "Statfjord A Platform (Month)",
- "status": "RDEX PLAN",
- "calls": [
- {
- "callNr": 8,
- "plannedDate": "2019-08-24",
- "isExecuted": true,
- "preventiveWorkOrderId": "20132844",
- "duePackages": "12",
- "schedulingTypeStatus": "Scheduled Complete",
- "callDate": "2020-11-01T12:00:00Z",
- "completionDate": "2020-12-01T12:00:00Z"
}
], - "maintenanceActivityTypeId": "002",
- "maintenanceActivityType": "Periodic maintenance",
- "maintenancePlanItemId": "10072940",
- "maintenancePlanItem": "24M FV-TELE MODULPROGRAM CD2",
- "maintenancePlanId": "1056916",
- "planningPlantId": "1100",
- "mainTagId": "AE5566",
- "mainTagPlantId": "1100",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
Update maintenance plan item.
This endpoint updates the direct properties of the maintenance plan item. Other endpoints allow update of other parts of the maintenance plan item such as:
HTTP PATCH maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}?api-version=v1
HTTP POST maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}?api-version=v1
HTTP PATCH maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}?api-version=v1
HTTP PUT maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}/maintenance-packages?api-version=v1
HTTP POST maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}/material-needs?api-version=v1
HTTP PATCH maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}/material-needs/{material-id}?api-version=v1
HTTP DEL maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}/material-needs/{material-id}?api-version=v1
plan-id required | string The id of the maintenance plan |
item-id required | string The id of the maintenance plan item |
Update maintenance plan item body
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/maintenancePlanItem" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/maintenancePlanItem",
- "value": "12M FV-TELE MODULPROGRAM CD2"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Update status maintenance plan item.
This endpoint updates the direct properties of the task list of maintenance plan item. Other maintenance plan item may use the same task list and will be affected by this change.
To find affected maintenance plans, use HTTP GET request /maintenance-plans?filter=by-task-id&task-id={task-id}
plan-id required | string The id of the maintenance plan |
item-id required | string The id of the maintenance plan item |
status-id required | string Example: RDEX The id of the status |
Update maintenance item status
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/isActive" Path indicating the property to be impacted by the operation |
required | string or boolean Value to be assigned to a resource property based on the operation and path |
[- {
- "op": "replace",
- "path": "/isActive",
- "value": true
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Update task list of maintenance plan item.
This endpoint updates the direct properties of the task list of maintenance plan item. Other maintenance plan item may use the same task list and will be affected by this change.
plan-id required | string The id of the maintenance plan |
item-id required | string The id of the maintenance plan item |
task-id required | string Example: T-10012713-02 The id of the task within the maintenance plant item |
Update task list of maintenance plan item body
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/taskList" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/taskList",
- "value": "36M FV-MULTI TRAIN1 GLYCOL REBOILER"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Delete maintenance item object linkage
Deleting maintenance item object linkage of operations with suboperationId
is not supported.
plan-id required | string The id of the maintenance plan |
item-id required | string The id of the maintenance plan item |
task-id required | string Example: T-10012713-02 The id of the task within the maintenance plant item |
operation-id required | string Example: 0010 The id of the operation within the task |
object-list-linkage-id required | string Example: 2 The id of the object linkage item |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-plans/%7Bplan-id%7D/items/%7Bitem-id%7D/tasks/%7Btask-id%7D/operations/%7Boperation-id%7D/object-list-linkage/%7Bobject-list-linkage-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Create maintenance item object linkage
Creating maintenance item object linkage of operations with suboperationId
is not supported.
plan-id required | string The id of the maintenance plan |
item-id required | string The id of the maintenance plan item |
task-id required | string Example: T-10012713-02 The id of the task within the maintenance plant item |
operation-id required | string Example: 0010 The id of the operation within the task |
Technical information update request to create
tagId | string or null Required to input either tag or equipment |
tagPlantId | string Required to input either tag or equipment |
equipmentId | string Required to input either tag or equipment |
{- "tagId": "PX",
- "tagPlantId": "1100"
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Search for maintenance plans and maintenance plan items which are connected to a specific task list.
This endpoint can be used to identify affected maintenance plans and maintenance plan items if an operation or a material in a task list will be updated or deleted.
Find maintenance plans and maintenance plan items which are affected by changes in a task list operation.
/maintenance-plans?filter=by-task-id&task-id=T-10012713-02&api-version=v1
.
Added isActive property.
filter required | string (SearchMaintenancePlanFilter) Value: "by-task-id" Filter to limit maintenance plans by |
task-id required | string Example: task-id=T-10012713-02 The id of the task within the maintenance plant item |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-plans?filter=SOME_STRING_VALUE&task-id=T-10012713-02' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "maintenancePlanId": "1056916",
- "maintenancePlan": "1100-AKCD2 MODULPROGRAM TELE CD2",
- "isActive": true,
- "items": [
- {
- "maintenanceActivityTypeId": "002",
- "maintenanceActivityType": "Periodic maintenance",
- "maintenancePlanItemId": "10072940",
- "maintenancePlanItem": "24M FV-TELE MODULPROGRAM CD2",
- "maintenancePlanId": "1056916",
- "planningPlantId": "1100",
- "mainTagId": "AE5566",
- "mainTagPlantId": "1100",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
]
}
]
Sets the maintenance packages for a single operation. As the endpoint is of type HTTP PUT, this replaces existing maintenance packages set for the operation. Therefore, the client must pass all maintenance packages to be used for for the operation regardless if they have been modified.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
Use the HTTP GET endpoint /maintenance-strategies/{strategy-id}
for retrieving possible maintenance package for a maintenance strategy.
Most end-users will not have authorizations to perform this update. Clients must take precautions when changing the maintenance packages. The change will effect all maintenance plans which the maintenance plan item is assigned to.
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: T-10012713-02 The id of the task within the maintenance plant item |
operation-id required | string Example: 0020 The id of the operation within the task list |
Operations to add to existing Work order
packageId | string <= 2 characters The SAP internal id for the package (not the cycleId) |
[- {
- "packageId": "12"
}, - {
- "packageId": "26"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Update operation for a maintenance plan item.
Updating operations with suboperationId
is not supported.
Note: The operation belongs to a task list which may be shared with multiple maintenance plan items. Therefore, multiple maintenance plan items may be affected by the change.
Use the HTTP GET endpoint /maintenance-plans?filter=by-task-id&task-id={task-id}&api-version=v1
to view maintenance plans and maintenance plan items affected by this change.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
Added calculationKey
as updatable field.
Bugfix related to text for operation.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added property systemCondition
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: 10012713-1 The id of the task within the maintenance plant item |
operation-id required | string Example: 0020 The id of the operation within the task list |
Operations to add to existing Work order
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Enum: "/operationId" "/workCenterId" "/workCenterPlantId" "/title" "/text" "/capacityCount" "/standardTextTemplate" "/systemCondition" "/plannedDuration" "/plannedWorkHours" "/calculationKey" Path indicating the property to be impacted by the operation |
value required | string Value to be assigned to a resource property based on the operation and path. Calculation key defines which of the fields plannedWorkHours,capacityCount and plannedDuration are derived based on the values of the two others. /calculationKey allowed values:
|
[- {
- "op": "replace",
- "path": "/operationId",
- "value": "PX"
}, - {
- "op": "replace",
- "path": "/workCenterId",
- "value": "PPMAUT"
}, - {
- "op": "replace",
- "path": "/workCenterPlantId",
- "value": "1100"
}, - {
- "op": "replace",
- "path": "/title",
- "value": "Endre skalering på PDT"
}, - {
- "op": "replace",
- "path": "/text",
- "value": "Multi-line text for operation\nLine nr 2"
}, - {
- "op": "replace",
- "path": "/capacityCount",
- "value": "2"
}, - {
- "op": "replace",
- "path": "/standardTextTemplate",
- "value": "1100-GS"
}, - {
- "op": "replace",
- "path": "/systemCondition",
- "value": "3"
}, - {
- "op": "replace",
- "path": "/plannedDuration",
- "value": "PT2H45M"
}, - {
- "op": "replace",
- "path": "/plannedWorkHours",
- "value": "PT3H"
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Remove an operation in a task list of a maintenance plan item.
Note: This action is allowed only for operations that are considered support activities and not operations that constitute concept activities.
The operation belongs to a task list which may be shared with multiple maintenance plan items. Therefore, multiple maintenance plan items may be affected by the change.
Use the HTTP GET endpoint /maintenance-plans?filter=by-task-id&task-id={task-id}&api-version=v1
to view maintenance plans and maintenance plan items affected by this change.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
/maintenance-plans/1056916/items/10072940/tasks/T-10012713-1/operations/0010?api-version=v1
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: T-10012713-1 The id of the task within the maintenance plant item |
operation-id required | string Example: 0020 The id of the operation within the task list |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-plans/%7Bplan-id%7D/items/%7Bitem-id%7D/tasks/%7Btask-id%7D/operations/%7Boperation-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Create an operation for a maintenance plan item.
In order for the operation to be part of the next maintenance plan call, the client must also assign a maintenance package to the newly created operation. This can be done via endpoint /maintenance-plans/{plan-id}/items/{item-id}/tasks/{task-id}/operations/{operation-id}/maintenance-packages
.
The operation belongs to a task list which may be shared with multiple maintenance plan items. Therefore, multiple maintenance plan items may be affected by the change.
Use the HTTP GET endpoint /maintenance-plans?filter=by-task-id&task-id={task-id}&api-version=v1
to view maintenance plans and maintenance plan items affected by this change.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
activityTypeId
is related to cost center and fiscal year, and there is currently no endpoint to get possible values.
Creating operation with suboperationId
is not supported.
Bugfix related to text for operation.
Added ability to create text with advanced formatting. See the heading Resource text in the description for more info. This feature is controlled by a configuration switch, which will initially be disabled, and when appropriate, enabled.
Added property systemCondition
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: 10012713-1 The id of the task within the maintenance plan item |
Operation to add to existing maintenance plan item
title required | string |
operationId | string Operation |
workCenterId | string |
workCenterPlantId | string |
text | string |
calculationKey | string or null Enum: "CALC_KEY_MANUAL" "CALC_KEY_DURATION" "CALC_KEY_PLANNED_HOURS" "CALC_KEY_CAPACITY" Calculation key defines which of the fields plannedWorkHours,capacityCount and plannedDuration are derived based on the values of the two others. If calculation key is |
plannedWorkHours | string or null Duration as defined in ISO8601 |
capacityCount | integer <int32> [ 0 .. 255 ] Number of capacity from work center required for the operation |
plannedDuration | string or null Planned duration for operation is based on plannedManHours and capacityCount. Property format is as defined in ISO8601 |
executionFactor | integer <int32> Number of times the processing of operation is repeated during order processing |
standardTextTemplate | string |
systemCondition | string Required process conditions for each operation |
activityTypeId | string Used to the describe the activity type produced by the related cost center |
{- "title": "24M AUTOMASJON BR2151 - GLYCOL STILL REB"
}
{- "operationId": "0020",
- "subOperationId": "",
- "uniqueIndex": "505T100370070000000200000002",
- "title": "24M AUTOMASJON BR2151 - GLYCOL STILL REB",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "text": "Bygge stillas\\n\r\n3 x 3 x 5 meter",
- "calculationKey": "CALC_KEY_MANUAL",
- "plannedWorkHours": "PT3H",
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "executionFactor": 1,
- "standardTextTemplate": "1100-GS",
- "systemCondition": "3",
- "activityTypeId": "X4"
}
Create material needs of operation for a maintenance plan item.
Adding material to operations with suboperationId
is not supported.
Note: The operation belongs to a task list which may be shared with multiple maintenance plan items. Therefore, multiple maintenance plan items may be affected by the change.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: 10012713-1 The id of the task within the maintenance plant item |
operation-id required | string Example: 0020 The id of the operation within the task list |
Operations to add to existing Work order
quantity required | number <double> [ 0 .. 1000 ] |
materialId required | string The material number there is a need for |
{- "materialId": "741466",
- "quantity": 2
}
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Update material needs of operation for a maintenance plan item.
Updating material needs of operations with suboperationId
is not supported.
Note: The operation belongs to a task list which may be shared with multiple maintenance plan items. Therefore, multiple maintenance plan items may be affected by the change.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: 10012713-1 The id of the task within the maintenance plant item |
operation-id required | string Example: 0020 The id of the operation within the task list |
material-id required | string Example: 411285 The id of the material to modify |
Operations to add to existing Work order
op required | string Value: "replace" JSON Patch operation according to RFC6902 |
path required | string Value: "/quantity" Path indicating the property to be impacted by the operation |
value required | number Value to be assigned to a resource property based on the operation and path. Path specific information:
|
[- {
- "op": "replace",
- "path": "/quantity",
- "value": 2
}
]
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
Remove specific material need of operation for a maintenance plan item.
Note: The operation belongs to a task list which may be shared with multiple maintenance plan items. Therefore, multiple maintenance plan items may be affected by the change.
Use the HTTP GET endpoint /maintenance-plans/{plan-id}/items/{item-id}?include-task-list=true
for retrieving current data and necessary ids.
plan-id required | string Example: 1056916 The id of the maintenance plan |
item-id required | string Example: 10072940 The id of the maintenance plan item |
task-id required | string Example: 10012713-1 The id of the task within the maintenance plant item |
operation-id required | string Example: 0020 The id of the operation within the task list |
material-id required | string Example: 552382 The id of the material to remove |
curl --request DELETE \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-plans/%7Bplan-id%7D/items/%7Bitem-id%7D/tasks/%7Btask-id%7D/operations/%7Boperation-id%7D/material-needs/%7Bmaterial-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "title": "Not Found",
- "status": 404,
- "traceId": "00-d9dc368e6caec4449a64e798dad1b5b2-7d82bdde82c9474a-00"
}
The company's collection of standardized preventive maintenance activities to facilitate safe, reliable and efficient operation.
Lookup single maintenance concept
Added property conceptInstructions to maintenance concept and property text for maintenance activity.
Extended support for durations, now displaying durations for all formats in SAP. This change
is implemented on all the duration fields; recommendedInterval
, maxInterval
and initialInterval
.
Weeks (WCH) will be represented as days, e.g WCH=5
will be converted to P35D
concept-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-concepts/%7Bconcept-id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "concept": "Valve-act-Efunc",
- "conceptDescription": "Valve - on/off actuated - PSD function- cryo with SCE code 28",
- "conceptInstructions": "<H>This maintenance concept applies to:</>\n- Valve on/off-actuated, PSD function with SCE code 28, cryogenic\nservice\n",
- "catalogProfile": "SC-Valves",
- "responsibleDiscipline": "Valves",
- "maintenanceActivities": [
- {
- "activityId": "VA1580-0001",
- "activityGroupId": "01",
- "activityGroup": "Visual Check",
- "activityTypeId": "T",
- "activityType": "Condition monitoring",
- "activityDescription": "On/off ventil - Visuell inspeksjon",
- "text": "The purpose of a visual inspection is to detect damage, faults\nand defects that may impact on safety and regularity.\n\nInsulation is not normally removed to perform a visual\ninspection (only when there is a suspicion of damage, fault or\ndefect).\n\nCheck the following points (open any inspection hatches in\ninsulation):\n",
- "disciplineId": "O",
- "discipline": "Operations",
- "maxInterval": "P0Y6M0DT0H0M0S",
- "maxIntervalJustification": "ARIS R-25136",
- "recommendedInterval": "P0Y3M0DT0H0M0S",
- "recommendedIntervalDescription": "Reduced interval due to failure mode analysis",
- "initialInterval": "P0Y3M0DT0H0M0S",
- "initialIntervalDescription": ""
}
], - "conceptId": "VA1571",
- "catalogProfileId": "PM-170",
- "responsibleDisciplineId": "00000160"
}
Maintenance strategies define a set of maintenance packages which are used in the maintenance plans.
Lookup single maintenance strategy.
Maintenance strategies define a set of maintenance packages which are used in the maintenance plans. The maintenance packages determine the cycle duration for preventive maintenance and can be organised as calendar-based with e.g. 3-, 6-, 12- or 24-monthly intervals, or as hourly with e.g. 1000-, 2000- or 5000-hour interval.
strategy-id required | string Example: 1100-1 The id of the strategy. Example values: |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/maintenance-strategies/1100-1 \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "maintenanceStrategyId": "1100-1",
- "maintenanceStrategy": "Statfjord A Platform (Month)",
- "maintenancePackages": [
- {
- "cycleDuration": "P2Y0M0DT0H0M0S",
- "hierarchyId": "12",
- "maintenanceStrategyId": "1100-1",
- "packageId": "26",
- "cycleId": "24",
- "cycle": " 24 Monthly-2Y (GROUP A)"
}
]
}
Provide master data related to work orders for example standard text templates.
Get a list of standard text templates which can be used for work order operations.
For preventive maintenance, the standard text template can be assigned to work order operations in the maintenance programme (see Maintenance Plan Item - Update operation)
Find standard text templates by plant.
Parameters:
Find all standard text templates.
Parameters:
/work-orders/standard-text-templates?filter=by-plant&plantId=1100&api-version=v1
- Get all standard text templates specific for plant 1100.
/work-orders/standard-text-templates?filter=all&api-version=v1
- Get all standard text templates
filter required | string Enum: "by-plant" "all" Filter to limit the failure reports by |
plant-id | string = 4 characters Example: plant-id=1200 Plant identifier |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/work-orders/standard-text-templates?filter=SOME_STRING_VALUE&plant-id=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "standardTextTemplateId": "1100-VA",
- "standardTextTemplate": "Varmtarbeid"
}
]
Get a list of safety measures. They can be added to a work order operation when it requires special safety practices or risk management
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/safety-measures \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "documentId": "WORK AT HEIGHT-A80-000-00",
- "documentTitle": "Work at height"
}
]
Get a list of cost categories. They can be added to a work order when it requires special cost tracking.
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/cost-categories \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "costCategoryId": "COST_CUTBK",
- "costCategory": "Cutback Costs"
}
]
Get a list of all statuses and reasons which can be used in updating technical feedback.
POST
/work-order-operations/{operation-id}/technical-feedback/{technical-feedback-id}
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/work-orders/technical-feedback-master-data \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "feedbackStatusId": "0",
- "feedbackStatus": "Not reported",
- "reasons": null
}, - {
- "feedbackStatusId": "1",
- "feedbackStatus": "Done",
- "reasons": [
- {
- "feedbackReasonId": "01",
- "feedbackReason": "Ok",
- "requiredMaintenanceRecordType": null
}
]
}, - {
- "feedbackStatusId": "2",
- "feedbackStatus": "Not done",
- "reasons": [
- {
- "feedbackReasonId": "08",
- "feedbackReason": "Selective Maintenance",
- "requiredMaintenanceRecordType": "activity-report"
}, - {
- "feedbackReasonId": "09",
- "feedbackReason": "Covered by other workorder",
- "requiredMaintenanceRecordType": null
}
]
}
]
Provide master data related to maintenance records for example activity codes.
Get a list of all activity codes which are in use for maintenance records.
To be used when adding new activities to an existing failure report
/maintenance-records/activity-codes?maintenance-record-id=45939208&api-version=v1
- Use when maintenance record already exist
/maintenance-records/activity-codes?catalog-profile-id=PM-600&maintenance-record-type=failure-report&api-version=v1
- Use when maintenance record does not already exist. Get catalog-profile-id from tag or equipment to be used when the maintenance record is created
Endpoint now requires a query parameter maintenance-record-id. The values returned are dependent on the maintenance record type and possibly tag or equipment for the maintenance record.
activityCodeHelpText added as property.
Endpoint requires either query parameter maintenance-record-id or both catalog-profile-id and maintenance-record-type.
maintenance-record-id | string The maintenance record to get activity codes for |
catalog-profile-id | string The catalog profile of the functional location/equipment |
maintenance-record-type | string Enum: "failure-report" "activity-report" The type of maintenance record to get activities or |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/activity-codes?maintenance-record-id=SOME_STRING_VALUE&catalog-profile-id=SOME_STRING_VALUE&maintenance-record-type=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "activityCodeGroupId": "PM-GENE1",
- "activityCodeGroup": "PM: General Actions (E)",
- "activityCodes": [
- {
- "activityCodeId": "A50",
- "activityCode": "Lubrication",
- "activityCodeHelpText": "English\nTHIS CODE IS NORMALLY USED FOR:\nAll kinds of lubrication and preservation.\n\nCOVERS/ USED FOR:\nLubrication. Lubrication/ Topping up/ Oil change/ Pre\nCorrosion protection/ Surface treatment.\n\nNorwegian\nNÅR BRUKES NORMALT KODENE:\nVed alle former for smøring og preservering.\n\nDEKKER / BRUKES OM:\nSmøreaktivitet / etterfylling / oljeskift / preserver\nkorrosjonsbeskyttelse / overflatebehandling.\n"
}
]
}
]
Get a list of all task codes which are in use for maintenance records.
To be used when adding new tasks to an existing failure report
There are two ways to filter for task codes.
/maintenance-records/task-codes?maintenance-record-id=45939208&api-version=v1
- Use when maintenance record already exist
/maintenance-records/task-codes?catalog-profile-id=PM-600&maintenance-record-type=failure-report&api-version=v1
- Use when maintenance record does not already exist. Get catalog-profile-id from tag or equipment to be used when the maintenance record is created
taskCodeHelpText is defined for relatively few codes.
Required to provide parameter maintenance-record-id
or catalog-profile-id
and maintenance-record-type
Added support for technical information update request
maintenance-record-id | string The maintenance record to get task codes for |
catalog-profile-id | string The catalog profile of the functional location/equipment |
maintenance-record-type | string Enum: "failure-report" "activity-report" "technical-information-update-request" The type of maintenance record to get activities or |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/task-codes?maintenance-record-id=SOME_STRING_VALUE&catalog-profile-id=SOME_STRING_VALUE&maintenance-record-type=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "taskCodeGroupId": "PM-M2",
- "taskCodeGroup": "M2 Notification Tasks",
- "taskCodes": [
- {
- "taskCodeId": "1020",
- "taskCode": "Technical clarification needed",
- "taskCodeHelpText": "NÅR BRUKES NORMALT KODEN:\nNår tiltaket for å lukke denne saken er å reklamere/benytte gyldig\ngaranti\n\nDEKKER / BRUKES OM:\n- Tiltak som skal sikre at kvalitetsavvik rettes gjennom\n bruk av gyldig garantiavtale\n- Kan kombineres sammen med bruk av andre tiltakskoder\n\n***********************************************************\n\nWHEN IS THE CODE NORMALLY USED:\nWhen the way to close this case and avoid such warranty issues in the\nfuture is to contact the supplier through their own purchasing department\n\nCOVERS / USED FOR:\n- Measures to ensure that such incidents do not occur in future\n and that the supplier fixes or provides the\n mistake/missing/broken items at no additional cost to the\n company\n- Can be used in combination with other task codes\n"
}
]
}
]
Get a list of all reason codes used in modification proposal maintenance records.
/maintenance-records/reason-codes?maintenance-record-type=modification-proposal&api-version=v1
maintenance-record-type required | string Value: "modification-proposal" The type of maintenance record to get activities or |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/maintenance-records/reason-codes?maintenance-record-type=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "reasonGroupId": "PMB-PRIM",
- "reasonGroup": "Proposal for improvement (modification)",
- "reasons": [
- {
- "reasonId": "MA70",
- "reason": "Environment"
}
]
}
]
Provide master data for a plant for example for tags, areas and work centers. This is information is often required as parameters to other endpoints for example when creating a failure report.
Get all catalog profiles used in active tags at a plant.
The catalog profile provides valid values for detection method, failure mode and failure mechanism when creating and updating maintenance-records
such as failure-reports
.
Some tags will not have an assigned catalog profile. For these tags use the catalog profile defined as isDefaultProfileForActivityReports
or isDefaultProfileForFailureReports
when creating and updating maintenance-records
.
Endpoint is deprecated as of 11.2022 in order to simplify API design.
Use /plants/{plant-id}?include-tag-catalog-profiles=true
instead.
plant-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/tag-catalog-profiles \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "catalogProfileId": "PM-170",
- "catalogProfile": "SC-Valves",
- "isDefaultProfileForActivityReports": false,
- "isDefaultProfileForFailureReports": false,
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}
]
Get structured locations within the plant.
locationId
is commonly used as metadata for tags and when creating project-work-orders
.
Endpoint is deprecated as of 11.2022 in order to simplify API design.
Use /plants/{plant-id}?include-locations=true
instead.
plant-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/locations \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "locationId": "MG29",
- "location": "MAIN DECK AFT"
}
]
Get planner groups
Endpoint is deprecated as of 11.2022 in order to simplify API design.
Use /plants/{plant-id}?include-planner-groups=true
instead.
plant-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/planner-groups \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV"
}
]
Get Work centers for plant.
Endpoint is deprecated as of 11.2022 in order to simplify API design.
Use /plants/{plant-id}?include-work-centers=true
instead.
plant-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/work-centers \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workCenterId": "PPMELE",
- "workCenter": "PV Elektro"
}
]
Lookup a single plant with related information.
Added include-revisions
for reading master data on revisions for the planningPlantId
of the provided plantId
.
Added include-systems
query parameter.
Added include-equipment-catalog-profiles
query parameter.
Added include-only-default-tag-catalog-profiles
query parameter to limit the response from include-tag-catalog-profiles
and/or include-equipment-catalog-profiles
Added the allowSimplifiedTimeAndProgress
flag to represent is the plant is valid for Non-CATS time recording.
Updated PlanningPlantRevision-model.
Added query parameter include-baseline-plans
related to OM104.01.06 - Prepare Work order plan
and work-order-plan/
.
Added include-responsible-persons
to the response. Added responsiblePersons
to the response.
plant-id required | string |
include-locations | boolean Default: false Include location for plant |
include-work-centers | boolean Default: false Include work centers for plant |
include-planner-groups | boolean Default: false Include planner groups for plant |
include-tag-catalog-profiles | boolean Default: false Include tag catalog profiles in use for plant |
include-equipment-catalog-profiles | boolean Default: false Include equipment catalog profiles in use for plant |
include-only-default-catalog-profiles | boolean Default: false Use this in combination with |
include-surface-degradation-factors | boolean Default: false Include surface degradations for plant |
include-revisions | boolean Default: false Include revisions for plant |
include-systems | boolean Default: false Include systems for plant |
include-baseline-plans | boolean Default: false Include open baseline plans for the planning plant of this plant |
include-responsible-persons | boolean Default: false Include persons that are already responsible for objects on this plant |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D?include-locations=SOME_BOOLEAN_VALUE&include-work-centers=SOME_BOOLEAN_VALUE&include-planner-groups=SOME_BOOLEAN_VALUE&include-tag-catalog-profiles=SOME_BOOLEAN_VALUE&include-equipment-catalog-profiles=SOME_BOOLEAN_VALUE&include-only-default-catalog-profiles=SOME_BOOLEAN_VALUE&include-surface-degradation-factors=SOME_BOOLEAN_VALUE&include-revisions=SOME_BOOLEAN_VALUE&include-systems=SOME_BOOLEAN_VALUE&include-baseline-plans=SOME_BOOLEAN_VALUE&include-responsible-persons=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "locations": [
- {
- "locationId": "MG29",
- "location": "MAIN DECK AFT"
}
], - "systems": [
- {
- "systemId": "SV",
- "system": "HVAC"
}
], - "workCenters": [
- {
- "workCenterId": "PPMELE",
- "workCenter": "PV Elektro"
}
], - "plannerGroups": [
- {
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV"
}
], - "tagCatalogProfiles": [
- {
- "catalogProfileId": "PM-170",
- "catalogProfile": "SC-Valves",
- "isDefaultProfileForActivityReports": false,
- "isDefaultProfileForFailureReports": false,
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}
], - "equipmentCatalogProfiles": [
- {
- "catalogProfileId": "PM-170",
- "catalogProfile": "SC-Valves",
- "isDefaultProfileForActivityReports": false,
- "isDefaultProfileForFailureReports": false,
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}
], - "surfaceDegradationFactors": [
- {
- "plantId": "1140",
- "tagPrefix": "A4",
- "surface": "PAINTED HANDRAILS",
- "degradationRate1": 0.075,
- "degradationRate2": 0.12,
- "degradationRate3": 0.15
}
], - "baselinePlans": [
- {
- "baselinePlanId": "10014504",
- "baselinePlan": "AO-PLAN SFA 14.07.-10.08.2022",
- "planningPlantId": "1100",
- "planPeriodStartDate": "2019-08-24",
- "planPeriodEndDate": "2019-08-24",
- "planPeriodDuration": "P21D",
- "isApproved": true,
- "isCurrentPlan": true
}
], - "revisions": [
- {
- "revisionId": "PS02_21",
- "revision": "Planlagt stans februar 2021",
- "revisionStartDateTime": "2019-08-24T14:15:22Z",
- "revisionEndDateTime": "2019-08-24T14:15:22Z",
- "revisionStartDate": "2019-08-24T14:15:22Z",
- "revisionEndDate": "2019-08-24T14:15:22Z",
- "isCompleted": false
}
], - "responsiblePersons": [
- {
- "responsiblePersonId": "10000001",
- "responsiblePerson": "John Doe",
- "responsiblePersonEmail": "JohnDoe@equinor.com"
}
], - "plantId": "5033",
- "plant": "Askepott CAT J",
- "planningPlantId": "5033",
- "countryCode": "NO",
- "country": "Norway",
- "allowSimplifiedTimeAndProgress": true
}
Search revisions for a single plant with related information.
Search by revision ids for a single plant
Parameters:
/plants/1310/revisions?filter=by-revision-id&revision-id-any-of=OFP,OFP%202022,&include-work-order-operations=true&include-only-work-order-operations-with-materials=true&include-work-order-operation-text=true&api-version=v1
Added parameter include-text-item-materials
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added superiorRoutingCounterId
to operations
.
Added property text
to materials
in workOrderOperations
.
plant-id required | string |
filter required | string (SearchRevisionsFilter) Value: "by-revision-id" Filter to limit revisions |
revision-id-any-of | string Example: revision-id-any-of=OFP,OFP%202022 Comma-separated list of revision-id |
include-work-order-operations | boolean Default: false Include the work order operations |
include-only-work-order-operations-with-materials | boolean Default: false Limit the work order operations to only those which have material |
include-text-item-materials | boolean Default: false Include text item materials |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/revisions?filter=SOME_STRING_VALUE&revision-id-any-of=OFP%2COFP%25202022&include-work-order-operations=SOME_BOOLEAN_VALUE&include-only-work-order-operations-with-materials=SOME_BOOLEAN_VALUE&include-text-item-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "workOrderOperations": [
- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "workOrderId": "24983466",
- "title": "Bygge stillas",
- "superiorRoutingCounterId": "00000009",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL",
- "activeStatusIds": "REL CNF",
- "hasMaterial": false,
- "changedDateTime": "2023-11-28T06:06:14Z",
- "changedById": "433937",
- "changedBy": "Dagfinn Parnas",
- "changedByEmail": "dapa@equinor.com",
- "progressChangedDateTime": "2023-11-28T06:06:14Z",
- "progressChangedById": "932131",
- "progressChangedBy": "David Ramsay",
- "progressChangedByEmail": "dar@equinor.com",
- "confirmationDateTime": "2019-08-24T14:15:22Z",
- "confirmationBy": "Harald Hårfagre",
- "confirmationById": "932131",
- "confirmationByEmail": "example@equinor.com",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
], - "revisionId": "PS02_21",
- "revision": "Planlagt stans februar 2021",
- "revisionStartDateTime": "2019-08-24T14:15:22Z",
- "revisionEndDateTime": "2019-08-24T14:15:22Z",
- "revisionStartDate": "2019-08-24T14:15:22Z",
- "revisionEndDate": "2019-08-24T14:15:22Z",
- "isCompleted": false
}
]
Search revision work order operations on a plant.
Parameters:
/plants/1310/revisions/PS01-23?include-only-work-order-operations-with-materials=true&include-work-order-operation-text=true&page=1&per-page=10&api-version=v1
Added changedDateTime
,changedById
, changedBy
, changedByEmail
.
Added progressChangedDateTime
, progressChangedBy
, progressChangedById
and progressChangedByEmail
to response. These values represent the last update datetime for technical feedback.
Altered changedDateTime
, changedBy
, changedById
and changedByEmail
to only represent last update to the operation.
Added fields confirmationDateTime
, confirmationBy
, confirmationByEmail
and confirmationById
.
Fixed enum values for schedulingStartConstraintId
and schedulingFinishConstraintId
Split parts of location
on materials
into finalLocation
and temporaryLocation
in the response.
Added include-cost-data-for-materials
query parameter.
When this parameter is set to true
, the following properties will be included in materials
expand: goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
.
Added new properties goodsRecipientId
, price
, priceCurrency
, unloadingPoint
, and purchasingGroup
to materials
.
Added new properties requisitionerId
and deliveryComplete
to materials
in operations
.
Added superiorRoutingCounterId
to response.
Added property text
in materials
.
plant-id required | string |
revision-id required | string |
include-only-work-order-operations-with-materials | boolean Default: false Limit the work order operations to only those which have material |
include-text-item-materials | boolean Default: false Include text item materials |
include-cost-data-for-materials | boolean Default: false Include cost data for materials. Additional authorization will be required to retrieve these fields. |
per-page | integer [ 1 .. 100 ] Results to return pr page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/revisions/%7Brevision-id%7D/work-order-operations?include-only-work-order-operations-with-materials=SOME_BOOLEAN_VALUE&include-text-item-materials=SOME_BOOLEAN_VALUE&include-cost-data-for-materials=SOME_BOOLEAN_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "operationId": "1005419798-00000001",
- "operation": "0020",
- "workOrderId": "24983466",
- "title": "Bygge stillas",
- "superiorRoutingCounterId": "00000009",
- "workCenterId": "PPMAUT",
- "workCenterPlantId": "1100",
- "standardTextTemplate": "1100-GS",
- "isCompleted": false,
- "plannedWorkHours": "PT3H",
- "actualWorkHours": "PT2H30M",
- "actualPercentageComplete": 75,
- "capacityCount": 1,
- "plannedDuration": "PT2H45M",
- "isScheduledExternally": true,
- "earliestStartDateTime": "2019-08-24T14:15:22Z",
- "earliestFinishDateTime": "2019-08-24T14:15:22Z",
- "schedulingStartConstraintId": "MSO",
- "schedulingStartConstraintDateTime": "2019-08-24T14:15:22Z",
- "schedulingFinishConstraintId": "MFO",
- "schedulingFinishConstraintDateTime": "2019-08-24T14:15:22Z",
- "calculationKey": "CALC_KEY_MANUAL",
- "activeStatusIds": "REL CNF",
- "hasMaterial": false,
- "changedDateTime": "2023-11-28T06:06:14Z",
- "changedById": "433937",
- "changedBy": "Dagfinn Parnas",
- "changedByEmail": "dapa@equinor.com",
- "progressChangedDateTime": "2023-11-28T06:06:14Z",
- "progressChangedById": "932131",
- "progressChangedBy": "David Ramsay",
- "progressChangedByEmail": "dar@equinor.com",
- "confirmationDateTime": "2019-08-24T14:15:22Z",
- "confirmationBy": "Harald Hårfagre",
- "confirmationById": "932131",
- "confirmationByEmail": "example@equinor.com",
- "materials": [
- {
- "goodsRecipientId": "821209",
- "price": 10000,
- "priceCurrency": "NOK",
- "purchasingGroup": "700",
- "deliveryComplete": true,
- "text": "Multi-line text",
- "reservationId": "25457443-001",
- "materialId": "741466",
- "material": "LIGHT,FIXTURE,26w,SZ 4155.100,RITTAL",
- "quantity": 1,
- "quantityUnit": "string",
- "quantityUnitId": "string",
- "location": "P10N utenfor lager Temporary:Inne på lager Laydown areas/shelfs:LaydownAreasOrShelfs CCU(s):Containers",
- "finalLocation": "P10N utenfor lager",
- "temporaryLocation": "Inne på lager",
- "holdDeliveryOnshore": true,
- "requiredDatetime": "2019-08-24T14:15:22Z",
- "requisitionerId": "821209",
- "unloadingPoint": "ramp 1"
}
]
}
]
Search for plants through predefined filters.
Search plant based on one or more plant-id
Parameters:
Search plant based on one or more planning-plant-id
Parameters:
Added include-equipment-catalog-profiles
query parameter.
Added the allowSimplifiedTimeAndProgress
flag to represent is the plant is valid for Non-CATS time recording.
Added query parameter include-baseline-plans
related to OM104.01.06 - Prepare Work order plan
and work-order-plan/
.
Added include-responsible-persons
to the response. Added responsiblePersons
to the response.
filter required | string (SearchPlantFilter) Enum: "by-plant" "by-planning-plant" Filter to limit plants by |
plant-id | string Example: plant-id=5033,1201 Plant identifier |
planning-plant-id | string Example: planning-plant-id=1901,1100 Plant used to plan the maintenance work. Usually same as |
include-locations | boolean Default: false Include location for plant |
include-work-centers | boolean Default: false Include work centers for plant |
include-planner-groups | boolean Default: false Include planner groups for plant |
include-tag-catalog-profiles | boolean Default: false Include tag catalog profiles in use for plant |
include-equipment-catalog-profiles | boolean Default: false Include equipment catalog profiles in use for plant |
include-surface-degradation-factors | boolean Default: false Include surface degradations for plant |
include-baseline-plans | boolean Default: false Include open baseline plans for the planning plant of this plant |
include-responsible-persons | boolean Default: false Include persons that are already responsible for objects on this plant |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/plants?filter=SOME_STRING_VALUE&plant-id=5033%2C1201&planning-plant-id=1901%2C1100&include-locations=SOME_BOOLEAN_VALUE&include-work-centers=SOME_BOOLEAN_VALUE&include-planner-groups=SOME_BOOLEAN_VALUE&include-tag-catalog-profiles=SOME_BOOLEAN_VALUE&include-equipment-catalog-profiles=SOME_BOOLEAN_VALUE&include-surface-degradation-factors=SOME_BOOLEAN_VALUE&include-baseline-plans=SOME_BOOLEAN_VALUE&include-responsible-persons=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "locations": [
- {
- "locationId": "MG29",
- "location": "MAIN DECK AFT"
}
], - "systems": [
- {
- "systemId": "SV",
- "system": "HVAC"
}
], - "workCenters": [
- {
- "workCenterId": "PPMELE",
- "workCenter": "PV Elektro"
}
], - "plannerGroups": [
- {
- "plannerGroupId": "PPM",
- "plannerGroup": "Plattform PV"
}
], - "tagCatalogProfiles": [
- {
- "catalogProfileId": "PM-170",
- "catalogProfile": "SC-Valves",
- "isDefaultProfileForActivityReports": false,
- "isDefaultProfileForFailureReports": false,
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}
], - "equipmentCatalogProfiles": [
- {
- "catalogProfileId": "PM-170",
- "catalogProfile": "SC-Valves",
- "isDefaultProfileForActivityReports": false,
- "isDefaultProfileForFailureReports": false,
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}
], - "surfaceDegradationFactors": [
- {
- "plantId": "1140",
- "tagPrefix": "A4",
- "surface": "PAINTED HANDRAILS",
- "degradationRate1": 0.075,
- "degradationRate2": 0.12,
- "degradationRate3": 0.15
}
], - "baselinePlans": [
- {
- "baselinePlanId": "10014504",
- "baselinePlan": "AO-PLAN SFA 14.07.-10.08.2022",
- "planningPlantId": "1100",
- "planPeriodStartDate": "2019-08-24",
- "planPeriodEndDate": "2019-08-24",
- "planPeriodDuration": "P21D",
- "isApproved": true,
- "isCurrentPlan": true
}
], - "revisions": [
- {
- "revisionId": "PS02_21",
- "revision": "Planlagt stans februar 2021",
- "revisionStartDateTime": "2019-08-24T14:15:22Z",
- "revisionEndDateTime": "2019-08-24T14:15:22Z",
- "revisionStartDate": "2019-08-24T14:15:22Z",
- "revisionEndDate": "2019-08-24T14:15:22Z",
- "isCompleted": false
}
], - "responsiblePersons": [
- {
- "responsiblePersonId": "10000001",
- "responsiblePerson": "John Doe",
- "responsiblePersonEmail": "JohnDoe@equinor.com"
}
], - "plantId": "5033",
- "plant": "Askepott CAT J",
- "planningPlantId": "5033",
- "countryCode": "NO",
- "country": "Norway",
- "allowSimplifiedTimeAndProgress": true
}
]
Get the surface degradation factors defined for a plant. This information can be used to understand how paint degrades over time.
plant-id required | string |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/plants/%7Bplant-id%7D/surface-degradation-factors \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "plantId": "1140",
- "tagPrefix": "A4",
- "surface": "PAINTED HANDRAILS",
- "degradationRate1": 0.075,
- "degradationRate2": 0.12,
- "degradationRate3": 0.15
}
]
Get information for the currently logged in user.
If query parameter include-authorization
is true, the request will check if the user has the necessary basic accesses required for the API. Consumer applications could use the response to display general instructions for applying to access if authorization.hasAccessToAPI
is false.
Add query parameter include-is-discipline-responsible
with default value false. Add parameter isDisciplineResponsible
to response.
include-authorizations | boolean Default: true Include information on authorization user has for API |
include-is-discipline-responsible | boolean Default: false Include information if user is discipline responsible |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/user?include-authorizations=SOME_BOOLEAN_VALUE&include-is-discipline-responsible=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "userId": "string",
- "userType": "EQUINOR",
- "isUserTypeSupported": true,
- "authorization": {
- "hasAccessToAPI": true,
- "details": {
- "hasAzureADAccess": true,
- "hasERPGatewayAccess": true,
- "hasERPAccess": true
}
}, - "isDisciplineResponsible": true
}
Get one or more text templates to be used in maintenance records, work orders or maintenance program.
There is an allowlist for which templates are available through this endpoint and it includes:
<plant>-M2-<X>
such as 1100-M2
and 1100-M2-X
M2_TASK_EXTR
, M2_TASK_TICO
and M2_TASK_TICO_ENG
The text of the template follows the advanced formatting as described in Resource text.
Added support for the following templates:
M1_SIMPLIFIED_SAS
M1_ENKEL_SAS
M5N
M1N
template-name-any-of | string Default: "M2_Task,-M2-X" Example: template-name-any-of=1100-M2,1100-M2-X,M2_TASK_EXTR Comma-separated list of text templates to return |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/text-templates?template-name-any-of=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "templateName": "1100-M2",
- "text": "FYLLES UT AV INNMELDER OG VERIFISERES AV ANSVARLIG FAG (Se ARIS/WI00019/OPL00048)\n\nBESKRIV FEILEN SÅ GODT SOM MULIG (LEGG GJERNE MED BILDER):\n{{COMMAND INCLUDE Z_110_FLX_BEREDSKAPSGASSMAAL_0001 OBJECT TEXT ID IPRT}}\n{{LEFT_ALIGNED}}Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\neiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation\nullamco laboris nisi ut aliquip ex ea commodo consequat.\n{{CENTERED}}Duis aute irure dolor in reprehenderit in voluptate velit \nesse cillum dolore eu fugiat nulla pariatur.\\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui \nofficia deserunt mollit anim id est laborum.\n",
- "title": "Standard M2 Longtext - Norwegian",
- "createdDateTime": "2019-08-24T14:15:22Z",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
]
Provide master data for a catalog e.g for code groups. This information is often required as parameters to other endpoints for example POST /measuring-points
Returns a list of codeGroups that belong in the catalog.
The catalog-id can be any of the following:
catalogId | Description |
---|---|
1 | Characteristic attribute |
2 | Tasks |
5 | Failure mechanism |
C | Failure mode |
V | Measuring points |
D | Coding |
Added catalog for coding to be used for general classification of maintenance records.
catalog-id required | string Enum: "1" "2" "5" "C" "D" "V" |
curl --request GET \ --url https://api-test.gateway.equinor.com/maintenance-api/catalogs/%7Bcatalog-id%7D/code-groups \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "codeGroupId": "string",
- "codeGroup": "string",
- "codes": [
- {
- "codeId": "string",
- "code": "string"
}
]
}
]
Returns a list of Catalog Profiles for the given catalog-profile-id
s. This endpoint allows for including the following multi-line helpText
properties if include-text=true
is set in the request:
failureModeHelpText
for failureModes
detectionMethodHelpText
for detectionMethods
failureMechanismHelpText
for failureMechanisms
These are not included by default due to their detrimental effect on the performance of this endpoint.
catalog-profile-id required | string Example: catalog-profile-id=PM-M2,PM-254,PM-999 List of |
include-text | boolean Default: false Include helpText properties for failureModes, detectionMethods and failureMechanisms in the response. Affects performance. |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/catalogs/profiles?catalog-profile-id=PM-M2%2CPM-254%2CPM-999&include-text=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "catalogProfileId": "PM-170",
- "catalogProfile": "SC-Valves",
- "isDefaultProfileForActivityReports": false,
- "isDefaultProfileForFailureReports": false,
- "detectionMethods": [
- {
- "detectionMethodGroupId": "PMDM-005",
- "detectionMethodGroup": "ISO Scheduled activities",
- "items": [
- {
- "detectionMethodId": "5",
- "detectionMethod": "ISO Continuous condition monitoring"
}
]
}
], - "failureModes": [
- {
- "failureModeGroupId": "PMMO-999",
- "failureModeGroup": "CST General",
- "items": [
- {
- "failureModeId": "ELP",
- "failureMode": "ISO External leakage – process medium"
}
]
}
], - "failureMechanisms": [
- {
- "failureMechanismGroupId": "PMMC-030",
- "failureMechanismGroup": "ISO Miscellaneous",
- "items": [
- {
- "failureMechanismId": "6.2",
- "failureMechanism": "ISO Combined causes"
}
]
}
]
}
]
Provide master data for characteristics and class. This information is often required as parameters to other endpoints for example POST /measuring-points/{point-id}/characteristics
Returns a list of characteristics for a Class.
The class-type can be any of the following:
class-type | Description |
---|---|
002 | Equipment |
003 | Tags |
015 | Notification Item |
037 | Measuring Point |
class-id required | string Example: SAFE_CRIT_EQ_INSP |
class-type required | string Enum: "002" "003" "015" "037" |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/characteristics/%7Bclass-id%7D?class-type=SOME_STRING_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "classId": "SAFE_CRIT_EQ_INSP",
- "classType": "003",
- "characteristics": [
- {
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueRange": [
- {
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)"
}
]
}
]
}
Get the list of Maintenance Items implemented to a tag.
plant-id required | string = 4 characters Example: plant-id=1200 Plant identifier |
tag-id required | string Example: tag-id=AB |
include-item-calls | boolean Default: true Include calls to maintenance plan item |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/reports/concept-activities?plant-id=SOME_STRING_VALUE&tag-id=AB&include-item-calls=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "activityCode": "VA1733-0006",
- "activityGroupText": "Functional test",
- "plannedDate": "2025-12-31",
- "cycleId": "24",
- "cycle": " 24 Monthly-2Y (GROUP A)",
- "cycleIntervalId": "0",
- "complianceStatus": "OK",
- "calls": [
- {
- "callNr": 8,
- "plannedDate": "2019-08-24",
- "isExecuted": true,
- "preventiveWorkOrderId": "20132844",
- "duePackages": "12",
- "schedulingTypeStatus": "Scheduled Complete",
- "callDate": "2020-11-01T12:00:00Z",
- "completionDate": "2020-12-01T12:00:00Z"
}
], - "maintenancePlanItemId": "10072940",
- "maintenancePlanItem": "24M FV-TELE MODULPROGRAM CD2",
- "maintenancePlanId": "1056916",
- "planningPlantId": "1100",
- "mainTagId": "AE5566",
- "mainTagPlantId": "1100",
- "changedDateTime": "2023-11-28T06:06:14Z"
}
]
Get the list of EqHub and SEMI usage. T-code in backend system ZOMPM_SEMI_USAGE
.
Added filter changed-since-datetime
and changed-before-datetime
.
eqhub-id-any-of | string Example: eqhub-id-any-of=100000000,100000001 Comma-separated List of eqhub id's |
SEMI-id-any-of | string Example: SEMI-id-any-of=100000000,100000001 Comma-separated List of SEMI id's |
filter | string Enum: "eqhub" "SEMI" Filter between eqhub or SEMI |
include-status | boolean Default: false Include status in response |
changed-since-datetime | string <date-time> Earliest datetime to return EqHub and SEMI usage for. |
changed-before-datetime | string <date-time> Latest datetime to return EqHub and SEMI usage for. |
per-page | integer [ 1 .. 100 ] Default: 100 Results to return per page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/reports/eqhub-and-semi-usage?eqhub-id-any-of=100000000%2C100000001&SEMI-id-any-of=100000000%2C100000001&filter=SOME_STRING_VALUE&include-status=SOME_BOOLEAN_VALUE&changed-since-datetime=SOME_STRING_VALUE&changed-before-datetime=SOME_STRING_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "semiId": "123456",
- "documentType": "A01",
- "documentNumber": "123456",
- "objectNumber": "123456",
- "category": "EQHUB",
- "status": "APPROVED",
- "documentTitle": "EQHUB ID 123456",
- "documentCreatedDate": "2024-02-23",
- "objectType": "EQUI",
- "objectTypeText": "Equipment",
- "objectDescription": "Equipment description",
- "objectBom": true,
- "createdOnDateTime": "2024-02-23T12:00:00",
- "createdById": "123456",
- "changedOnDateTime": "2024-02-23T12:00:00",
- "changedById": "123456",
- "manufacturer": "ABB",
- "model": "QWM000991134",
- "manufacturerPartNumber": "QWM000991134++12309",
- "serialNumber": "12312730456",
- "constructionType": "123451273609128736",
- "constructionTypeText": "Construction type",
- "equipmentFunctionalLocationId": "1100-TESTAB",
- "equipmentFunctionalLocationABCid": "6",
- "equipmentFunctionalLocationPlantId": "1100",
- "equipmentFunctionalLocationPlant": "TEST",
- "equipmentStatuses": {
- "systemStatus": "INST",
- "userStatus": "INSV"
}, - "functionalLocationStatuses": {
- "systemStatus": "NEW",
- "userStatus": "INSV"
}
}
]
Characteristics are part of the classification system and used to describe properties of different objects such as Tags, Equipment and others.
Search for characteristics by class type and class id.
The class-type can be any of the following:
class-type | Description |
---|---|
002 | Equipment |
003 | Tags |
015 | Notification Item |
017 | Document |
037 | Measuring Point |
filter required | string Value: "by-characteristic-ids-any-of" |
class-type required | string Enum: "002" "003" "015" "037" |
characteristic-ids-any-of | string Example: characteristic-ids-any-of=CRIT_PRODUCTION,CRIT_SAFETY Required if filter is |
class-type-key-prefix | string Example: class-type-key-prefix=1100 Pre-fix of the object key, if searching for class type "003" (Tags) this may be set to "1100" to fetch all characteristics from Tags starting with 1100, which would mean all tags for this plant. |
per-page | integer [ 1 .. 100 ] Default: 100 Results to return per page |
page | integer Default: 1 Page to fetch |
curl --request GET \ --url 'https://api-test.gateway.equinor.com/maintenance-api/characteristics?filter=SOME_STRING_VALUE&characteristic-ids-any-of=SOME_STRING_VALUE&class-type-key-prefix=SOME_STRING_VALUE&class-type=SOME_STRING_VALUE&per-page=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
[- {
- "classTypeKey": "1100-TTR32",
- "characteristicId": "HIDDEN_FAILURE",
- "characteristic": "Safety Critical Element (SCE)",
- "valueId": "01",
- "value": "Pressure Safety Valve (PSV)",
- "classId": "SAFE_CRIT_EQ_INSP"
}
]