swagger: "2.0" info: title: Evaluation version: 1.0.0 description: | ```plain {% title="Client ID" %} prod-nam-services-fdplan.slbservice.com prod-eu-services-fdplan.slbservice.com prod-au-services-fdplan.slbservice.com prod-id-services-fdplan.slbservice.com production-services-fdplan.slbservice.com ``` The Evaluation API is responsible for evaluation workflows in FDPlan. The key features of the API include: * The ability to create custom evaluation workflows. * The ability to drive custom evaluation workflows and computations. The key API concepts include: * **workflow-specs**: A workflow-spec is a workflow specification defining all the computation specifications which form the workflow. A workflow specification also defines the edges which connect computations together in a graph. These edges connect an output from one computation specification to the input of another. A number of default 'system' workflow specifications are provided to the user. Details of these 'system' workflow specifications can be discovered by using the API to get all workflow specifications. * **computation-specs**: A computation-spec is a computation specification which defines all the input and output data-types for the computation. A number of default 'system' computation specifications are provided to the user. Details of these 'system' computation specifications can be discovered by using the API to get all computation specifications. * **data-types**: A data-type is a specification for a data representation which is required as one of a computation-spec's inputs or produced as one of a computation-spec's outputs. A number of default 'system' data-types are provided to the user. Details of these 'system' data-types can be discovered by using the API to get all data-types. * **computation**: A computation is an instance of a computation-spec for a running workflow. It encapsulates the state of the computation (i.e. running, succeeded), input/output data containers which have been associated with the computation and any errors which have occurred during the running of the computation. The input and output data containers associated with the computation can be accessed through the containers API operations. * **container**: A container is a resource which holds all the data for a given data-type definition. * **schema**: A schema is a formal description of a data-type. It defines the structure of the data-type against which data can be validated. A number of default schemas for 'system' data-types are provided for the user. Currently only JSON schemas are supported, for more information see [JSON Schema](https://json-schema.org/). Schemas defined in the OSDU schema service may be used to describe evaluation data-types by using their unique identifiers in schema references, e.g. osdu:wks:wellbore:1.0.0. contact: name: SLB Customer Support for Digital url: https://customersupport.digital.slb.com x-product-id: FDPlan-Evaluation host: api.delfi.slb.com basePath: /fdplan/evaluation/v1 schemes: - https consumes: - application/json produces: - application/json paths: /workflow-specs: get: tags: - WorkflowSpecs summary: Get all workflow specifications description: Get all workflow specifications. The parameter 'IncludePreviousVersions' may be used to return either the most recent versions of the workflow specifications or all possible versions of each workflow specification. operationId: getWorkflowSpecs produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - $ref: '#/parameters/IncludePreviousVersions' responses: "200": description: Retrieved workflow specifications successfully. schema: $ref: '#/definitions/WorkflowSpecs' "204": description: No workflow specifications were found. "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' post: tags: - WorkflowSpecs summary: Create workflow specification description: 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. operationId: postWorkflowSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - description: The workflow specification to be created. name: workflowSpec in: body required: true schema: $ref: '#/definitions/CreateWorkflowSpec' responses: "201": description: Workflow specification created successfully. schema: $ref: '#/definitions/WorkflowSpec' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /workflow-specs/{workflowSpecId}: get: tags: - WorkflowSpecs summary: Get a workflow specification description: Get a workflow specification. operationId: getWorkflowSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The workflow specification ID. name: workflowSpecId type: string x-nullable: false - in: query description: The id of the data-type to get. If not specified, the latest version will be returned. name: version type: integer format: int32 x-nullable: false responses: "200": description: Retrieved workflow specification successfully. schema: $ref: '#/definitions/WorkflowSpec' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The workflow specification was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' put: tags: - WorkflowSpecs summary: Create or update workflow specification description: 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. operationId: putWorkflowSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The workflow specification ID. name: workflowSpecId type: string x-nullable: false - description: The workflow specification to be created. name: workflowSpec in: body required: true schema: $ref: '#/definitions/ReplaceWorkflowSpec' responses: "200": description: Workflow specification updated successfully. schema: $ref: '#/definitions/WorkflowSpec' "201": description: Workflow specification created successfully. schema: $ref: '#/definitions/WorkflowSpec' "400": description: Unauthorized. schema: $ref: '#/definitions/Error' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' patch: tags: - WorkflowSpecs summary: Update a workflow specification description: Update a workflow specification. It is only possible to update the "name", "description", "archived", "computationSpecs", "edges" and "annotations" fields of the workflow specification. operationId: patchWorkflowSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The workflow specification ID. name: workflowSpecId type: string x-nullable: false - description: The patches to apply to the workflow specification. Only "replace" operations are supported with the exception of "add" and "remove" for "annotations" path. It is only possible to update the "name", "description", "archived", "computationSpecs", "edges" and "annotations" fields of the workflow specification. name: patches in: body required: true schema: $ref: '#/definitions/PatchReq' responses: "200": description: Workflow specification updated successfully. schema: $ref: '#/definitions/WorkflowSpec' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The workflow specification was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /workflow-specs/{workflowSpecId}/computation-config: put: tags: - WorkflowSpecs summary: Create or update configuration for a computation description: | Create or update configuration properties for a computation. The parameters workflowSpecId and computationIndex will be used to uniquely identify the configuration to be created or updated. **Note**: It is advised not to change the computation configurations while an evaluation is running. This might lead to unexpected evaluation results. operationId: putComputationConfig produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The workflow specification ID. name: workflowSpecId type: string x-nullable: false - required: true in: query description: The computation index in the workflow spec. name: computationIndex type: number x-nullable: false - description: The configuration properties for a computation name: config in: body required: true schema: $ref: '#/definitions/ComputationConfiguration' responses: "204": description: Computation configuration created successfully. "400": description: Bad request schema: $ref: '#/definitions/Error' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' /computation-specs: get: tags: - ComputationSpecs summary: Get all computation specifications description: Get all computation specifications. The parameter 'IncludePreviousVersions' may be used to return either the most recent versions of the computation specifications or all possible versions of each computation specification. operationId: getComputationSpecs produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - $ref: '#/parameters/IncludePreviousVersions' responses: "200": description: Retrieved computation specifications successfully. schema: $ref: '#/definitions/ComputationSpecs' "204": description: No computation specifications were found. "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' post: tags: - ComputationSpecs summary: Create a computation specification description: Create a computation specification. The create request must contain all the input and output data-type IDs which are used to define the computation specification. These data-types must have previously been created. As an example, a computation specification could be defined as a specification for a compute which takes two pieces of input data and calculates a single piece of output data. The specification for this compute would take two input data-types and output a single output data-type. The order of the input and output data-type IDs provided in the creation of the computation specification is maintained in the created computation specification and may only be changed through performing PATCH operations on the computation specification. operationId: postComputationSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - description: The computation specification to be created. name: computationSpec in: body required: true schema: $ref: '#/definitions/CreateComputationSpec' responses: "201": description: Computation specification created successfully. schema: $ref: '#/definitions/ComputationSpec' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /computation-specs/{computationSpecId}: get: tags: - ComputationSpecs summary: Get computation specification description: Get computation specification. operationId: getComputationSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The computation specification ID. name: computationSpecId type: string x-nullable: false - in: query description: The id of the data-type to get. If not specified, the latest version will be returned. name: version type: integer format: int32 x-nullable: false responses: "200": description: Retrieved computation specification successfully. schema: $ref: '#/definitions/ComputationSpec' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The computation specification was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' put: tags: - ComputationSpecs summary: Create or update a computation specification description: Create or update a computation specification. The request must contain all the input and output data-type IDs which are used to define the computation specification. These data-types must have previously been created. As an example, a computation specification could be defined as a specification for a compute which takes two pieces of input data and calculates a single piece of output data. The specification for this compute would take two input data-types and output a single output data-type. operationId: putComputationSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The computation specification ID. name: computationSpecId type: string x-nullable: false - description: The computation specification to be created or updated. name: computationSpec in: body required: true schema: $ref: '#/definitions/ReplaceComputationSpec' responses: "200": description: Computation specification updated successfully. schema: $ref: '#/definitions/ComputationSpec' "201": description: Computation specification created successfully. schema: $ref: '#/definitions/ComputationSpec' "400": description: Unauthorized. schema: $ref: '#/definitions/Error' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' patch: tags: - ComputationSpecs summary: Update computation specification description: Update computation specification. It is only possible to update the "name", "description", "archived", "inputDataTypeIds", "outputDataTypeIds" and "annotations" fields of the computation specification. operationId: patchComputationSpec produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The computation specification ID. name: computationSpecId type: string x-nullable: false - description: The patches to apply to the computation specification. Only "replace" operations are supported with the exception of "add" and "remove" for "annotations" path. It is only possible to update the "name", "description", "archived", "inputDataTypeIds", "outputDataTypeIds" and "annotations" fields of the computation specification. name: patches in: body required: true schema: $ref: '#/definitions/PatchReq' responses: "200": description: Computation specification updated successfully. schema: $ref: '#/definitions/ComputationSpec' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The computation specification was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /data-types: get: tags: - DataTypes summary: Get all data-types description: Get all data-types. The parameter 'IncludePreviousVersions' may be used to return either the most recent versions of the data-types or all possible versions of each data-type. operationId: getDataTypes produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - $ref: '#/parameters/IncludePreviousVersions' responses: "200": description: Retrieved data-types successfully. schema: $ref: '#/definitions/DataTypes' "204": description: No data-types were found. "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' post: tags: - DataTypes summary: Create data-type description: Create data-type. The create request must contain all the file types which are to be associated with the data-type. For example, if the data-type was to allow the use of JSON documents then the request would list it as a file specification. operationId: postDataType produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - description: The data-type to be created. name: dataType in: body required: true schema: $ref: '#/definitions/CreateDataType' responses: "201": description: Data-type created successfully. schema: $ref: '#/definitions/DataType' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /data-types/{dataTypeId}: get: tags: - DataTypes summary: Get a data-type description: Get a data-type. operationId: getDataType produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The data-type ID. name: dataTypeId type: string x-nullable: false - in: query description: The id of the data-type to get. If not specified, the latest version will be returned. name: version type: integer format: int32 x-nullable: false responses: "200": description: Retrieved data-type successfully. schema: $ref: '#/definitions/DataType' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The data-type was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' put: tags: - DataTypes summary: Create or update data-type description: | Create or update data-type. The request must contain all the file types which are to be associated with the data-type. For example, if the data-type was to allow the use of JSON documents then the request would list it as a file specification. operationId: putDataType produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The data-type ID. name: dataTypeId type: string x-nullable: false - description: The data-type to be updated or created. name: dataType in: body required: true schema: $ref: '#/definitions/ReplaceDataType' responses: "200": description: Data-type updated successfully. schema: $ref: '#/definitions/DataType' "201": description: Data-type created successfully. schema: $ref: '#/definitions/DataType' "400": description: Bad request schema: $ref: '#/definitions/Error' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error schema: $ref: '#/definitions/Error' patch: tags: - DataTypes summary: Update a data-type description: Update a data-type. It is only possible to update the "name", "description", "archived", and "fileSpecs" fields of the data-type. operationId: patchDataType produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The data-type ID. name: dataTypeId type: string x-nullable: false - description: The patches to apply to the data-type. Only "replace" operations are supported. It is only possible to update the "name", "description", "archived" and "fileSpecs" fields of the data-type. name: patches in: body required: true schema: $ref: '#/definitions/PatchReq' responses: "200": description: Data-type updated successfully. schema: $ref: '#/definitions/DataType' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The data-type was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /computations/{computationId}: get: tags: - Computations summary: Get a computation description: |- Get a computation given the computation ID. The computation contains the state of the computation (i.e. running, succeeded), input/output data containers which has been associated with the computation and any errors which have occurred during the running of the computation. The input and output data containers associated with the computation can be accessed through the containers API operations. Computations external to FDPlan can discover when computations are required to be performed by querying the FDPlan Events API for events with the type 'com.slb.cloud.fdplan.evaluation.computation_required_{computation_spec_id}_v{computation_spec_version}.v1', for instance 'com.slb.cloud.fdplan.evaluation.computation_required_ix_v1.v1'. The data for this event type contains information on the computation which is required. operationId: getComputation produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The ID of the computation. name: computationId type: string - in: query description: Flag will include data-link.json content encoded as base64. name: includeDataLinkContent type: boolean default: false - in: query description: Flag will include signed url for data-types with file size limit greater than 20MB. name: includeSignedURL type: boolean default: false responses: "200": description: Retrieved computation successfully. schema: $ref: '#/definitions/Computation' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The computation was not found. default: description: Unexpected error. schema: $ref: '#/definitions/Error' /computations/{computationId}/status: post: tags: - Computations summary: Set status of computation description: Set status of computation given the computation ID. operationId: postComputationStatus produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The ID of the computation. name: computationId type: string x-nullable: false - description: The details of the computation status to be set. name: status in: body required: true schema: $ref: '#/definitions/SetComputationStatus' responses: "201": description: Computation status updated successfully. schema: $ref: '#/definitions/Computation' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The computation was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /containers/{containerId}: get: tags: - Containers summary: Get container description: Get container given the container ID. The container ID associated with a given computation can be accessed through the computations API operations. operationId: getContainer produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The ID of the container. name: containerId type: string - in: query description: Flag will include data-link.json content encoded as base64. name: includeDataLinkContent type: boolean default: false responses: "200": description: Retrieved container successfully. schema: $ref: '#/definitions/Container' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The container was not found. default: description: Unexpected error. schema: $ref: '#/definitions/Error' /containers/{containerId}/files: post: tags: - Containers summary: Upload file associated with a container description: Upload file associated with a container. operationId: postContainerFile produces: - application/octet-stream consumes: - multipart/form-data parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The ID of the container name: containerId type: string - required: true in: formData description: The file to upload. name: uploadFile type: file responses: "201": description: File uploaded successfully. schema: $ref: '#/definitions/CreateContainerFileResponse' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /containers/{containerId}/files/{fileName}: get: tags: - Containers summary: Get a file associated with a container description: Get a file associated with a container. The MIME type will be set according to the data-type. operationId: getContainerFile produces: - application/octet-stream parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The name of the file. name: fileName type: string - required: true in: path description: The ID of the container. name: containerId type: string responses: "200": description: File retrieved successfully. schema: type: file "401": description: Unauthorized. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /containers/{containerId}/files/{fileName}/download-url: get: tags: - Containers summary: Get a signed url which can be used to download a file. description: Generate a signed url which can be used for downloading a specified file. operationId: getDownloadSignedURL produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The name of the file. name: fileName type: string - required: true in: path description: The ID of the container. name: containerId type: string responses: "200": description: Download Signed URL generation successful. schema: $ref: '#/definitions/SignedURLResponse' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The file was not found error. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /containers/{containerId}/files/{fileName}/upload-url: get: tags: - Containers summary: Get a signed url which can be used to upload a file. description: Generate a signed url which can be used for uploading a specified file. operationId: getUploadSignedURL produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The name of the file. name: fileName type: string - required: true in: path description: The ID of the container name: containerId type: string responses: "200": description: Upload signed URL generation successful. schema: $ref: '#/definitions/SignedURLResponse' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The container was not found. schema: $ref: '#/definitions/Error' default: description: Unexpected error. schema: $ref: '#/definitions/Error' /schemas/{schemaId}: get: tags: - Schemas summary: Get schema description: Get a schema given its schema ID. operationId: getSchema produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The ID of the schema. name: schemaId type: string responses: "200": description: Retrieved schema successfully. schema: $ref: '#/definitions/Schema' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: The schema was not found. default: description: Unexpected error. schema: $ref: '#/definitions/Error' /workflow-specs-mappings/{workflowSpecId}: get: tags: - WorkflowSpecs summary: Get all input mappings that originates from the given workflow specification description: Get all input mappings that originates from the given workflow specification. operationId: getWorkflowSpecMappings produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - required: true in: path description: The ID of the workflow specification to return mappings for. name: workflowSpecId type: string - required: true in: query description: The version of the workflow specification to return mappings for. name: version type: integer format: int32 minimum: !!float 1 responses: "200": description: Workflow specification input mappings originating from the given workflow specification schema: $ref: '#/definitions/WorkflowSpecMappings' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: Workflow specification was not found default: description: Unexpected error. schema: $ref: '#/definitions/Error' /workflow-specs-mappings: put: tags: - WorkflowSpecs summary: Create or update input mapping between two workflow specifications description: Create or update input mapping between two workflow specifications. operationId: putWorkflowSpecMapping produces: - application/json parameters: - $ref: '#/parameters/SlbPartitionId' - description: The request to create or update workflow specification input mapping. name: mapping in: body required: true schema: $ref: '#/definitions/WorkflowSpecMapping' responses: "200": description: Workflow specification input mapping updated successfully. schema: $ref: '#/definitions/WorkflowSpecMapping' "201": description: Workflow specification input mapping created successfully. schema: $ref: '#/definitions/WorkflowSpecMapping' "400": description: Bad request. schema: $ref: '#/definitions/Error' "401": description: Unauthorized. schema: $ref: '#/definitions/Error' "404": description: Workflow specification was not found default: description: Unexpected error. schema: $ref: '#/definitions/Error' definitions: Error: description: Generic error response. required: - data type: object properties: data: required: - code type: object properties: code: format: int32 description: The HTTP status code. type: integer example: 500 x-nullable: false message: description: The error message. type: string example: internal server error example: data: code: 500 message: internal server error PatchReq: type: array items: $ref: '#/definitions/PatchItem' example: - op: replace path: description value: Description - op: replace path: archived value: false PatchItem: description: A JSON patch document as defined by RFC 6902. required: - op - path type: object properties: op: description: The operation to be performed. enum: - replace - add - remove type: string example: replace x-nullable: false path: description: A JSON-Pointer. type: string example: description x-nullable: false value: description: The value to be used within the operations. example: Description from: description: A string containing a JSON Pointer value. type: string x-nullable: false example: op: replace path: description value: Description ReplaceSpec: required: - id - name - description - version type: object properties: id: description: | The 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'. pattern: ^[a-z]([a-z0-9]|-)*[a-z0-9]:(data-types|computation-specs|workflow-specs):[a-z]([a-z0-9]|-)*[a-z0-9]$ type: string example: slb:data-types:custom-specification x-nullable: false name: description: The name of the specification. type: string example: A custom data-type x-nullable: false version: description: The version of the specification definition. type: integer example: 1 x-nullable: false archived: description: Whether this specification has been marked as archived. type: boolean example: false x-nullable: false description: description: The description of the specification. type: string example: A specification x-nullable: false example: id: slb:data-types:custom-specification name: spec-type version: 1 archived: false description: A specification. Spec: required: - id - name - version - latest - archived - description - createdBy - createdAt type: object properties: id: description: The ID of the specification. type: string example: 01DV2RPKYS5NYBAR6TNMJ8TNT8 x-nullable: false name: description: The name of the specification. type: string example: A custom data-type x-nullable: false version: description: The version of the specification definition. type: integer example: 1 x-nullable: false latest: description: Whether this is the latest version of the given specification. type: boolean example: true x-nullable: false archived: description: Whether this specification has been marked as archived. type: boolean example: false x-nullable: false description: description: The description of the specification. type: string example: A specification x-nullable: false createdBy: description: The ID of the user who created the specification. type: string example: user@slb.com x-nullable: false createdAt: format: date-time description: The date the specification was created. type: string example: "2020-01-01T00:00:00.000Z" x-nullable: false example: id: 01DV2RPKYS5NYBAR6TNMJ8TNT8 name: spec-type version: 1 latest: true archived: false description: A specification. createdBy: user@slb.com createdAt: "2020-01-01T00:00:00.000Z" DataTypes: description: A list of data-types. type: array items: $ref: '#/definitions/DataType' example: - id: decline-curves name: decline-curves description: Decline Curves version: 1 latest: true archived: false createdBy: system createdAt: "2020-01-01T00:00:00.000Z" fileSpecs: - extension: json - id: facility-constraints name: facility-constraints description: Facility Constraints version: 1 latest: true archived: false createdBy: system createdAt: "2020-01-01T00:00:00.000Z" fileSpecs: - extension: json DataType: description: An evaluation data-type. allOf: - $ref: '#/definitions/Spec' - type: object properties: fileSpecs: description: Specification of the file types allowed to be used with this container. type: array items: $ref: '#/definitions/FileSpec' example: - extension: xlsx - extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json example: id: 01DV2RPKYS5NYBAR6TNMJ8TNT8 name: custom-data-type version: 1 latest: true archived: false description: Description createdBy: user@slb.com createdAt: "2020-01-01T00:00:00.000Z" fileSpecs: - extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json - extension: xlsx SchemaRef: description: A schema reference. required: - id - type type: object properties: id: description: The unique idenitifer for the schema. type: string example: planning:fdplan:result-set:0.0.1 x-nullable: false type: description: The type of schema, for instance JSON schema. enum: - JSON type: string example: JSON x-nullable: false example: id: planning:fdplan:result-set:0.0.1 type: JSON Schema: description: A schema. required: - id - type - definition type: object properties: id: description: The unique idenitifer for the schema. type: string example: planning:fdplan:result-set:0.0.1 x-nullable: false type: description: The type of schema, for instance JSON schema. enum: - JSON type: string example: JSON x-nullable: false definition: description: The schema definition. type: object example: {} x-nullable: false example: id: planning:fdplan:result-set:0.0.1 type: JSON definition: {} ComputationSpecs: description: A list of computation specifications. type: array items: $ref: '#/definitions/ComputationSpec' example: - id: ix latest: true name: ix version: 1 archived: false description: ix computation createdBy: system createdAt: "2020-01-01T00:00:00.000Z" inputDataTypeIds: - id: decline-curves version: 1 - id: drilling-constraints version: 1 - id: facility-constraints version: 1 outputDataTypeIds: - id: production-forecast version: 1 - id: peep latest: true name: peep version: 1 archived: false description: peep computation createdBy: system createdAt: "2020-01-01T00:00:00.000Z" inputDataTypeIds: - id: production-forecast version: 1 - id: well-capex version: 1 - id: general-capex version: 1 - id: general-opex version: 1 - id: economic-framework version: 1 outputDataTypeIds: - id: peep-output version: 1 ComputationSpec: description: An evaluation computation specification. The specification details the input data-types to the computation specification and the computed output data-types. allOf: - $ref: '#/definitions/Spec' - required: - inputDataTypeIds - outputDataTypeIds type: object properties: inputDataTypeIds: description: The input data-type IDs for the computation specification. type: array items: $ref: '#/definitions/VersionId' example: - id: decline-curves version: 1 - id: drilling-constraints version: 1 - id: facility-constraints version: 1 outputDataTypeIds: description: 'The output data-type IDs for the computation specification. ' type: array items: $ref: '#/definitions/VersionId' example: - id: production-forecast version: 1 annotations: description: The annotations for the computation specification. These annotations can be used to annotate the computation specification with useful information such as a 'name'. type: array items: $ref: '#/definitions/Annotation' example: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 key: name value: Drilling Constraints createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 2 key: name value: Facility Constraints createdBy: user@slb.com - address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 key: name value: Production Forecast createdBy: user@slb.com x-nullable: false example: id: 01DV2RPKYS5NYBAR6TNMJ8TNT8 name: custom-computation-spec version: 1 latest: true archived: false description: Description createdBy: user@slb.com createdAt: "2020-01-01T00:00:00.000Z" inputDataTypeIds: - id: decline-curves version: 1 - id: drilling-constraints version: 1 - id: facility-constraints version: 1 outputDataTypeIds: - id: production-forecast version: 1 annotations: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 key: name value: Drilling Constraints createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 2 key: name value: Facility Constraints createdBy: user@slb.com - address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 key: name value: Production Forecast createdBy: user@slb.com WorkflowSpecs: description: A list of workflow specifications. type: array items: $ref: '#/definitions/WorkflowSpec' example: - id: id name: Well driven description: Well driven latest: true version: 1 archived: false createdBy: system createdAt: "2020-01-01T00:00:00.000Z" computationSpecs: - id: ix name: ix description: ix computation latest: true archived: false createdBy: system createdAt: "2020-01-01T00:00:00.000Z" version: 1 address: computationIndex: 0 type: Computation 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 description: peep computation latest: true archived: false createdBy: system createdAt: "2020-01-01T00:00:00.000Z" version: 1 address: computationIndex: 1 type: Computation 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: computationIndex: 1 dataTypeIndex: 0 type: DataTypeOutput edges: - fromAddressType: DataTypeOutput fromComputationIndex: 0 fromDataTypeIndex: 0 toComputationIndex: 1 toDataTypeIndex: 0 WorkflowSpec: description: An evaluation workflow specification. allOf: - $ref: '#/definitions/Spec' - required: - computationSpecs type: object properties: computationSpecs: description: The computation specifications which make up the workflow specification. type: array items: $ref: '#/definitions/WorkflowComputationSpec' example: - id: 01DV2RPKYS5NYBAR6TNMJ8TNT8 name: spec-type version: 1 latest: true archived: false description: A specification. createdBy: user@slb.com createdAt: "2020-01-01T00:00:00.000Z" address: type: Computation computationIndex: 0 dataTypeIndex: 0 inputDataTypeIds: - id: decline-curves version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - id: facility-constraints version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 outputDataTypeIds: - id: production-forecast version: 1 address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 edges: description: A list of graph edges which describe the data flow from one computation specifications output data-type to the next computation specifications input data-type. type: array items: $ref: '#/definitions/Edge' example: - fromAddressType: DataTypeOutput fromComputationIndex: 0 fromDataTypeIndex: 0 toComputationIndex: 1 toDataTypeIndex: 0 annotations: type: array items: $ref: '#/definitions/Annotation' example: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com x-nullable: false example: 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 CreateSpec: required: - name - description type: object properties: id: description: | 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'. pattern: ^[a-z]([a-z0-9]|-)*[a-z0-9]:(data-types|computation-specs|workflow-specs):[a-z]([a-z0-9]|-)*[a-z0-9]$ type: string example: slb:data-types:custom-specification name: description: The name of the specification. type: string example: custom-specification x-nullable: false description: description: The description of the specification. type: string example: Custom specification. x-nullable: false example: name: spec description: Description CreateDataType: description: Create data-type request. allOf: - $ref: '#/definitions/CreateSpec' - type: object properties: fileSpecs: type: array items: $ref: '#/definitions/FileSpec' example: - extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json - extension: xlsx example: id: slb:data-types:custom-data-type name: custom-data-type description: Description fileSpecs: - extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json - extension: xlsx ReplaceDataType: description: Replace data-type request. allOf: - $ref: '#/definitions/ReplaceSpec' - type: object properties: fileSpecs: type: array items: $ref: '#/definitions/FileSpec' example: - extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json - extension: xlsx example: id: slb:data-types:custom-data-type version: 1 name: custom-data-type description: Description archived: false fileSpecs: - extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json - extension: xlsx CreateComputationSpec: description: Create computation specification request. allOf: - $ref: '#/definitions/CreateSpec' - required: - inputDataTypeIds - outputDataTypeIds type: object properties: inputDataTypeIds: description: The input data-type IDs for the computation specification. These data-types must have already been previously created. The order of the input data-type IDs is maintained in the created computation specification. Note that specific versions of a data-type can be specified by using the format 'id:version'. type: array items: type: string example: - decline-curves - drilling-constraints - facility-constraints" outputDataTypeIds: description: The output data-type IDs for the computation specification. These data-types must have already been previously created. The order of the output data-type IDs is maintained in the created computation specification. Note that specific versions of a data-type can be specified by using the format 'id:version'. type: array items: type: string example: - production-forecast annotations: description: The annotations for the computation specification. type: array items: $ref: '#/definitions/Annotation' example: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 key: name value: Drilling Constraints createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 2 key: name value: Facility Constraints createdBy: user@slb.com - address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 key: name value: Production Forecast createdBy: user@slb.com x-nullable: false example: id: slb:computation-specs:custom-computation-spec name: custom-computation-spec description: Description inputDataTypeIds: - decline-curves - drilling-constraints - facility-constraints outputDataTypeIds: - production-forecast annotations: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 key: name value: Drilling Constraints createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 2 key: name value: Facility Constraints createdBy: user@slb.com - address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 key: name value: Production Forecast createdBy: user@slb.com ReplaceComputationSpec: description: Create or update computation specification request. allOf: - $ref: '#/definitions/ReplaceSpec' - required: - inputDataTypeIds - outputDataTypeIds type: object properties: inputDataTypeIds: description: The input data-type IDs for the computation specification. type: array items: $ref: '#/definitions/VersionId' example: - id: decline-curves version: 1 - id: drilling-constraints version: 1 - id: facility-constraints version: 1 outputDataTypeIds: description: The output data-type IDs for the computation specification. type: array items: $ref: '#/definitions/VersionId' example: - id: production-forecast version: 1 annotations: description: The annotations for the computation specification. type: array items: $ref: '#/definitions/Annotation' example: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 key: name value: Drilling Constraints createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 2 key: name value: Facility Constraints createdBy: user@slb.com - address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 key: name value: Production Forecast createdBy: user@slb.com x-nullable: false example: id: slb:computation-specs:custom-computation-spec name: custom-computation-spec description: Description inputDataTypeIds: - id: decline-curves version: 1 - id: drilling-constraints version: 1 - id: facility-constraints version: 1 outputDataTypeIds: - id: production-forecast version: 1 annotations: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 key: name value: Drilling Constraints createdBy: user@slb.com - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 2 key: name value: Facility Constraints createdBy: user@slb.com - address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 key: name value: Production Forecast createdBy: user@slb.com CreateWorkflowSpec: description: Create workflow specification request. allOf: - $ref: '#/definitions/CreateSpec' - required: - computationSpecIds type: object properties: computationSpecIds: description: 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'. type: array items: type: string example: - ix - peep edges: description: A list of edges which describe all the links in the workflow specification. The edges describe the flow of data from one computation specifications output data-type to another computation specifications input data-type. The computation specifications referred to in the edges must have been previously created and be defined in the computationSpecIds property. type: array items: $ref: '#/definitions/Edge' example: - fromAddressType: DataTypeOutput fromComputationIndex: 0 fromDataTypeIndex: 0 toComputationIndex: 1 toDataTypeIndex: 0 annotations: type: array items: $ref: '#/definitions/Annotation' example: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com x-nullable: false example: 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 ReplaceWorkflowSpec: description: Replace workflow specification request. allOf: - $ref: '#/definitions/ReplaceSpec' - required: - computationSpecs type: object properties: computationSpecs: description: The computation specifications 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/updated workflow specification. type: array items: $ref: '#/definitions/VersionId' example: - id: ix version: 1 - id: peep version: 1 edges: description: A list of edges which describe all the links in the workflow specification. The edges describe the flow of data from one computation specifications output data-type to another computation specifications input data-type. The computation specifications referred to in the edges must have been previously created and be defined in the computationSpecIds property. type: array items: $ref: '#/definitions/Edge' example: - fromAddressType: DataTypeOutput fromComputationIndex: 0 fromDataTypeIndex: 0 toComputationIndex: 1 toDataTypeIndex: 0 annotations: type: array items: $ref: '#/definitions/Annotation' example: - address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com x-nullable: false example: id: slb:workflow-specs:custom-workflow-spec name: custom-workflow-spec description: Description computationSpecs: - id: ix version: 1 - id: peep version: 1 edges: - fromAddressType: DataTypeOutput fromComputationIndex: 0 fromDataTypeIndex: 0 toComputationIndex: 1 toDataTypeIndex: 0 Edge: description: |- A graph edge which describes a data flow from one computation specifications output data-type to the next computation specifications input data-type. The workflow specification must have the appropriate computation specifications and data-types or else the edge will not be considered valid by the API. 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 of the second computation specification. This edge would be describe as: fromAddressType: DataTypeOutput, fromComputationIndex: 0, fromDataTypeIndex: 0, toComputationIndex: 1, toDataTypeIndex:0 type: object properties: fromAddressType: description: Whether the address refers to a data-type input or data-type output (defaults to output). default: DataTypeOutput enum: - DataTypeInput - DataTypeOutput type: string example: DataTypeOutput x-nullable: false fromComputationIndex: description: The zero based index of the computation specification which generates the data-type in the workflow specification. type: integer example: 1 x-omitempty: false fromDataTypeIndex: description: The zero based index of the data-type as listed as an output data-type in computation specification referred to in the 'fromComputationIndex' above. type: integer example: 0 x-omitempty: false toComputationIndex: description: The zero based index of the computation specification which consumes the data-type in the workflow specification. type: integer example: 1 x-omitempty: false toDataTypeIndex: description: The zero based index of the data-type as listed as an input data-type in the computation specification referred to in the 'toComputationIndex' above. type: integer example: 0 x-omitempty: false example: fromAddressType: DataTypeOutput fromComputationIndex: 0 fromDataTypeIndex: 0 toComputationIndex: 1 toDataTypeIndex: 0 VersionId: description: A specification reference which allows the API users to specify the version of a specification when creating or updating a parent specification. required: - id - version type: object properties: id: description: The specification ID. type: string example: 01DV2RPKYS5NYBAR6TNMJ8TNT8 x-omitempty: false x-nullable: false version: description: The version of the specification of the given ID. type: integer example: 1 x-omitempty: false x-nullable: false example: id: 01DV2RPKYS5NYBAR6TNMJ8TNT8 version: 1 SetComputationStatus: description: The details of the computation status to be set. type: object properties: status: description: The computation status. enum: - CompletedSuccessfully - CompletedWithErrors - Stopped - ProgressEvent - ComputationLogEvent type: string example: CompletedSuccessfully x-nullable: false computationErrors: description: The computation errors. There should not be any computation errors if the status of the computation is being set to 'CompletedSuccessfully'. type: array items: $ref: '#/definitions/ComputationError' example: - addresses: - type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 message: Something went wrong. progressEvent: $ref: '#/definitions/ComputationProgressEventMessage' computationLogEvent: $ref: '#/definitions/ComputationLogEvent' example: status: CompletedWithErrors computationErrors: - addresses: - type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 message: Something went wrong. Computation: description: A computation is an instance of a computation specification which keeps track of a computation state as well as its input and output containers. required: - id type: object properties: id: description: The computation ID. type: string example: 0006803dc06c9bab3f82d4018287b8ccae575bd68eaa47f3c1797242e78daf03 x-nullable: false status: description: The computation status. enum: - Running - CompletedSuccessfully - CompletedWithErrors - Stopping - Stopped type: string example: Running x-nullable: false computationSpec: $ref: '#/definitions/VersionId' inputContainers: description: A list of containers for the computation inputs. type: array items: $ref: '#/definitions/Container' example: - id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/decline-curves/01CH0K76B5ANMW149TZZEGPZFV dataType: id: decline-curves version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 fileNames: - decline_curves.json files: - name: decline_curves.json - id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/drilling-constraints/01CH0K76B5ANMW149TZZEGPZFV dataType: id: drilling-constraints version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 fileNames: - drilling-constraints.json files: - name: drilling-constraints.json outputContainers: description: A list of containers for the computation outputs. type: array items: $ref: '#/definitions/Container' example: - id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV dataType: id: production-forecast version: 1 address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 fileNames: - production-forecast.json files: - name: production-forecast.json logsContainer: $ref: '#/definitions/Container' computationErrors: description: The error associated with the computation. type: array items: $ref: '#/definitions/ComputationError' example: - addresses: - type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 message: Something went wrong. computationConfiguration: description: A computation configuration describes the configuration properties of the computation. type: object properties: schemaRef: $ref: '#/definitions/SchemaRef' example: schemaRef: id: planning:fdplan:dataiku:0.0.1 type: JSON example: id: 0006803dc06c9bab3f82d4018287b8ccae575bd68eaa47f3c1797242e78daf03 status: CompletedWithErrors computationSpec: id: ix version: 1 inputContainers: - id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/decline-curves/01CH0K76B5ANMW149TZZEGPZFV dataType: id: decline-curves version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 fileNames: - decline_curves.json files: - name: decline_curves.json - id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/drilling-constraints/01CH0K76B5ANMW149TZZEGPZFV dataType: id: drilling-constraints version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 fileNames: - drilling-constraints.json files: - name: drilling-constraints.json outputContainers: - id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV dataType: id: production-forecast version: 1 address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 fileNames: - production-forecast.json files: - name: production-forecast.json computationErrors: - addresses: - type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 message: Something went wrong. computationConfiguration: schemaRef: id: planning:fdplan:dataiku:0.0.1 type: JSON Container: description: A container is an instance of a data-type which is used to obtain the location of files which are part of the container, along with input and output errors. type: object properties: id: description: The ID of the container. type: string example: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV x-nullable: false dataType: $ref: '#/definitions/WorkflowDataType' store: description: The data store where the data within the container is located. type: string example: fdplan fileNames: description: The file names which are part of the container. (marked for deprecation in favour of files). type: array items: type: string example: - production-forecast.json files: description: The files which are part of the container. type: array items: $ref: '#/definitions/File' labels: $ref: '#/definitions/ContainerLabels' caseContainers: description: The containers for each case (only if the current container is a composite container) type: array items: $ref: '#/definitions/CaseContainer' example: id: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV dataType: id: production-forecast version: 1 address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 fileNames: - production-forecast.json files: - name: production-forecast.json labels: name: p10 CaseContainer: required: - name - uri - dataType - version type: object properties: name: description: The name of the case. type: string x-nullable: false uri: description: The uri of the container. type: string x-nullable: false dataType: description: The data-type the container contains. type: string x-nullable: false version: format: int32 description: The version of the data-type to which the data container is associated. type: integer x-nullable: false File: description: The metadata and optional content of a file. required: - name type: object properties: name: description: The name of the file. type: string example: data-link.json x-nullable: false content: description: Encoded content of the file in the Data URI format. It will be empty if the file size is larger than 15kb. type: string example: data:application/json;base64,eyJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9zdXBlcnNlY3JldGV4YW1wbGUuY29tL3lvdS1mb3VuZC10aGUtZXhhbXBsZSJ9XX0K signedURL: description: Signed url for the file. It will be empty if the file size is less than 20mb and/or includeSignedURL flag is false. type: string example: https://example.com/get-signed-url example: name: data-link.json content: data:application/json;base64,eyJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9zdXBlcnNlY3JldGV4YW1wbGUuY29tL3lvdS1mb3VuZC10aGUtZXhhbXBsZSJ9XX0K CreateContainerFileResponse: description: Response for a successful file creation. type: object properties: fileURI: description: The relative URI of the file. type: string example: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV/production-forecast.json x-nullable: false example: fileURI: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV/production-forecast.json FileSpec: description: A specification for the type of file allowed for a data-type. type: object properties: extension: description: The file extension e.g. 'xlsx' type: string example: xlsx x-nullable: false schemaRef: $ref: '#/definitions/SchemaRef' defaultFilename: description: The optional default filename for this file specification. This field is useful when the file specification defines a single file which always has the same filename. (e.g. filename.json). Note that the extension of the default filename should match the file specification extension. type: string x-nullable: false example: extension: json schemaRef: id: planning:fdplan:result-set:0.0.1 type: JSON defaultFilename: filename.json ComputationError: description: Human readible error messages and references to the workflow elements responsible for a computation error. type: object properties: addresses: description: A list of workflow spec addresses to describe the parts of a workflow which have resulted in the error. type: array items: $ref: '#/definitions/SpecAddress' example: - type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 message: description: A message which describes the error(s). type: string example: Something went wrong. example: addresses: - type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 message: Something went wrong. SpecAddress: description: An address used to describe the location of a Spec within a WorkflowSpec. Used to enrich the spec model with additional attributes such as specifying the location of a data container or providing annotations. required: - type type: object properties: type: description: Whether the address refers to a data-type input, a data-type output or a computation specification. enum: - Invalid - Computation - DataTypeInput - DataTypeOutput - Workflow type: string example: DataTypeInput x-nullable: false computationIndex: description: The zero based index of the Computation Spec. type: integer example: 0 x-omitempty: false x-nullable: false dataTypeIndex: description: The zero based index of a data-type with respect to a computation specification. Inputs and outputs are treated as separate ordered lists. type: integer example: 1 x-omitempty: false x-nullable: false example: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 WorkflowComputationSpec: description: An evaluation computation specification reference which includes inputs and outputs with relevant workflow specification addresses. allOf: - $ref: '#/definitions/Spec' - required: - inputDataTypeIds - outputDataTypeIds type: object properties: address: $ref: '#/definitions/SpecAddress' inputDataTypeIds: description: The input data-types for the computation. type: array items: $ref: '#/definitions/WorkflowDataType' example: - id: decline-curves version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - id: facility-constraints version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 outputDataTypeIds: description: The output data-types for the computation. type: array items: $ref: '#/definitions/WorkflowDataType' example: - id: production-forecast version: 1 address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 example: id: 01DV2RPKYS5NYBAR6TNMJ8TNT8 name: spec-type version: 1 latest: true archived: false description: A specification. createdBy: user@slb.com createdAt: "2020-01-01T00:00:00.000Z" address: type: Computation computationIndex: 0 dataTypeIndex: 0 inputDataTypeIds: - id: decline-curves version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 - id: facility-constraints version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 1 outputDataTypeIds: - id: production-forecast version: 1 address: type: DataTypeOutput computationIndex: 0 dataTypeIndex: 0 WorkflowDataType: description: A workflow specific version of an evaluation data-type that includes its address within the workflow. allOf: - $ref: '#/definitions/VersionId' - type: object properties: address: $ref: '#/definitions/SpecAddress' example: id: decline-curves version: 1 address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 Annotation: description: An annotation or tag which describes elements within a workflow spec. type: object properties: address: $ref: '#/definitions/SpecAddress' key: description: Free form content with relevant information for the given address. type: string example: name x-omitempty: false value: description: Free form content with relevant information for the given address. type: string example: Decline Curves x-omitempty: false createdBy: description: The user who created this annotation. type: string example: user@slb.com x-omitempty: false example: address: type: DataTypeInput computationIndex: 0 dataTypeIndex: 0 key: name value: Decline Curves createdBy: user@slb.com ComputationLogEvent: description: The computationLogEvent. The log event should contain a list of logs associated with the computation. type: object properties: logs: description: The computation logs. type: array items: $ref: '#/definitions/ComputationLog' ComputationLog: description: Computation log describing the log file. type: object properties: text: description: Text to describe the computation log file. maxLength: 100 type: string filePath: description: File path for the log file. maxLength: 256 type: string ComputationProgressEventMessage: description: A message to provide a progress report on the status of an ongoing computation. Messages are logged as events. required: - timeStamp - progressStatus - source type: object properties: timeStamp: format: date-time description: The time that the event occurred given in format [RFC3339](https://www.rfc-editor.org/rfc/rfc3339/). type: string example: "2020-01-01T00:00:00.000Z" x-nullable: false progressStatus: description: The progress status of the computation e.g. Queued. maxLength: 50 type: string example: Queued x-nullable: false source: description: The environment/infrastructure the computation is executing. maxLength: 100 type: string example: External application x-nullable: false body: description: Free-form text as per individual requirements. maxLength: 1500 type: string example: This is a progress event message. x-nullable: false example: timeStamp: "2020-01-01T00:00:00.000Z" progressStatus: Queued source: External application body: This is a progress event message ContainerLabels: description: The labels of a container. additionalProperties: type: string type: object example: name: p10 x-nullable: false ComputationConfiguration: description: The request body to create or update configuration properties for a computation additionalProperties: type: string x-nullable: false type: object SignedURLResponse: description: A signed URL required: - signedURL - filePath type: object properties: signedURL: description: The signed URL type: string x-nullable: false filePath: description: The file path for which the signed URL was generated. type: string example: 01JKZXK6ZDKC25MN3BN2ZDP1AQ/containers/slb:data-types:drilling-parameters/01JKZXMA7WRM8RCQKANECXZ9K1/slb-data-types-drilling-parameters.json x-nullable: false requiredHeaders: description: Headers that need to be set when calling the generated upload signed URL type: array items: type: string example: - x-goog-content-length-range:0, x-nullable: true WorkflowSpecMappings: type: array items: $ref: '#/definitions/WorkflowSpecMapping' WorkflowSpecMapping: required: - fromWorkflowSpec - toWorkflowSpec - inputMappings type: object properties: fromWorkflowSpec: $ref: '#/definitions/VersionId' toWorkflowSpec: $ref: '#/definitions/VersionId' inputMappings: type: array items: $ref: '#/definitions/InputMapping' example: fromWorkflowSpec: id: slb:workflow-specs:test-123 version: 1 toWorkflowSpec: id: slb:workflow-specs:test-123 version: 2 inputMappings: - fromAddress: computationIndex: 0 type: DataTypeInput dataTypeIndex: 0 toAddress: computationIndex: 0 type: DataTypeInput dataTypeIndex: 0 - fromAddress: computationIndex: 0 type: DataTypeInput dataTypeIndex: 1 toAddress: computationIndex: 0 type: DataTypeInput dataTypeIndex: 1 InputMapping: required: - fromAddress - toAddress type: object properties: fromAddress: $ref: '#/definitions/SpecAddress' toAddress: $ref: '#/definitions/SpecAddress' example: fromAddress: computationIndex: 0 type: DataTypeInput dataTypeIndex: 0 toAddress: computationIndex: 0 type: DataTypeInput dataTypeIndex: 0 parameters: SlbPartitionId: required: true in: header description: Data partition id. name: slb-partition-id type: string IncludePreviousVersions: in: query description: Unless includePreviousVersions is true the response will return only the latest version of each specification. name: includePreviousVersions type: boolean x-nullable: false security: - bearer: [] appkey: [] securityDefinitions: bearer: type: apiKey name: Authorization in: header appkey: type: apiKey name: appkey in: header tags: - name: WorkflowSpecs description: Creating, getting and updating workflow-specifications. - name: ComputationSpecs description: Creating, getting and updating computation-specifications. - name: DataTypes description: Creating, getting and updating data-types. - name: Computations description: Managing computation state. - name: Containers description: Getting and updating containers. - name: Schemas description: Getting schema for data-types.