Api Documentation (1.0)

Download OpenAPI specification:

Api Documentation

execution

Execution Events Controller

Save Execution Events

    Saves a list of Execution Events.

    Payload format:

    [
      {
        // Reference to the execution plan Id that was triggered
        planId: <UUID>,

        // [Optional] A label that logically distinguish a group of one of multiple execution plans from another group.
        // If set, it has to match the discriminator of the associated execution plan.
        // The property is used for UUID collision detection.
        discriminator: <string>,

        // Time (milliseconds since Epoch) when the execution finished
        timestamp: <number>,

        // [Optional] Duration (in nanoseconds) of the execution
        durationNs: <number>,
        // [Optional] Additional info about the error (in case there was an error during the execution)
        error: {...},

        // [Optional] Any other extra information related to the given execution event
        extra: {...}
      },
      ...
    ]
  
Request Body schema: application/vnd.absa.spline.producer.v1.1+json
required

execEvents

Array
discriminator
string
durationNs
integer <int64>
error
object
object
planId
required
string <uuid>
timestamp
required
integer <int64>

Responses

Request samples

Content type
application/vnd.absa.spline.producer.v1.1+json
[
  • {
    }
]

Get Execution Plans IDs

Retrieves the list of Execution Plan UUIDs that have been stored in the system

Responses

Response samples

Content type
application/vnd.absa.spline.producer.v1.1+json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Save Execution Plan

    Saves an Execution Plan and returns its new UUID.

    Payload format:

    {
      // [Optional] Global unique identifier of the execution plan. If omitted, will be generated by the server.
      id: <UUID>,

      // [Optional] A name of the application (script, job etc) that this execution plan represents.
      name: <string>,

      // [Optional] A label that logically distinguish a group of one of multiple execution plans from another group.
      // If set, it has to match the discriminator of the associated execution events.
      // The property is used for UUID collision detection.
      discriminator: <string>,

      // Operation level lineage info
      operations: {

        // Write operation
        write: {
          // Operation ID (should be unique in the scope of the current execution plan)
          id: <string>,
          // [Optional] Operation name
          name: <string>,
          // Destination URI, where the data has been written to
          outputSource: <URI>,
          // Shows if the write operation appended or replaced the data in the target destination
          append: <boolean>,
          // Array of preceding operations IDs,
          // i.e. operations that serves as an input for the current operation
          childIds: [<string>],
          // [Optional] Operation parameters
          params: {...},
          // [Optional] Custom info about the operation
          extra: {...}
        },

        // Array of read operations
        reads: [
          {
            // Operation ID (see above)
            id: <string>,
            // [Optional] Operation name
            name: <string>,
            // Source URIs, where the data has been read from
            inputSources: [<URI>],
            // [Optional] Output attribute IDs
            output: [<string>],
            // [Optional] Operation parameters
            params: {...},
            // [Optional] Custom info about the operation
            extra: {...}
          },
          ...
        ],

        // Other operations
        other: [
          {
            // Operation ID (see above)
            id: <string>,
            // [Optional] Operation name
            name: <string>,
            // Array of preceding operations IDs (see above)
            childIds: [<string>],
            // [Optional] Output attribute IDs. If output is undefined the server will try to infer it from the child operations' output.
            output: [<string>],
            // [Optional] Operation parameters
            params: {...},
            // [Optional] Custom info about the operation
            extra: {...}
          },
          ...
        ]
      },

      // [Optional] Attribute definitions
      attributes: [
        {
          id: <string>,
          // Attribute name
          name: <string>,
          // [Optional] References to other attributes, expressions or constants that this attribute is computed from
          childRefs: [ { __exprId: <string> } | { __attrId: <string> } ],
          // [Optional] Custom info
          extra: {...}
        }
      ],

      // [Optional] Attribute level lineage info
      expressions: {

        // Function definitions
        functions: [
          {
            id: <string>,
            // Function name
            name: <string>,
            // [Optional] References to operands (expressions, constants or attributes)
            childRefs: [ { __exprId: <string> } | { __attrId: <string> } ],
            // [Optional] Named expression parameters
            params: {...},
            // [Optional] Custom meta info
            extra: {...}
          }
        ],

        // Constant/Literal definitions
        constants: {
          {
            id: <string>,
            // constant value
            value: <any>,
            // [Optional] Custom meta info
            extra: {...}
          }
        }
      },

      // Information about the data framework in use (e.g. Spark, StreamSets etc)
      systemInfo: {
        name: <string>,
        version: <string>
      },

      // [Optional] Spline agent information
      agentInfo: {
        name: <string>,
        version: <string>
      },

      // [Optional] Any other extra info associated with the current execution plan
      extraInfo: {...}
    }
  
Request Body schema: application/vnd.absa.spline.producer.v1.1+json
required

execPlan

id
string <uuid>
name
string
discriminator
string
required
object (Operations)
Array of objects (Attribute)
object (Expressions)
required
object (NameAndVersion)
object (NameAndVersion)
object

Responses

Request samples

Content type
application/vnd.absa.spline.producer.v1.1+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "discriminator": "string",
  • "operations": {
    },
  • "attributes": [
    ],
  • "expressions": {
    },
  • "systemInfo": {
    },
  • "agentInfo": {
    },
  • "extraInfo": {
    }
}

Get Execution Plan

Retrieves an Execution Plan by its UUID

path Parameters
id
required
string <uuid>

id

Responses

Response samples

Content type
application/vnd.absa.spline.producer.v1.1+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "discriminator": "string",
  • "operations": {
    },
  • "attributes": [
    ],
  • "expressions": {
    },
  • "systemInfo": {
    },
  • "agentInfo": {
    },
  • "extraInfo": {
    }
}

Get Execution Events for Execution Plan

Retrieves Execution Events for a given Execution Plan by its UUID

path Parameters
id
required
string <uuid>

id

Responses

Response samples

Content type
application/vnd.absa.spline.producer.v1.1+json
[
  • {
    }
]

status

Status Controller

Server health status

Check that producer is running and that the database is accessible and initialized

Responses