v1

latestOpenAPI 3.0.02026-08-062441107.9 KB
WorkflowSpecs

Create workflow specification

Create workflow specification. The create 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 only be changed through performing PATCH operations on the workflow specification.

post/workflow-specs

Headers

slb-data-partition-idstring required

Data partition id.

Request body

idstring

The optional id of the specification. The id should be of the form '{authority}:{spec-type}:{id}', where '{authority}' is the owning authority of the specification, '{spec-type}' is one of 'data-types', 'computation-specs' or 'workflow-specs'.

namestring required

The name of the specification.

descriptionstring required

The description of the specification.

computationSpecIdsstring[] required

The computation specification IDs which make up the workflow specification. These computation specifications must have already been previously created. The order of the computation specifications is maintained in the created workflow specification. Note that specific versions of a computation-spec can be specified by using the format 'id:version'.

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 created successfully.

idstring required

The ID of the specification.

namestring required

The name of the specification.

versioninteger required

The version of the specification definition.

latestboolean required

Whether this is the latest version of the given specification.

archivedboolean required

Whether this specification has been marked as archived.

descriptionstring required

The description of the specification.

createdBystring required

The ID of the user who created the specification.

createdAtstring date-time required

The date the specification was created.

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
    }
  ]
}