Jobs
The Jobs API allows you to fetch or delete the status and results of running or completed asynchronous requests in EventLog Analyzer.
End Points
Jobs
This API lets you fetch the status of an asynchronous search or alert task.
OAuth Scope : jobs.READ
Query Parameters
request_id
string
request Id returned from the asynchronous request
headers_data = Map();
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "http://localhost:8400/api/v2/jobs"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://localhost:8400/api/v2/jobs")
.get()
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
fetch('http://localhost:8400/api/v2/jobs', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPConnection("localhost:8400")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/api/v2/jobs", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("http");
const options = {
"method": "GET",
"hostname": "localhost",
"port": "8400",
"path": "/api/v2/jobs",
"headers": {
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url http://localhost:8400/api/v2/jobs \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"data": {
"jobs": {
"requests": [
{
"running_time_millis": 97,
"hits_done": 372,
"stage": "SUCCESS",
"total_hits": 372,
"submitted_at": 1747640177921,
"started_at": 1747640177924,
"running_time": "97ms",
"last_synced_time": 1747640178021,
"total_pages": 1,
"stopped_at": 1747640178021,
"request_id": "AZbneNUBx31OH7OTNMmz"
}
]
}
},
"meta": {
"total_items": 10
}
}
{
"code": "070011101",
"title": "Unauthorized",
"detail": "Invalid or missing AuthToken. Check whether the AuthToken is not revoked or expired."
}
Delete job
The API allows you to delete the job and its hits
OAuth Scope : jobs.DELETE
Query Parameters
request_id
string
(Required)
request Id returned from the asynchronous request
headers_data = Map();
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "http://localhost:8400/api/v2/jobs?request_id=AZXXq3eDWLsD0SHGJKxk"
type: DELETE
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://localhost:8400/api/v2/jobs?request_id=AZXXq3eDWLsD0SHGJKxk")
.delete(null)
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
fetch('http://localhost:8400/api/v2/jobs?request_id=AZXXq3eDWLsD0SHGJKxk', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPConnection("localhost:8400")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("DELETE", "/api/v2/jobs?request_id=AZXXq3eDWLsD0SHGJKxk", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("http");
const options = {
"method": "DELETE",
"hostname": "localhost",
"port": "8400",
"path": "/api/v2/jobs?request_id=AZXXq3eDWLsD0SHGJKxk",
"headers": {
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request DELETE \
--url 'http://localhost:8400/api/v2/jobs?request_id=AZXXq3eDWLsD0SHGJKxk' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"data": {
"message": "Deleted hits for requestId [AZXXq3eDWLsD0SHGJKxk]"
}
}
{
"code": "070011101",
"title": "Unauthorized",
"detail": "Invalid or missing AuthToken. Check whether the AuthToken is not revoked or expired."
}
Job Results
The API allows you to fetch the result for the asynchronous search task.
OAuth Scope : jobs.READ
Query Parameters
request_id
string
(Required)
request Id returned from the asynchronous request
page
integer
Page number
response_type
string
Specifies whether the response should be based on the client or server.
Accepted values: client, server
Accepted values: client, server
headers_data = Map();
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "http://localhost:8400/api/v2/jobs/results?request_id=AZXXq3eDWLsD0SHGJKxk"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://localhost:8400/api/v2/jobs/results?request_id=AZXXq3eDWLsD0SHGJKxk")
.get()
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
fetch('http://localhost:8400/api/v2/jobs/results?request_id=AZXXq3eDWLsD0SHGJKxk', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPConnection("localhost:8400")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/api/v2/jobs/results?request_id=AZXXq3eDWLsD0SHGJKxk", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("http");
const options = {
"method": "GET",
"hostname": "localhost",
"port": "8400",
"path": "/api/v2/jobs/results?request_id=AZXXq3eDWLsD0SHGJKxk",
"headers": {
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url 'http://localhost:8400/api/v2/jobs/results?request_id=AZXXq3eDWLsD0SHGJKxk' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"data": {
"hits": [
{
"Type": "System",
"Device": "pooja-17763",
"OS Category": "WKS",
"LogType": "Windows",
"DisplayName": "pooja-17763",
"Severity": "warning",
"Time": "1747735585000",
"Event ID": "8019",
"UUID": "logs_ela_1747679400_1747679400###AZbtKkPRWTroqF6w8kNU",
"Source": "Microsoft-Windows-DNS-Client"
}
]
},
"meta": {
"next_page": 2,
"total_items": 1958,
"items_in_current_page": 1000
}
}
{
"code": "070011101",
"title": "Unauthorized",
"detail": "Invalid or missing AuthToken. Check whether the AuthToken is not revoked or expired."
}