# Computation

Schema: #/components/schemas/Computation

Method: SCHEMA
Version: 1.0.0
Security: bearer, appkey

## Schema fields:

  - `id` (string, required)
    The computation ID.
    Example: 0006803dc06c9bab3f82d4018287b8ccae575bd68eaa47f3c1797242e78daf03

  - `status` (string)
    The computation status.
    Enum: "Running", "CompletedSuccessfully", "CompletedWithErrors", "Stopping", "Stopped"

  - `computationSpec` (object)
    A specification reference which allows the API users to specify the version of a specification when creating or updating a parent specification.
    Example: {"id":"01DV2RPKYS5NYBAR6TNMJ8TNT8","version":1}

  - `computationSpec.id` (string, required)
    The specification ID.
    Example: 01DV2RPKYS5NYBAR6TNMJ8TNT8

  - `computationSpec.version` (integer, required)
    The version of the specification of the given ID.
    Example: 1

  - `inputContainers` (array)
    A list of containers for the computation inputs.
    Example: [{"id":"01C7VGQWGZVPSBV9NJMEAJSBGM/containers/decline-curves/01CH0K76B5ANMW149TZZEGPZFV","dataType":{"id":"decline-curves","version":1,"address":{"type":"DataTypeInput","computationIndex":0,"dataTypeI…

  - `inputContainers.id` (string)
    The ID of the container.
    Example: 01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV

  - `inputContainers.dataType` (object)
    A workflow specific version of an evaluation data-type that includes its address within the workflow.
    Example: {"id":"decline-curves","version":1,"address":{"type":"DataTypeInput","computationIndex":0,"dataTypeIndex":0}}

  - `inputContainers.dataType.id` (string, required)
    The specification ID.
    Example: 01DV2RPKYS5NYBAR6TNMJ8TNT8

  - `inputContainers.dataType.version` (integer, required)
    The version of the specification of the given ID.
    Example: 1

  - `inputContainers.dataType.address` (object)
    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.
    Example: {"type":"DataTypeInput","computationIndex":0,"dataTypeIndex":0}

  - `inputContainers.dataType.address.type` (string, required)
    Whether the address refers to a data-type input, a data-type output or a computation specification.
    Enum: "Invalid", "Computation", "DataTypeInput", "DataTypeOutput", "Workflow"

  - `inputContainers.dataType.address.computationIndex` (integer)
    The zero based index of the Computation Spec.
    Example: 0

  - `inputContainers.dataType.address.dataTypeIndex` (integer)
    The zero based index of a data-type with respect to a computation specification. Inputs and outputs are treated as separate ordered lists.
    Example: 1

  - `inputContainers.store` (string)
    The data store where the data within the container is located.
    Example: fdplan

  - `inputContainers.fileNames` (array)
    The file names which are part of the container. (marked for deprecation in favour of files).
    Example: ["production-forecast.json"]

  - `inputContainers.files` (array)
    The files which are part of the container.

  - `inputContainers.files.name` (string, required)
    The name of the file.
    Example: data-link.json

  - `inputContainers.files.content` (string)
    Encoded content of the file in the Data URI format. It will be empty if the file size is larger than 15kb.
    Example: data:application/json;base64,eyJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9zdXBlcnNlY3JldGV4YW1wbGUuY29tL3lvdS1mb3VuZC10aGUtZXhhbXBsZSJ9XX0K

  - `inputContainers.files.signedURL` (string)
    Signed url for the file. It will be empty if the file size is less than 20mb and/or includeSignedURL flag is false.
    Example: https://example.com/get-signed-url

  - `inputContainers.labels` (object)
    The labels of a container.
    Example: {"name":"p10"}

  - `inputContainers.caseContainers` (array)
    The containers for each case (only if the current container is a composite container)

  - `inputContainers.caseContainers.name` (string, required)
    The name of the case.

  - `inputContainers.caseContainers.uri` (string, required)
    The uri of the container.

  - `inputContainers.caseContainers.dataType` (string, required)
    The data-type the container contains.

  - `inputContainers.caseContainers.version` (integer, required)
    The version of the data-type to which the data container is associated.

  - `outputContainers` (array)
    A list of containers for the computation outputs.
    Example: [{"id":"01C7VGQWGZVPSBV9NJMEAJSBGM/containers/production-forecast/01CH0K76B5ANMW149TZZEGPZFV","dataType":{"id":"production-forecast","version":1,"address":{"type":"DataTypeOutput","computationIndex":0…

  - `computationErrors` (array)
    The error associated with the computation.
    Example: [{"addresses":[{"type":"DataTypeInput","computationIndex":0,"dataTypeIndex":0},{"type":"DataTypeInput","computationIndex":0,"dataTypeIndex":1}],"message":"Something went wrong."}]

  - `computationErrors.addresses` (array)
    A list of workflow spec addresses to describe the parts of a workflow which have resulted in the error.
    Example: [{"type":"DataTypeInput","computationIndex":0,"dataTypeIndex":0},{"type":"DataTypeInput","computationIndex":0,"dataTypeIndex":1}]

  - `computationErrors.message` (string)
    A message which describes the error(s).
    Example: Something went wrong.

  - `computationConfiguration` (object)
    A computation configuration describes the configuration properties of the computation.
    Example: {"schemaRef":{"id":"planning:fdplan:dataiku:0.0.1","type":"JSON"}}

  - `computationConfiguration.schemaRef` (object)
    A schema reference.
    Example: {"id":"planning:fdplan:result-set:0.0.1","type":"JSON"}

  - `computationConfiguration.schemaRef.id` (string, required)
    The unique idenitifer for the schema.
    Example: planning:fdplan:result-set:0.0.1

  - `computationConfiguration.schemaRef.type` (string, required)
    The type of schema, for instance JSON schema.
    Enum: "JSON"

