{ "components": { "schemas": { "batch_image_command": { "properties": { "image": { "type": "string", "description": "Name of docker image including registry URL if needed" }, "tag": { "type": "string", "description": "Tag on docker image", "default": "latest" }, "command": { "items": { "type": "string" }, "type": "array", "description": "Command to pass to Docker container" }, "memory": { "type": "integer" }, "vCpus": { "type": "integer" }, "job_role_arn": { "type": "string", "description": "ARN of an IAM role, see http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html" }, "environment_variables": { "items": { "$ref": "#/components/schemas/environment_variable" }, "type": "array", "description": "environment variables to be passed to container", "default": "[]" }, "job_queue": { "type": "string", "description": "Override default job queue, eg: for priority queue or GPU instances queue" } }, "required": [ "image", "tag", "command", "memory", "vCpus", "environment_variables" ], "type": "object" }, "continuous_schedule": { "properties": { "buffer_seconds": { "type": "integer", "description": "The minimum amount of time (in seconds) that must pass between executions of the process" } }, "type": "object" }, "cron_schedule": { "description": "See http://quartz-scheduler.org/api/2.2.0/org/quartz/CronExpression.html", "properties": { "day_of_week": { "type": "string" }, "month": { "type": "string" }, "day_of_month": { "type": "string" }, "hours": { "type": "string" }, "minutes": { "type": "string" } }, "required": [ "day_of_week", "month", "day_of_month", "hours", "minutes" ], "type": "object" }, "custom_emr_job_flow_role": { "description": "Custom, preconfigured, EMR EC2 instance role", "properties": { "role_name": { "type": "string" } }, "required": [ "role_name" ], "type": "object" }, "custom_emr_service_role": { "description": "Custom, preconfigured, EMR Service role", "properties": { "role_name": { "type": "string" } }, "required": [ "role_name" ], "type": "object" }, "email": { "description": "An email to send notifications to", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "notify_when": { "$ref": "#/components/schemas/notification_options", "default": "on_state_change_and_failures" } }, "required": [ "name", "email", "notify_when" ], "type": "object" }, "emr_command": { "properties": { "emr_cluster": { "$ref": "#/components/schemas/emr_cluster", "description": "The EMR cluster on which to launch the job (aka step)" }, "job_name": { "type": "string", "description": "NAme to be assigned to the Job" }, "region": { "type": "string", "description": "the AWS Region", "default": "us-east-1" }, "class": { "type": "string", "description": "The spark job's `Main.class` to run", "example": "org.apache.spark.examples.SparkPi" }, "s3_jar_path": { "type": "string", "description": "the s3 path to the jar of the job to be run", "example": "s3://my-emr-source-bucket/my-emr-jar.jar" }, "spark_conf": { "items": { "type": "string" }, "type": "array", "description": "options that will be sent to spark as --conf key=value, e.g. `--conf spark.driver.extraJavaOptions=-Denvironment=integration`", "example": "[\"spark.driver.extraJavaOptions=-Denvironment=integration\"]" }, "spark_packages": { "items": { "$ref": "#/components/schemas/maven_package" }, "type": "array", "description": "External maven dependencies to include with Spark job", "default": "[]" }, "args": { "items": { "type": "string" }, "type": "array", "description": "command line arguments to be passe to the job's main class", "example": "[\"--executor-memory\", \"1g\"]" }, "s3_log_details": { "$ref": "#/components/schemas/s3_log_details", "description": "AWS EMR periodically (currently every 5 minutes) zips up all the logs and upload them into S3. This does not work well with sundial's _live logs_. Make use of S3 Logs to visualise in real time job's log on sundial's live logs panel" }, "load_data": { "items": { "$ref": "#/components/schemas/s3_cp" }, "type": "array", "description": "will trigger a s3 dist cp job for every entry in this array, can be used to load data from s3 into HDFS. **requires Hadoop** as application on the cluster" }, "save_results": { "items": { "$ref": "#/components/schemas/s3_cp" }, "type": "array", "description": "will trigger a s3 dist cp job for every entry in this array, can be used to save data from HDFS to s3. **requires Hadoop** as application on the cluster" } }, "required": [ "emr_cluster", "job_name", "region", "class", "s3_jar_path", "spark_conf", "spark_packages", "args" ], "type": "object" }, "emr_configuration": { "description": "See https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html", "properties": { "classification": { "type": "string" }, "configurations": { "items": { "$ref": "#/components/schemas/emr_configuration" }, "type": "array" }, "properties": {} }, "type": "object" }, "emr_instance_group_details": { "description": "Additional configuration for Master/Core/Task EMR instance Groups.", "properties": { "emr_instance_type": { "type": "string" }, "instance_count": { "type": "integer" }, "aws_market": { "$ref": "#/components/schemas/aws_market" }, "ebs_volume_size": { "type": "integer", "description": "optional EBS volume in GB to attach to the emr instance, for simplicity only one volume for the given size and type gp2 will be created." } }, "required": [ "emr_instance_type", "instance_count", "aws_market" ], "type": "object" }, "environment_variable": { "properties": { "variable_name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "variable_name", "value" ], "type": "object" }, "existing_emr_cluster": { "description": "Existing EMR cluster configuration object", "properties": { "cluster_id": { "type": "string", "description": "The EMR cluster id", "example": "j-2CRR69WTM7N31" } }, "required": [ "cluster_id" ], "type": "object" }, "healthcheck": { "properties": { "status": { "type": "string" } }, "required": [ "status" ], "type": "object" }, "log_entry": { "properties": { "log_entry_id": { "type": "string", "format": "uuid", "description": "Uniquely identifies the log message to prevent duplication" }, "when": { "type": "string", "format": "date-time" }, "source": { "type": "string" }, "message": { "type": "string" } }, "required": [ "log_entry_id", "when", "source", "message" ], "type": "object" }, "maven_package": { "properties": { "group_id": { "type": "string" }, "artifact_id": { "type": "string" }, "version": { "type": "string" } }, "required": [ "group_id", "artifact_id", "version" ], "type": "object" }, "metadata_entry": { "properties": { "metadata_entry_id": { "type": "string", "format": "uuid", "description": "Uniquely identifies the metadata entry to prevent duplication" }, "when": { "type": "string", "format": "date-time" }, "key": { "type": "string" }, "value": { "type": "string" } }, "required": [ "metadata_entry_id", "when", "key", "value" ], "type": "object" }, "new_emr_cluster": { "description": "New EMR cluster configuration object", "properties": { "name": { "type": "string" }, "release_label": { "$ref": "#/components/schemas/emr_release_label", "default": "emr-5.10.0" }, "applications": { "items": { "$ref": "#/components/schemas/emr_application" }, "type": "array" }, "s3_log_uri": { "type": "string" }, "master_instance": { "$ref": "#/components/schemas/emr_instance_group_details" }, "core_instance": { "$ref": "#/components/schemas/emr_instance_group_details" }, "task_instance": { "$ref": "#/components/schemas/emr_instance_group_details" }, "ec2_subnet": { "type": "string", "description": "To be set in case the EMR cannot be launched in the `default VPC`" }, "emr_service_role": { "$ref": "#/components/schemas/emr_service_role", "description": "role to be assigned to the service, the default one should cover most of the cases" }, "emr_job_flow_role": { "$ref": "#/components/schemas/emr_job_flow_role", "description": "role to be assigned to the ec2 instances composing the EMR cluster. The default one should cover most of the cases" }, "visible_to_all_users": { "type": "boolean", "description": "whether or not to show the new cluster in the list of clusters. For more details see [emr docs](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-visibletoallusers)", "default": "false" }, "configurations": { "items": { "$ref": "#/components/schemas/emr_configuration" }, "type": "array", "description": "Extra configuration to be applied to cluster, see https://docs.aws.amazon.com/emr/latest/APIReference/API_Configuration.html" }, "security_configuration": { "type": "string", "description": "Allow you to specify a security configuration for the cluster" } }, "required": [ "name", "release_label", "applications", "s3_log_uri", "master_instance", "emr_service_role", "emr_job_flow_role", "visible_to_all_users" ], "type": "object" }, "pagerduty": { "description": "Pager Duty integration", "properties": { "service_key": { "type": "string" }, "num_consecutive_failures": { "type": "integer", "default": "1" }, "api_url": { "type": "string", "default": "https://events.pagerduty.com" } }, "required": [ "service_key", "num_consecutive_failures", "api_url" ], "type": "object" }, "process": { "properties": { "process_id": { "type": "string", "format": "uuid" }, "process_definition_name": { "type": "string" }, "start_time": { "type": "string", "format": "date-time" }, "status": { "$ref": "#/components/schemas/process_status" }, "task": { "items": { "$ref": "#/components/schemas/task" }, "type": "array" } }, "required": [ "process_id", "process_definition_name", "start_time", "status", "task" ], "type": "object" }, "process_definition": { "description": "A grouping of related tasks that are run as a single unit on the same schedule", "properties": { "process_definition_name": { "type": "string" }, "paused": { "type": "boolean", "description": "If true, ignore schedule and only start process if triggered manually" }, "process_description": { "type": "string" }, "schedule": { "$ref": "#/components/schemas/process_schedule", "description": "The schedule that the process runs on; if not specified, the process will only run when triggered manually" }, "task_definitions": { "items": { "$ref": "#/components/schemas/task_definition" }, "type": "array" }, "overlap_action": { "$ref": "#/components/schemas/process_overlap_action", "default": "wait" }, "notifications": { "items": { "$ref": "#/components/schemas/notification" }, "type": "array" } }, "required": [ "process_definition_name", "task_definitions", "overlap_action" ], "type": "object" }, "s3_cp": { "description": "Wrapper of the S3DistCp spark job for more info visit the aws [s3-dist-cp](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html) page", "properties": { "source": { "type": "string", "description": "Source folder or file to copy. It can be either a s3 or HDFS location", "example": "s3:///my-bucket-root - hdfs://tmp/my-temp-folder" }, "destination": { "type": "string", "description": "Source folder or file to copy. It can be either a s3 or HDFS location", "example": "s3:///my-bucket-root - hdfs://tmp/my-temp-folder" } }, "required": [ "source", "destination" ], "type": "object" }, "s3_log_details": { "properties": { "log_group_name": { "type": "string" }, "log_stream_name": { "type": "string" } }, "required": [ "log_group_name", "log_stream_name" ], "type": "object" }, "shell_script_command": { "properties": { "script": { "type": "string" }, "environment_variables": { "items": { "$ref": "#/components/schemas/environment_variable" }, "type": "array" } }, "required": [ "script" ], "type": "object" }, "spot": { "description": "the maximum spot bid price", "properties": { "bid_price": { "type": "number", "format": "float" } }, "required": [ "bid_price" ], "type": "object" }, "task": { "properties": { "task_id": { "type": "string", "format": "uuid" }, "process_id": { "type": "string", "format": "uuid" }, "process_definition_name": { "type": "string" }, "task_definition_name": { "type": "string" }, "start_time": { "type": "string", "format": "date-time" }, "end_time": { "type": "string", "format": "date-time" }, "previous_attempt_count": { "type": "integer" }, "log_entries": { "items": { "$ref": "#/components/schemas/log_entry" }, "type": "array" }, "metadata_entries": { "items": { "$ref": "#/components/schemas/metadata_entry" }, "type": "array" }, "execution_state": { "items": { "$ref": "#/components/schemas/metadata_entry" }, "type": "array", "description": "Internal bookkeeping metadata used for task scheduling (e.g. ECS task ID and cluster name)" }, "status": { "$ref": "#/components/schemas/task_status" } }, "required": [ "task_id", "process_id", "process_definition_name", "task_definition_name", "start_time", "previous_attempt_count", "log_entries", "metadata_entries", "status" ], "type": "object" }, "task_definition": { "description": "An individual task that runs as part of a process", "properties": { "task_definition_name": { "type": "string", "description": "The canonical name for this task used by other tasks to identify this task" }, "dependencies": { "items": { "$ref": "#/components/schemas/task_dependency" }, "type": "array", "description": "The tasks that must have completed prior to this one beginning" }, "executable": { "$ref": "#/components/schemas/task_executable" }, "max_attempts": { "type": "integer" }, "max_runtime_seconds": { "type": "integer", "description": "The execution time (for a single attempt) after which the system will kill the task" }, "backoff_base_seconds": { "type": "integer" }, "backoff_exponent": { "type": "number", "format": "double", "default": "1" }, "require_explicit_success": { "type": "boolean", "description": "If true, the task must explicitly update its status with Sundial in order to succeed.", "default": "false" } }, "required": [ "task_definition_name", "dependencies", "executable", "max_attempts", "backoff_base_seconds", "backoff_exponent", "require_explicit_success" ], "type": "object" }, "task_dependency": { "properties": { "task_definition_name": { "type": "string" }, "success_required": { "type": "boolean", "default": "true" } }, "required": [ "task_definition_name", "success_required" ], "type": "object" }, "default_emr_job_flow_role": { "description": "The default EMR EC2 Instance role. Possible values: default_emr_job_flow_role.", "enum": [ "default_emr_job_flow_role" ], "type": "string" }, "default_emr_service_role": { "description": "The default EMR Service role. Possible values: default_emr_service_role.", "enum": [ "default_emr_service_role" ], "type": "string" }, "emr_application": { "description": "List of applications to install in the EMR cluster. Possible values: Hadoop,Hive,Mahout,Pig,Spark,Ganglia.", "enum": [ "Hadoop", "Hive", "Mahout", "Pig", "Spark", "Ganglia" ], "type": "string" }, "emr_release_label": { "description": "Version (aka label in AWS-EMR) of the EMR stack to create. Possible values: emr-5.20.0,emr-5.19.0,emr-5.18.0,emr-5.17.0,emr-5.16.0,emr-5.15.0,emr-5.14.0,emr-5.13.0,emr-5.12.1,emr-5.12.0,emr-5.11.1,emr-5.11.0,emr-5.10.0,emr-5.9.0,emr-4.9.2,emr-4.9.1.", "enum": [ "emr-5.20.0", "emr-5.19.0", "emr-5.18.0", "emr-5.17.0", "emr-5.16.0", "emr-5.15.0", "emr-5.14.0", "emr-5.13.0", "emr-5.12.1", "emr-5.12.0", "emr-5.11.1", "emr-5.11.0", "emr-5.10.0", "emr-5.9.0", "emr-4.9.2", "emr-4.9.1" ], "type": "string" }, "notification_options": { "description": "Possible values: always,on_failure,on_state_change,on_state_change_and_failures,never.", "enum": [ "always", "on_failure", "on_state_change", "on_state_change_and_failures", "never" ], "type": "string" }, "on_demand": { "description": "The onDemand type of Market Type. Possible values: on_demand.", "enum": [ "on_demand" ], "type": "string" }, "process_overlap_action": { "description": "Possible values: wait,terminate.", "enum": [ "wait", "terminate" ], "type": "string" }, "process_status": { "description": "Possible values: running,succeeded,failed.", "enum": [ "running", "succeeded", "failed" ], "type": "string" }, "task_status": { "description": "Possible values: submitted,runnable,starting,pending,running,failed,succeeded.", "enum": [ "submitted", "runnable", "starting", "pending", "running", "failed", "succeeded" ], "type": "string" }, "aws_market": { "description": "The EC2 market of the EC2 instances", "oneOf": [ { "$ref": "#/components/schemas/on_demand" }, { "$ref": "#/components/schemas/spot" } ], "discriminator": { "mapping": { "on_demand": "#/components/schemas/on_demand", "spot": "#/components/schemas/spot" }, "propertyName": "discriminator" } }, "emr_cluster": { "description": "Whether or not to create a new EMR cluster or re-use a pre-existing one", "oneOf": [ { "$ref": "#/components/schemas/new_emr_cluster" }, { "$ref": "#/components/schemas/existing_emr_cluster" } ], "discriminator": { "mapping": { "new_emr_cluster": "#/components/schemas/new_emr_cluster", "existing_emr_cluster": "#/components/schemas/existing_emr_cluster" }, "propertyName": "discriminator" } }, "emr_job_flow_role": { "description": "The EMR role to use on the EC2 instances", "oneOf": [ { "$ref": "#/components/schemas/default_emr_job_flow_role" }, { "$ref": "#/components/schemas/custom_emr_job_flow_role" } ], "discriminator": { "mapping": { "default_emr_job_flow_role": "#/components/schemas/default_emr_job_flow_role", "custom_emr_job_flow_role": "#/components/schemas/custom_emr_job_flow_role" }, "propertyName": "discriminator" } }, "emr_service_role": { "description": "The EMR service role to use", "oneOf": [ { "$ref": "#/components/schemas/default_emr_service_role" }, { "$ref": "#/components/schemas/custom_emr_service_role" } ], "discriminator": { "mapping": { "default_emr_service_role": "#/components/schemas/default_emr_service_role", "custom_emr_service_role": "#/components/schemas/custom_emr_service_role" }, "propertyName": "discriminator" } }, "notification": { "oneOf": [ { "$ref": "#/components/schemas/email" }, { "$ref": "#/components/schemas/pagerduty" } ], "discriminator": { "mapping": { "email": "#/components/schemas/email", "pagerduty": "#/components/schemas/pagerduty" }, "propertyName": "discriminator" } }, "process_schedule": { "description": "A specification for when a process should be run", "oneOf": [ { "$ref": "#/components/schemas/cron_schedule" }, { "$ref": "#/components/schemas/continuous_schedule" } ], "discriminator": { "mapping": { "cron_schedule": "#/components/schemas/cron_schedule", "continuous_schedule": "#/components/schemas/continuous_schedule" }, "propertyName": "discriminator" } }, "task_executable": { "oneOf": [ { "$ref": "#/components/schemas/shell_script_command" }, { "$ref": "#/components/schemas/batch_image_command" }, { "$ref": "#/components/schemas/emr_command" } ], "discriminator": { "mapping": { "shell_script_command": "#/components/schemas/shell_script_command", "batch_image_command": "#/components/schemas/batch_image_command", "emr_command": "#/components/schemas/emr_command" }, "propertyName": "discriminator" } } } }, "info": { "contact": {}, "description": "A service for scheduling and running Docker-based jobs", "license": {}, "termsOfService": "", "title": "svc-sundial", "version": "2.0.0-dev" }, "openapi": "3.0.2", "paths": { "/_internal_/metrics": { "get": { "operationId": "get--_internal_-metrics", "parameters": [], "responses": { "200": { "description": "string", "content": { "application/json": { "schema": { "type": "string" } } }, "headers": {} } }, "tags": [ "healthcheck" ] } }, "/api/processes/": { "get": { "description": "Retrieves a list of process runs based on search parameters.", "operationId": "get--api-processes", "parameters": [ { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string" }, "name": "process_definition_name" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string", "format": "date-time" }, "name": "start_time" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string", "format": "date-time" }, "name": "end_time" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "integer" }, "name": "max_records" }, { "deprecated": false, "in": "query", "required": true, "schema": { "items": { "$ref": "#/components/schemas/process_status" }, "type": "array" }, "name": "allowed_statuses" } ], "responses": { "200": { "description": "[com.hbc.svc.sundial.v2.models.process]", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/process" }, "type": "array" } } }, "headers": {} } }, "tags": [ "process" ] } }, "/api/processes/:process_id": { "get": { "description": "Retrieves a process run", "operationId": "get--api-processes-process_id", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "process_id" } ], "responses": { "200": { "description": "com.hbc.svc.sundial.v2.models.process", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/process" } } }, "headers": {} } }, "tags": [ "process" ] } }, "/api/processes/:process_id/retry": { "post": { "description": "Retries a failed process run by restarting failed tasks; tasks will be given a single additional attempt", "operationId": "post--api-processes-process_id-retry", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "process_id" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "process" ] } }, "/api/processes/:process_id/kill": { "post": { "description": "Terminates an active process", "operationId": "post--api-processes-process_id-kill", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "process_id" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "process" ] } }, "/api/process_definitions/": { "get": { "description": "Get all currently registered process definitions", "operationId": "get--api-process_definitions", "parameters": [], "responses": { "200": { "description": "[com.hbc.svc.sundial.v2.models.process_definition]", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/process_definition" }, "type": "array" } } }, "headers": {} } }, "tags": [ "process_definition" ] } }, "/api/process_definitions/:process_definition_name": { "get": { "description": "Get a registered process definition", "operationId": "get--api-process_definitions-process_definition_name", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" } ], "responses": { "200": { "description": "com.hbc.svc.sundial.v2.models.process_definition", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/process_definition" } } }, "headers": {} } }, "tags": [ "process_definition" ] }, "put": { "description": "Updates or creates a process definition", "operationId": "put--api-process_definitions-process_definition_name", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/process_definition" } } } }, "responses": { "200": { "description": "com.hbc.svc.sundial.v2.models.process_definition", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/process_definition" } } }, "headers": {} } }, "tags": [ "process_definition" ] }, "delete": { "description": "Deletes a registered process definition", "operationId": "delete--api-process_definitions-process_definition_name", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "process_definition" ] } }, "/api/process_definitions/:process_definition_name/trigger": { "post": { "description": "Triggers a new instance of the process", "operationId": "post--api-process_definitions-process_definition_name-trigger", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string" }, "name": "task_definition_name" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "process_definition" ] } }, "/api/process_definitions/:process_definition_name/pause": { "post": { "description": "Pause the process schedule", "operationId": "post--api-process_definitions-process_definition_name-pause", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "process_definition" ] } }, "/api/process_definitions/:process_definition_name/resume": { "post": { "description": "Resume the process schedule", "operationId": "post--api-process_definitions-process_definition_name-resume", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "process_definition" ] } }, "/api/tasks/": { "get": { "description": "Retrieves the most recent tasks meeting the given criteria", "operationId": "get--api-tasks", "parameters": [ { "deprecated": false, "in": "query", "required": true, "schema": { "type": "string" }, "name": "process_definition_name" }, { "deprecated": false, "in": "query", "required": true, "schema": { "type": "string" }, "name": "task_definition_name" }, { "deprecated": false, "in": "query", "required": true, "schema": { "items": { "$ref": "#/components/schemas/task_status" }, "type": "array" }, "name": "allowed_statuses" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string", "format": "date-time" }, "name": "start_time" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string", "format": "date-time" }, "name": "end_time" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "integer" }, "name": "limit" } ], "responses": { "200": { "description": "[com.hbc.svc.sundial.v2.models.task]", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/task" }, "type": "array" } } }, "headers": {} } }, "tags": [ "task" ] } }, "/api/tasks/:task_id/log_entries": { "post": { "description": "Appends log entries for a task; intended for use within the task executable", "operationId": "post--api-tasks-task_id-log_entries", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "task_id" } ], "requestBody": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/log_entry" }, "type": "array" } } } }, "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "task" ] } }, "/api/tasks/:task_id/metadata": { "post": { "description": "Appends metadata entries for a task; intended for use within the task executable", "operationId": "post--api-tasks-task_id-metadata", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "task_id" } ], "requestBody": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/metadata_entry" }, "type": "array" } } } }, "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "task" ] } }, "/api/tasks/:task_id/succeed": { "post": { "description": "Marks the task as having succeeded", "operationId": "post--api-tasks-task_id-succeed", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "task_id" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "task" ] } }, "/api/tasks/:task_id/fail": { "post": { "description": "Marks the task as having failed", "operationId": "post--api-tasks-task_id-fail", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "task_id" } ], "responses": { "204": { "description": "unit", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "task" ] } } }, "servers": [ {} ] }