v1
latestOpenAPI 3.0.02026-08-062441107.9 KBCreate or update workflow specification
Create or update workflow specification. The request must contain all the computation specifications which are to make up the workflow specification. These computation specifications must have previously been created. The request must also contain all the edges which connect the computation specifications together. The edges describe the flow of data from one computation specifications output data-type to another computation specifications input data-type. As an example, a workflow specification could consist of two computation specifications connected together. The connection between the two computation specifications could consist of the first output data-type from the first computation specification being connected to the first input data-type of the second computation specification. If the two computation specifications being connected together were the 'ix' and 'peep' computation specifications, the output data-type 'production-forecast' of the 'ix' computation specification would be connected to the input data-type 'production-forecast' of the 'peep' computation specification. As the 'production-forecast' data-type is the first output data-type (zeroth index) in the 'ix' computation specification and the first input data-type (zeroth index) in the 'peep' computation specification, the workflow edge would be defined as going from the index zero output data-type of the computation specification with index zero (the 'ix' computation specification) to the index zero output data-type of the computation index with index one (the 'peep' computation index). The order of the computation specifications provided in the creation of the workflow specification is maintained in the created workflow specification and may be changed through performing PATCH or PUT operations on the workflow specification.
Path parameters
The workflow specification ID.
Headers
Data partition id.
Request body
Example request
{
"id": "slb:workflow-specs:custom-workflow-spec",
"name": "custom-workflow-spec",
"description": "Description",
"computationSpecIds": [
"ix",
"peep"
],
"edges": [
{
"fromAddressType": "DataTypeOutput",
"fromComputationIndex": 0,
"fromDataTypeIndex": 0,
"toComputationIndex": 1,
"toDataTypeIndex": 0
}
]
}Response
Workflow specification updated successfully.
Example response
{
"id": "01DV2RPKYS5NYBAR6TNMJ8TNT8",
"name": "custom-workflow-spec",
"version": 1,
"latest": true,
"archived": false,
"description": "Description",
"createdBy": "user@slb.com",
"createdAt": "2020-01-01T00:00:00.000Z",
"computationSpecs": [
{
"id": "ix",
"name": "ix",
"version": 1,
"latest": true,
"archived": false,
"description": "A specification.",
"createdBy": "system",
"createdAt": "2020-01-01T00:00:00.000Z",
"address": {
"type": "Computation",
"computationIndex": 0,
"dataTypeIndex": 0
},
"inputDataTypeIds": [
{
"id": "decline-curves",
"version": 1,
"address": [
{
"computationIndex": 0,
"dataTypeIndex": 0,
"type": "DataTypeInput"
}
]
},
{
"id": "drilling-constraints",
"version": 1,
"address": [
{
"computationIndex": 0,
"dataTypeIndex": 1,
"type": "DataTypeInput"
}
]
},
{
"id": "facility-constraints",
"version": 1,
"address": [
{
"computationIndex": 0,
"dataTypeIndex": 2,
"type": "DataTypeInput"
}
]
}
],
"outputDataTypeIds": [
{
"id": "production-forecast",
"version": 1,
"address": {
"type": "DataTypeOutput",
"computationIndex": 0,
"dataTypeIndex": 0
}
}
]
},
{
"id": "peep",
"name": "peep",
"version": 1,
"latest": true,
"archived": false,
"description": "A specification.",
"createdBy": "system",
"createdAt": "2020-01-01T00:00:00.000Z",
"address": {
"type": "Computation",
"computationIndex": 0,
"dataTypeIndex": 0
},
"inputDataTypeIds": [
{
"id": "production-forecast",
"version": 1,
"address": [
{
"computationIndex": 1,
"dataTypeIndex": 0,
"type": "DataTypeInput"
}
]
},
{
"id": "well-capex",
"version": 1,
"address": [
{
"computationIndex": 1,
"dataTypeIndex": 1,
"type": "DataTypeInput"
}
]
},
{
"id": "general-capex",
"version": 1,
"address": [
{
"computationIndex": 1,
"dataTypeIndex": 2,
"type": "DataTypeInput"
}
]
},
{
"id": "general-opex",
"version": 1,
"address": [
{
"computationIndex": 1,
"dataTypeIndex": 3,
"type": "DataTypeInput"
}
]
},
{
"id": "economic-framework",
"version": 1,
"address": [
{
"computationIndex": 1,
"dataTypeIndex": 4,
"type": "DataTypeInput"
}
]
}
],
"outputDataTypeIds": [
{
"id": "peep-output",
"version": 1,
"address": {
"type": "DataTypeOutput",
"computationIndex": 1,
"dataTypeIndex": 0
}
}
]
}
],
"edges": [
{
"fromAddressType": "DataTypeOutput",
"fromComputationIndex": 0,
"fromDataTypeIndex": 0,
"toComputationIndex": 1,
"toDataTypeIndex": 0
}
]
}