{
  "openapi": "3.0.4",
  "info": {
    "title": "JobScheduling.v1",
    "description": "Module for scheduling (print) jobs to printers.<br /><br />This endpoint collection is transcoded from the gRPC service contract. The Protobuf file can be retrieved via gRPC Server Reflection on the base URI. Use of gRPC is more preferable because of better performance and native streaming capabilities",
    "termsOfService": "https://www.bergstein.com/privacy-policy-2/",
    "contact": {
      "name": "support@bergstein.com",
      "url": "https://bergstein.com",
      "email": "support@bergstein.com"
    },
    "version": "v1.5.0.0"
  },
  "paths": {
    "/jobschedule_module/v1/send_job_to_printer": {
      "post": {
        "tags": [
          "JobScheduleService"
        ],
        "operationId": "POSTjobschedule_module_v1_send_job_to_printer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.PrintManager.JobSchedule.Protos.V1.SendJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Empty"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Google.Rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/jobschedule_module/v1/module_info": {
      "get": {
        "tags": [
          "JobSchedulingModuleInfoService"
        ],
        "operationId": "GETjobschedule_module_v1_module_info",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.ModuleInfoReply"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Google.Rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/jobschedule_module/v1/feature_flags": {
      "get": {
        "tags": [
          "JobSchedulingModuleInfoService"
        ],
        "operationId": "GETjobschedule_module_v1_feature_flags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.FeatureFlagsReply"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Google.Rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/jobschedule_module/v1/release_notes": {
      "get": {
        "tags": [
          "JobSchedulingModuleInfoService"
        ],
        "operationId": "GETjobschedule_module_v1_release_notes",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.ReleaseNotesReply"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Google.Rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/jobschedule_module/v1/health_checks": {
      "get": {
        "tags": [
          "JobSchedulingModuleInfoService"
        ],
        "operationId": "GETjobschedule_module_v1_health_checks",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.HealthChecksReply"
                }
              }
            }
          },
          "default": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Google.Rpc.Status"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.FeatureFlag": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.FeatureFlagsReply": {
        "type": "object",
        "properties": {
          "featureFlags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.FeatureFlag"
            }
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.HealthCheck": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.HealthStatus"
          },
          "moduleName": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.HealthChecksReply": {
        "type": "object",
        "properties": {
          "healthChecks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.HealthCheck"
            }
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.HealthStatus": {
        "enum": [
          "UNKNOWN",
          "HEALTHY",
          "DEGRADED",
          "UNHEALTHY",
          "HEALTHCHECKDISABLED"
        ],
        "type": "string"
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.Module": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.Version"
          },
          "shortDescription": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "protobuf": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.ProtoBuf"
            }
          },
          "openapi": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.ModuleInfoReply": {
        "type": "object",
        "properties": {
          "module": {
            "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.Module"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.ProtoBuf": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "contents": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.ReleaseNotesReply": {
        "type": "object",
        "properties": {
          "releaseNote": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.ModuleInfo.Protos.V1.Version": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "major": {
            "type": "integer",
            "format": "int32"
          },
          "minor": {
            "type": "integer",
            "format": "int32"
          },
          "revision": {
            "type": "integer",
            "format": "int32"
          },
          "build": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.PrintManager.JobSchedule.Protos.V1.JobPrintMode": {
        "type": "object",
        "properties": {
          "PrintMode": {
            "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.PrintManager.JobSchedule.Protos.V1.PrintMode"
          },
          "PrintCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Bergstein.Digi.Shared.Interfaces.PrintManager.JobSchedule.Protos.V1.PrintMode": {
        "enum": [
          "PRINTMODE_UNKNOWN",
          "PRINTMODE_SINGLE",
          "PRINTMODE_BATCH",
          "PRINTMODE_CONTINUOUS"
        ],
        "type": "string"
      },
      "Bergstein.Digi.Shared.Interfaces.PrintManager.JobSchedule.Protos.V1.SendJobRequest": {
        "type": "object",
        "properties": {
          "jobTemplateId": {
            "type": "string"
          },
          "printerConnectionId": {
            "type": "string"
          },
          "enabledLayers": {
            "type": "integer",
            "format": "int32"
          },
          "enabledProducts": {
            "type": "integer",
            "format": "int64"
          },
          "enabledSides": {
            "type": "integer",
            "format": "int32"
          },
          "JobPrintMode": {
            "$ref": "#/components/schemas/Bergstein.Digi.Shared.Interfaces.PrintManager.JobSchedule.Protos.V1.JobPrintMode"
          }
        },
        "additionalProperties": false
      },
      "Google.Protobuf.WellKnownTypes.Any": {
        "required": [
          "@type"
        ],
        "type": "object",
        "properties": {
          "@type": {
            "type": "string"
          }
        },
        "additionalProperties": {
          "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Value"
        }
      },
      "Google.Protobuf.WellKnownTypes.Empty": {
        "type": "object",
        "additionalProperties": false
      },
      "Google.Protobuf.WellKnownTypes.ListValue": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Value"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Google.Protobuf.WellKnownTypes.NullValue": {
        "enum": [
          0
        ],
        "type": "integer",
        "format": "int32"
      },
      "Google.Protobuf.WellKnownTypes.Struct": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Value"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Google.Protobuf.WellKnownTypes.Value": {
        "type": "object",
        "properties": {
          "nullValue": {
            "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.NullValue"
          },
          "hasNullValue": {
            "type": "boolean",
            "readOnly": true
          },
          "numberValue": {
            "type": "number",
            "format": "double"
          },
          "hasNumberValue": {
            "type": "boolean",
            "readOnly": true
          },
          "stringValue": {
            "type": "string",
            "nullable": true
          },
          "hasStringValue": {
            "type": "boolean",
            "readOnly": true
          },
          "boolValue": {
            "type": "boolean"
          },
          "hasBoolValue": {
            "type": "boolean",
            "readOnly": true
          },
          "structValue": {
            "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Struct"
          },
          "listValue": {
            "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.ListValue"
          },
          "kindCase": {
            "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Value.KindOneofCase"
          }
        },
        "additionalProperties": false
      },
      "Google.Protobuf.WellKnownTypes.Value.KindOneofCase": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "Google.Rpc.Status": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.Any"
            }
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Please enter a valid token!",
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "JobScheduleService"
    },
    {
      "name": "JobSchedulingModuleInfoService"
    }
  ]
}