| 200 |
|
|
application/json
model |
example
{
"title": "jobs for wizard",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "com.sos.joc.model.wizard.Jobs",
"type": "object",
"required": [
"deliveryDate",
"jobs"
],
"properties": {
"deliveryDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"jobs": {
"description": "job items without params",
"type": "array",
"items": {
"javaType": "com.sos.joc.model.wizard.Job",
"type": "object",
"required": [
"docPath",
"assignReference"
],
"properties": {
"deliveryDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"docPath": {
"description": "absolute path of an object.",
"type": "string",
"pattern": "^(/|(/[^/\\\\<>?:\"|*]+)+)$",
"maxLength": 255,
"minLength": 1
},
"docName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"assignReference": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"title": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"javaClass": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"hasRequiredArguments": {
"type": "boolean",
"default": false
},
"arguments": {
"javaType": "com.sos.inventory.model.jobtemplate.Parameters",
"type": "object",
"additionalProperties": {
"javaType": "com.sos.inventory.model.jobtemplate.Parameter",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"javaType": "com.sos.inventory.model.jobtemplate.ParameterType",
"type": "string",
"enum": [
"String",
"Number",
"Boolean"
],
"javaEnumNames": [
"String",
"Number",
"Boolean"
]
},
"default": {
"description": "this value has to have the data type of the 'type' attribute",
"anyOf": [{
"type": "string"
}, {
"type": "number"
}, {
"type": "boolean"
}],
"javaType": "java.lang.Object"
},
"description": {
"type": "string",
"pattern": "^(?s)((?!<script( |>)|<svg/on).)*$"
},
"facet": {
"description": "a regular expression to check the value of the parameter",
"type": "string"
},
"list": {
"description": "enumeration of possible parameter values",
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"description": "a message if the value doesn't match the facet",
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
}
}
}
{ "deliveryDate": "2021-08-13T00:41:41.14Z", "jobs": [{ "assignReference": "RenameFileJob", "docName": "RenameFileJob.xml", "docPath": "/sos/jitl-jobs/RenameFileJob.xml", "javaClass": "com.sos.jitl.jobs.file.RenameFileJob", "title": "Rename one or more files" }, { "assignReference": "RemoveFileJob", "docName": "RemoveFileJob.xml", "docPath": "/sos/jitl-jobs/RemoveFileJob.xml", "javaClass": "com.sos.jitl.jobs.file.RemoveFileJob", "title": "Remove one or more files" }, { "assignReference": "FileNotExistsJob", "docName": "FileNotExistsJob.xml", "docPath": "/sos/jitl-jobs/FileNotExistsJob.xml", "javaClass": "com.sos.jitl.jobs.file.FileNotExistsJob", "title": "check for file absence" }, { "assignReference": "SQLPLUSJob", "docName": "SQLPLUSJob.xml", "docPath": "/sos/jitl-jobs/SQLPLUSJob.xml", "javaClass": "com.sos.jitl.jobs.db.oracle.SQLPLUSJob", "title": "Start SQL*Plus client and execute a sql*plus script" }, { "assignReference": "FileExistsJob", "docName": "FileExistsJob.xml", "docPath": "/sos/jitl-jobs/FileExistsJob.xml", "javaClass": "com.sos.jitl.jobs.file.FileExistsJob", "title": "check wether a file exist" }, { "assignReference": "MailJob", "docName": "MailJob.xml", "docPath": "/sos/jitl-jobs/MailJob.xml", "javaClass": "com.sos.jitl.jobs.mail.MailJob", "title": "Send Mails" }, { "assignReference": "CanWriteJob", "docName": "CanWriteJob.xml", "docPath": "/sos/jitl-jobs/CanWriteJob.xml", "javaClass": "com.sos.jitl.jobs.file.CanWriteJob", "title": "check wether a file is writable" }, { "assignReference": "CopyFileJob", "docName": "CopyFileJob.xml", "docPath": "/sos/jitl-jobs/CopyFileJob.xml", "javaClass": "com.sos.jitl.jobs.file.CopyFileJob", "title": "Copies one or more files" }, { "assignReference": "PLSQLJob", "docName": "PLSQLJob.xml", "docPath": "/sos/jitl-jobs/PLSQLJob.xml", "javaClass": "com.sos.jitl.jobs.db.oracle.PLSQLJob", "title": "Execute PL/SQL procedure" }, { "assignReference": "SQLExecutorJob", "docName": "SQLExecutorJob.xml", "docPath": "/sos/jitl-jobs/SQLExecutorJob.xml", "javaClass": "com.sos.jitl.jobs.db.SQLExecutorJob", "title": "Launch Database Statement" }] }
{
"deliveryDate": "2021-08-13T00:41:41.14Z",
"jobs": [{
"assignReference": "RenameFileJob",
"docName": "RenameFileJob.xml",
"docPath": "/sos/jitl-jobs/RenameFileJob.xml",
"javaClass": "com.sos.jitl.jobs.file.RenameFileJob",
"title": "Rename one or more files"
}, {
"assignReference": "RemoveFileJob",
"docName": "RemoveFileJob.xml",
"docPath": "/sos/jitl-jobs/RemoveFileJob.xml",
"javaClass": "com.sos.jitl.jobs.file.RemoveFileJob",
"title": "Remove one or more files"
}, {
"assignReference": "FileNotExistsJob",
"docName": "FileNotExistsJob.xml",
"docPath": "/sos/jitl-jobs/FileNotExistsJob.xml",
"javaClass": "com.sos.jitl.jobs.file.FileNotExistsJob",
"title": "check for file absence"
}, {
"assignReference": "SQLPLUSJob",
"docName": "SQLPLUSJob.xml",
"docPath": "/sos/jitl-jobs/SQLPLUSJob.xml",
"javaClass": "com.sos.jitl.jobs.db.oracle.SQLPLUSJob",
"title": "Start SQL*Plus client and execute a sql*plus script"
}, {
"assignReference": "FileExistsJob",
"docName": "FileExistsJob.xml",
"docPath": "/sos/jitl-jobs/FileExistsJob.xml",
"javaClass": "com.sos.jitl.jobs.file.FileExistsJob",
"title": "check wether a file exist"
}, {
"assignReference": "MailJob",
"docName": "MailJob.xml",
"docPath": "/sos/jitl-jobs/MailJob.xml",
"javaClass": "com.sos.jitl.jobs.mail.MailJob",
"title": "Send Mails"
}, {
"assignReference": "CanWriteJob",
"docName": "CanWriteJob.xml",
"docPath": "/sos/jitl-jobs/CanWriteJob.xml",
"javaClass": "com.sos.jitl.jobs.file.CanWriteJob",
"title": "check wether a file is writable"
}, {
"assignReference": "CopyFileJob",
"docName": "CopyFileJob.xml",
"docPath": "/sos/jitl-jobs/CopyFileJob.xml",
"javaClass": "com.sos.jitl.jobs.file.CopyFileJob",
"title": "Copies one or more files"
}, {
"assignReference": "PLSQLJob",
"docName": "PLSQLJob.xml",
"docPath": "/sos/jitl-jobs/PLSQLJob.xml",
"javaClass": "com.sos.jitl.jobs.db.oracle.PLSQLJob",
"title": "Execute PL/SQL procedure"
}, {
"assignReference": "SQLExecutorJob",
"docName": "SQLExecutorJob.xml",
"docPath": "/sos/jitl-jobs/SQLExecutorJob.xml",
"javaClass": "com.sos.jitl.jobs.db.SQLExecutorJob",
"title": "Launch Database Statement"
}]
}
|
| 401 |
Unauthorized! |
|
application/json
model |
example
{
"title": "authentication",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"isAuthenticated"
],
"properties": {
"user": {
"type": "string"
},
"accessToken": {
"type": "string"
},
"message": {
"type": "string"
},
"role": {
"type": "string"
},
"isAuthenticated": {
"type": "boolean"
},
"isPermitted": {
"type": "boolean",
"default": false
},
"sessionTimeout": {
"type": "integer",
"default": 1800
},
"enableTouch": {
"type": "boolean",
"default": true
}
}
}
{ "user": "root", "message": "Oops!", "isAuthenticated": false, "isPermitted": false }
{
"user": "root",
"message": "Oops!",
"isAuthenticated": false,
"isPermitted": false
}
|
| 403 |
Forbidden! The user doesn't have sufficient permissions for 'jobs' |
|
application/json
model |
example
{
"title": "authentication",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"isAuthenticated"
],
"properties": {
"user": {
"type": "string"
},
"accessToken": {
"type": "string"
},
"message": {
"type": "string"
},
"role": {
"type": "string"
},
"isAuthenticated": {
"type": "boolean"
},
"isPermitted": {
"type": "boolean",
"default": false
},
"sessionTimeout": {
"type": "integer",
"default": 1800
},
"enableTouch": {
"type": "boolean",
"default": true
}
}
}
{ "user": "root", "message": "You don't have sufficient permissions for ...", "role": "all", "isAuthenticated": true, "isPermitted": false }
{
"user": "root",
"message": "You don't have sufficient permissions for ...",
"role": "all",
"isAuthenticated": true,
"isPermitted": false
}
|
| 420 |
'jobs' failed! |
|
application/json
model |
example
{
"title": "error object with delivery date",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "com.sos.joc.model.common.Err420",
"type": "object",
"required": [
"deliveryDate",
"error"
],
"properties": {
"deliveryDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"surveyDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"error": {
"javaType": "com.sos.joc.model.common.Err",
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
}
}
{ "deliveryDate": "2016-05-05T21:13:35Z", "surveyDate": "2016-05-05T21:13:33Z", "error": { "code": "JOC-420", "message": "jobs failed!" } }
{
"deliveryDate": "2016-05-05T21:13:35Z",
"surveyDate": "2016-05-05T21:13:33Z",
"error": {
"code": "JOC-420",
"message": "jobs failed!"
}
}
|
| 433 |
4-eyes principle: Forbidden! The user needs approval process for 'jobs' |
|
application/json
model |
example
{
"title": "FourEyesResponse",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "com.sos.joc.model.security.foureyes.FourEyesResponse",
"type": "object",
"extends": {
"javaType": "com.sos.joc.model.security.foureyes.ApprovalBase",
"type": "object",
"properties": {
"requestor": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"requestUrl": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"requestBody": {
"type": "object",
"javaType": "com.sos.joc.model.security.foureyes.RequestBody",
"additionalProperties": true
},
"category": {
"javaType": "com.sos.joc.model.audit.CategoryType",
"type": "string",
"enum": [
"INVENTORY",
"CONTROLLER",
"DAILYPLAN",
"OTHERS",
"DEPLOYMENT",
"DOCUMENTATIONS",
"CERTIFICATES",
"IDENTITY",
"SETTINGS",
"MONITORING",
"UNKNOWN"
]
}
},
"additionalProperties": false
},
"properties": {
"deliveryDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"message": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"approvers": {
"type": "array",
"items": {
"javaType": "com.sos.joc.model.security.foureyes.Approver",
"type": "object",
"required": [
"accountName",
"firstName",
"lastName"
],
"properties": {
"accountName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"firstName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 30,
"minLength": 1
},
"lastName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 30,
"minLength": 1
},
"email": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
{ "deliveryDate": "2025-05-12T21:13:35Z", "accountName": "user1", "request": "./orders/add", "requestBody": { "controllerId": "standalone", "orders": [{ "workflowPath": "myWorkflow", "scheduledFor": "now" }] }, "category": "CONTROLLER", "objectType": "WORKFLOW" "objectName": "myWorkflow", "numOfObjects": 1, "action": "add orders" }
{
"deliveryDate": "2025-05-12T21:13:35Z",
"accountName": "user1",
"request": "./orders/add",
"requestBody": {
"controllerId": "standalone",
"orders": [{
"workflowPath": "myWorkflow",
"scheduledFor": "now"
}]
},
"category": "CONTROLLER",
"objectType": "WORKFLOW"
"objectName": "myWorkflow",
"numOfObjects": 1,
"action": "add orders"
}
|
| 440 |
Login Timeout! The client's session has expired and must log in again. |
|
application/json
model |
example
{
"title": "authentication",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"isAuthenticated"
],
"properties": {
"user": {
"type": "string"
},
"accessToken": {
"type": "string"
},
"message": {
"type": "string"
},
"role": {
"type": "string"
},
"isAuthenticated": {
"type": "boolean"
},
"isPermitted": {
"type": "boolean",
"default": false
},
"sessionTimeout": {
"type": "integer",
"default": 1800
},
"enableTouch": {
"type": "boolean",
"default": true
}
}
}
{ "user": "root", "message": "Session has expired. Please log in again", "role": "all", "isAuthenticated": false, "isPermitted": false }
{
"user": "root",
"message": "Session has expired. Please log in again",
"role": "all",
"isAuthenticated": false,
"isPermitted": false
}
|