BurstIQ Job Manager APIs API
Platform support asynchronous jobs, and these endpoints allow for the creation, status, and management of these jobs
Platform support asynchronous jobs, and these endpoints allow for the creation, status, and management of these jobs
openapi: 3.1.0
info:
title: LifeGraph APIs BlastAI APIs Job Manager APIs API
description: LifeGraph API descriptions
license:
name: BurstIQ, Inc.
url: https://www.burstiq.com
version: 2.42.0
servers:
- url: https://api.burstiq.com
description: Generated server url
tags:
- name: Job Manager APIs
description: Platform support asynchronous jobs, and these endpoints allow for the creation, status, and management of these jobs
paths:
/api/jobs/requeue:
put:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>biqAdmin</li><li>sdzAdmin</li></ul><br/><br/>requeue jobs IF the job queue is empty but there are queued jobs in the SDZ
operationId: putRequeueJobs
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
/api/jobs/{chain}/upload:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzUser</li></ul><br/><br/>adds data from a file as assets into GraphChain as an async job
operationId: postUploadFile
parameters:
- name: chain
in: path
required: true
schema:
type: string
- name: owners
in: query
required: false
schema:
type: string
- name: limitedOwners
in: query
required: false
schema:
type: string
- name: metadata
in: query
required: false
schema:
type: string
- name: dataPipelineName
in: query
required: false
schema:
type: string
- name: sheetNum
in: query
required: false
schema:
type: integer
format: int32
- name: sheetName
in: query
required: false
schema:
type: string
- name: operation
in: query
required: false
schema:
type: string
- name: numThreads
in: query
required: false
schema:
type: integer
format: int32
default: 1
minimum: 1
- name: emailResultsTo
in: query
required: false
schema:
type: array
items:
type: string
uniqueItems: true
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FileUploadJob_Public'
/api/jobs/{chain}/truncate:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li></ul><br/><br/>truncate all data in a graph chain in the secure data zone; preserves chain, dictionary, edge definitions, etc
operationId: postTruncateChain
parameters:
- name: chain
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TruncateChainJobRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TruncateChainJob_Public'
/api/jobs/{chain}/smartcontracts/{sdoId}/{func}:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzUser</li></ul><br/><br/>execute a smart contract, by address (sdo id) with arguments as named fields in the form; as an async job
operationId: postExecuteSmartContract
parameters:
- name: chain
in: path
required: true
schema:
type: string
- name: sdoId
in: path
required: true
schema:
type: string
format: uuid
- name: func
in: path
required: true
schema:
type: string
- name: emailResultsTo
in: query
required: false
schema:
type: array
items:
type: string
uniqueItems: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SmartContractExecJob_Public'
/api/jobs/{chain}/export:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzReadOnly</li><li>sdzUser</li></ul><br/><br/>Exports data from a single chain and produces a JSON file, caller can request skip/limit of data for pagination of results always ordered by SDO ID; can be SFTP'ed or downloaded as an async job.
operationId: postExportFile
parameters:
- name: chain
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportFileRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExportDownloadJob_Public'
/api/jobs/{chain}/drop:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li></ul><br/><br/>drops chain, all data, and all edges to/from this chain
operationId: postDropChain
parameters:
- name: chain
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DropChainJobRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DropChainJob_Public'
/api/jobs/sdz/wipe:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li></ul><br/><br/>wipe all data, job infos, and blobs from the SDZ (NOT metadata)
operationId: postWipeSDZ
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DropChainJobRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WipeSDZDataJob_Public'
/api/jobs/sdz/reset:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li></ul><br/><br/>reset (wipe) all data and metadata; essentially reset the SDZ to look like its newly created
operationId: postResetSDZ
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DropChainJobRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResetSDZJob_Public'
/api/jobs/download:
post:
tags:
- Job Manager APIs
description: '<b>Allowed user roles:</b><br/><ul><li>sdzReadOnly</li><li>sdzUser</li></ul><br/><br/>queries data and produces a file; can be SFTP''ed or for downloaded as an async job. Supported file formats are CSV, PIPE, TAB, XLSX, and JSON. Warning: Care is needed when using CSV as there can be issues when the data is variable, complex and/or not fixed columns'
operationId: postDownloadFile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadFileRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FileDownloadJob_Public'
/api/jobs/dictionary:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li></ul><br/><br/>load (upsert) a dictionary into the SDZ using 1) POST with JSON body with dictionary and emailResultsTo (optional); or 2) MULTIPART POST with dictionary file and emailResultsTo (optional) as form fields
operationId: postDictionaryFile
parameters:
- name: emailResultsTo
in: query
required: false
schema:
type: array
items:
type: string
uniqueItems: true
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
application/json:
schema:
$ref: '#/components/schemas/DictionaryUploadJobRequest_Public'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DictionaryUploadJob_Public'
/api/jobs/dbschema:
post:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li></ul><br/><br/>loads a dbschema (.dbs) XML file into the secure data zone; if delete is true any dictionaries in the SDZ not specified in the DbSchema file will be dropped
operationId: postDbSchemaFile
parameters:
- name: delete
in: query
description: Required. If delete is true any dictionaries in the SDZ not specified in the DbSchema file will be dropped
required: true
schema:
type: boolean
- name: emailResultsTo
in: query
required: false
schema:
type: array
items:
type: string
uniqueItems: true
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DbSchemaUploadJob_Public'
/api/jobs:
get:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li><li>sdzReadOnly</li><li>sdzUser</li></ul><br/><br/>Deprecated. Replace with combination of /api/jobs/query/summary for a list of job infos and /api/jobs/{jobId} for the details of a specific job info<b><br/><br/>Deprecated since 08 MAY 2025</b>
operationId: getQueryJobInfo
parameters:
- name: name
in: query
required: false
schema:
type: string
- name: type
in: query
required: false
schema:
type: string
- name: status
in: query
required: false
schema:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
- name: callerId
in: query
required: false
schema:
type: string
format: uuid
- name: daysToReturn
in: query
required: false
schema:
type: integer
format: int32
default: 5
- name: orderBy
in: query
required: false
schema:
type: array
items:
type: string
- name: limit
in: query
required: false
schema:
type: integer
format: int32
- name: skip
in: query
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/JobBase_Public'
deprecated: true
/api/jobs/{jobId}:
get:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li><li>sdzReadOnly</li><li>sdzUser</li></ul><br/><br/>get job info for a specific job id
operationId: getJobInfo
parameters:
- name: jobId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/JobBase_Public'
delete:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li><li>sdzUser</li></ul><br/><br/>cancel a pending job
operationId: deleteCancelJob
parameters:
- name: jobId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/jobs/query/summary:
get:
tags:
- Job Manager APIs
description: <b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li><li>sdzReadOnly</li><li>sdzUser</li></ul><br/><br/>Query for a summary of job infos (See JobInfoSummary schema for fields). Use /api/jobs/{jobId} to load complete job info
operationId: getQueryJobInfoSummaries
parameters:
- name: name
in: query
description: Name of job. Can be an exact match or wildcard
required: false
schema:
type: string
examples:
exact match:
description: Exact match
value: name=FileUploadJob
wildcard match:
description: For all job infos with Upload in the name
value: name=*Upload*
- name: status
in: query
description: Status of job. Exact match only
required: false
schema:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
- name: loggedInId
in: query
description: User wallet id of the logged in user that started the job. Only for sdzAdmins. Exact match only
required: false
schema:
type: string
format: uuid
examples:
'match example #1':
description: Logged In Id must be 3fa85f64-5717-4562-b3fc-2c963f66afa6
value: loggedInId=3fa85f64-5717-4562-b3fc-2c963f66afa6
'match example #2':
description: Logged In Id must be a41147fb-3915-4a7f-991d-a70e2b3bdfaf
value: loggedInId=a41147fb-3915-4a7f-991d-a70e2b3bdfaf
- name: daysToReturn
in: query
description: Limit results to jobs create in the last number of days
required: false
schema:
type: integer
format: int32
- name: orderBy
in: query
description: Order by field(s) with optional ACS or DESC keyword after each field
required: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: Maximum amount of job infos to return. Use orderBy to ensure consistent ordering job infos
required: false
schema:
type: integer
format: int32
default: 100
- name: skip
in: query
description: Skip the X number of job infos then return the remaining job infos within the limit. Use orderBy to ensure consistent ordering of job infos
required: false
schema:
type: integer
format: int32
default: 0
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/JobInfoSummaryResponse'
/api/jobs/download/{jobId}:
get:
tags:
- Job Manager APIs
description: '<b>Allowed user roles:</b><br/><ul><li>sdzAdmin</li><li>sdzReadOnly</li><li>sdzUser</li></ul><br/><br/>after the download job is completed, get the file (if not SFTP''ed). WARNING: files are deleted after being downloaded'
operationId: getDownloadFile
parameters:
- name: jobId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
'*/*':
schema:
type: string
format: binary
components:
schemas:
DownloadFileRequest_Public:
type: object
properties:
title:
type: string
description:
type: string
filePassword:
type: string
sftpUrl:
type: string
sftpUsername:
type: string
sftpPassword:
type: string
emailResultsTo:
type: array
items:
type: string
uniqueItems: true
fileType:
type: string
enum:
- CSV
- PIPE
- TAB
- XLS
- XLSX
- XLSM
- EDI
- JSON
- XML
- PARQUET
- SPSS
tql:
type: string
required:
- tql
JsonNode_Public: {}
DropChainJobRequest_Public:
type: object
properties:
emailResultsTo:
type: array
items:
type: string
uniqueItems: true
WipeSDZDataJob_Public:
type: object
properties:
jobId:
type: string
format: uuid
name:
type: string
minLength: 1
status:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
jobQueued:
type: string
format: date-time
jobStarted:
type: string
format: date-time
jobCompleted:
type: string
format: date-time
emailRecipients:
type: array
items:
type: string
uniqueItems: true
timeout:
type: integer
format: int32
timeoutUnit:
type: string
enum:
- NANOSECONDS
- MICROSECONDS
- MILLISECONDS
- SECONDS
- MINUTES
- HOURS
- DAYS
results:
$ref: '#/components/schemas/JobResults_Public'
customerName:
type: string
minLength: 1
sdzName:
type: string
minLength: 1
effectiveId:
type: string
format: uuid
loggedInId:
type: string
format: uuid
mdc:
type: object
additionalProperties:
type: string
required:
- customerName
- effectiveId
- jobCreated
- jobId
- loggedInId
- mdc
- name
- sdzName
- status
- timeoutUnit
ExportDownloadJob_Public:
type: object
properties:
jobId:
type: string
format: uuid
name:
type: string
minLength: 1
status:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
jobQueued:
type: string
format: date-time
jobStarted:
type: string
format: date-time
jobCompleted:
type: string
format: date-time
emailRecipients:
type: array
items:
type: string
uniqueItems: true
timeout:
type: integer
format: int32
timeoutUnit:
type: string
enum:
- NANOSECONDS
- MICROSECONDS
- MILLISECONDS
- SECONDS
- MINUTES
- HOURS
- DAYS
results:
$ref: '#/components/schemas/JobResults_Public'
customerName:
type: string
minLength: 1
sdzName:
type: string
minLength: 1
effectiveId:
type: string
format: uuid
loggedInId:
type: string
format: uuid
mdc:
type: object
additionalProperties:
type: string
fileType:
type: string
enum:
- CSV
- PIPE
- TAB
- XLS
- XLSX
- XLSM
- EDI
- JSON
- XML
- PARQUET
- SPSS
title:
type: string
description:
type: string
password:
type: string
sftpUrl:
type: string
sftpUsername:
type: string
sftpPassword:
type: string
key:
type: string
tql:
type: string
dictName:
type: string
required:
- customerName
- effectiveId
- jobCreated
- jobId
- loggedInId
- mdc
- name
- sdzName
- status
- timeoutUnit
DictionaryUploadJobRequest_Public:
type: object
properties:
dictionary:
$ref: '#/components/schemas/Dictionary_Public'
emailResultsTo:
type: array
items:
type: string
uniqueItems: true
required:
- dictionary
FileUploadJob_Public:
type: object
properties:
jobId:
type: string
format: uuid
name:
type: string
minLength: 1
status:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
jobQueued:
type: string
format: date-time
jobStarted:
type: string
format: date-time
jobCompleted:
type: string
format: date-time
emailRecipients:
type: array
items:
type: string
uniqueItems: true
timeout:
type: integer
format: int32
timeoutUnit:
type: string
enum:
- NANOSECONDS
- MICROSECONDS
- MILLISECONDS
- SECONDS
- MINUTES
- HOURS
- DAYS
results:
$ref: '#/components/schemas/JobResults_Public'
customerName:
type: string
minLength: 1
sdzName:
type: string
minLength: 1
effectiveId:
type: string
format: uuid
loggedInId:
type: string
format: uuid
mdc:
type: object
additionalProperties:
type: string
originalFilename:
type: string
dataSize:
type: integer
format: int64
sheetNum:
type: integer
format: int32
sheetName:
type: string
numThreads:
type: integer
format: int32
key:
type: string
owners:
type: array
items:
type: string
format: uuid
uniqueItems: true
limitedOwners:
type: array
items:
type: string
format: uuid
uniqueItems: true
metadata:
type: object
dataPipelineName:
type: string
dictName:
type: string
operation:
type: string
enum:
- CREATE
- UPDATE
- PATCH
- UPSERT
required:
- customerName
- effectiveId
- jobCreated
- jobId
- loggedInId
- mdc
- name
- sdzName
- status
- timeoutUnit
ExportFileRequest_Public:
type: object
properties:
title:
type: string
description:
type: string
filePassword:
type: string
sftpUrl:
type: string
sftpUsername:
type: string
sftpPassword:
type: string
emailResultsTo:
type: array
items:
type: string
uniqueItems: true
limit:
type: integer
format: int32
skip:
type: integer
format: int32
TruncateChainJobRequest_Public:
type: object
properties:
emailResultsTo:
type: array
items:
type: string
uniqueItems: true
JobInfoSummary:
type: object
properties:
name:
type: string
description: Name of the job
jobId:
type: string
format: uuid
description: Id of the job
status:
type: string
description: Status of the job
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
description: When the job was created
jobCompleted:
type: string
format: date-time
description: When the job was completed
dictName:
type: string
description: Name of the associated dictionary
loggedInId:
type: string
format: uuid
description: Id of logged in User Wallet that created the job
downloadedDate:
type: string
format: date-time
description: Date the attached file was downloaded
downloadedWalletId:
type: string
format: uuid
description: Id of logged in user that downloaded the attached file
DbSchemaUploadJob_Public:
type: object
properties:
jobId:
type: string
format: uuid
name:
type: string
minLength: 1
status:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
jobQueued:
type: string
format: date-time
jobStarted:
type: string
format: date-time
jobCompleted:
type: string
format: date-time
emailRecipients:
type: array
items:
type: string
uniqueItems: true
timeout:
type: integer
format: int32
timeoutUnit:
type: string
enum:
- NANOSECONDS
- MICROSECONDS
- MILLISECONDS
- SECONDS
- MINUTES
- HOURS
- DAYS
results:
$ref: '#/components/schemas/JobResults_Public'
customerName:
type: string
minLength: 1
sdzName:
type: string
minLength: 1
effectiveId:
type: string
format: uuid
loggedInId:
type: string
format: uuid
mdc:
type: object
additionalProperties:
type: string
originalFilename:
type: string
key:
type: string
delete:
type: boolean
required:
- customerName
- effectiveId
- jobCreated
- jobId
- loggedInId
- mdc
- name
- sdzName
- status
- timeoutUnit
DictionaryUploadJob_Public:
type: object
properties:
jobId:
type: string
format: uuid
name:
type: string
minLength: 1
status:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
jobQueued:
type: string
format: date-time
jobStarted:
type: string
format: date-time
jobCompleted:
type: string
format: date-time
emailRecipients:
type: array
items:
type: string
uniqueItems: true
timeout:
type: integer
format: int32
timeoutUnit:
type: string
enum:
- NANOSECONDS
- MICROSECONDS
- MILLISECONDS
- SECONDS
- MINUTES
- HOURS
- DAYS
results:
$ref: '#/components/schemas/JobResults_Public'
customerName:
type: string
minLength: 1
sdzName:
type: string
minLength: 1
effectiveId:
type: string
format: uuid
loggedInId:
type: string
format: uuid
mdc:
type: object
additionalProperties:
type: string
originalFilename:
type: string
key:
type: string
dictName:
type: string
required:
- customerName
- effectiveId
- jobCreated
- jobId
- loggedInId
- mdc
- name
- sdzName
- status
- timeoutUnit
JobResults_Public:
type: object
properties:
results:
type: object
error:
$ref: '#/components/schemas/JsonNode_Public'
errorString:
type: string
writeOnly: true
errorStrings:
type: array
items:
type: string
writeOnly: true
SmartContractExecJob_Public:
type: object
properties:
jobId:
type: string
format: uuid
name:
type: string
minLength: 1
status:
type: string
enum:
- NEW
- QUEUED
- RUNNING
- CANCELLED
- COMPLETED_ERROR
- COMPLETED_SUCCESS
- INCOMPLETE_ERROR
jobCreated:
type: string
format: date-time
jobQueued:
type: string
format: date-time
jobStarted:
type: string
format: date-time
jobCompleted:
type: string
format: date-time
emailRecipients:
type: array
items:
type: string
uniqueItems: true
timeout:
type: integer
format: int32
timeoutUnit:
type: string
enum:
- NANOSECONDS
- MICROSECONDS
- MILLISECONDS
- SECONDS
- MINUTES
- HOURS
- DAYS
results:
$ref: '#/components/schemas/JobResults_Public'
customerName:
type: string
minLength: 1
sdzName:
type: string
minLength: 1
effectiveId:
type: string
format: uuid
loggedInId:
type: string
format: uuid
mdc:
type: object
additionalProperties:
type: string
sdoId:
type: stri
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/burstiq/refs/heads/main/openapi/burstiq-job-manager-apis-api-openapi.yml