PanDA API (1.0.0)

Download OpenAPI specification:

Protocol: we generally require communication over HTTPS. The server will not accept HTTP requests unless explicitly mentioned.

HTTP methods:

  • GET: Retrieve data from the server. Parameters have to be sent in the URL.
  • PUT: Update data on the server. Parameters have to be sent in the body in json encoded format. When the client wants to gzip the data, the content encoding has to be set accordingly.

Response formats:

The return codes are usually specified with each API function, but in general:

  • 200: Function called correctly and response will be Content-type: application/json. This does not necessarily mean that the operation was successful, but that the function was called correctly. Reasons why the operation could fail are:
    • Wrong parameters or the JSON could not be decoded.
    • The function was called using the wrong HTTP method (e.g. GET instead of PUT).
    • The function expects authentication (certificate/token) and it was not provided.
    • The function expects production role and it was not provided.
    • Caught exceptions when interacting with the database.

The usual response dictionary has the following format:

{ "success": True/False, "message": "Usually an error when there was a failure. The message can generally be ignored if the operation was successful.", "data": "The data returned if the operation was successful." }
  • 403: Forbidden. The client called a forbidden function or there was an authentication issue. The response will use Content-type: text/plain.
  • 500: Server crashed calling the method. The response will use Content-type: text/plain.
  • 503: The server is overloaded. The call did not reach PanDA and the response comes from directly httpd.

credential

Operations related to credential

Set user secrets

Set a key-value pair to store in PanDA. Requires a secure connection.

Request Body schema: application/json
required
key
required
string

Key to reference the secret

value
required
string

Value of the secret

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get user secrets

Get the secrets for a user identified by a list of keys. Requires a secure connection.

Request Body schema: application/json
required
keys
required
Array of strings

List of keys to reference the secrets to retrieve

Responses

Request samples

Content type
application/json
{
  • "keys": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get key pair

This function retrieves the distinguished name (DN) from the request and uses it to get a key pair. Requires a secure connection.

query Parameters
public_key_name
required
string

The name of the public key.

private_key_name
required
string

The name of the private key.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get proxy

Get the x509 proxy certificate for a user with a role. Requires a secure connection.

query Parameters
role
string

The role of the user. Defaults to None.

dn
string

The distinguished name of the user. Defaults to None.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get access token

Get the OAuth access token for the specified client. Requires a secure connection.

query Parameters
client_name
required
string

client_name for the token as defined in token_cache_config

token_key
string

key to get the token from the token cache. Defaults to None.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get token key

This function retrieves the distinguished name (DN) from the request and uses it to get a token key for the specified client. Requires a secure connection.

query Parameters
client_name
required
string

The name of the client requesting the token key

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

event

Operations related to event

Get available event range count

This function returns the count of available event ranges for a given job_id, jobset_id, and task_id. Requires a secure connection and production role.

query Parameters
job_id
required
string

PanDA job ID

jobset_id
required
string

Jobset ID

task_id
required
string

JEDI task ID

timeout
string

The timeout value. Defaults to 60.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get event range statuses

Gets a dictionary with the status of the event ranges for the given pairs of PanDA job IDs and JEDI task IDs. Requires a secure connection.

query Parameters
job_task_ids
required
string

json encoded string with JEDI task ID + PanDA job ID pairs, in the format [{"task_id": <task>, "job_id": <job>}, ...]

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Acquire event ranges

Acquires a list of event ranges with a given PandaID for execution. Requires a secure connection and production role.

Request Body schema: application/json
required
job_id
required
string

PanDa job ID.

jobset_id
required
string

Jobset ID.

task_id
integer

JEDI task ID. Defaults to None.

n_ranges
integer

The number of event ranges to retrieve. Defaults to 10.

timeout
integer

The timeout value. Defaults to 60.

scattered
boolean

Whether the event ranges are scattered. Defaults to None.

segment_id
integer

The segment ID. Defaults to None.

Responses

Request samples

Content type
application/json
{
  • "job_id": "string",
  • "jobset_id": "string",
  • "task_id": 0,
  • "n_ranges": 0,
  • "timeout": 0,
  • "scattered": true,
  • "segment_id": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update single event range

Updates the status of a specific event range. Requires a secure connection and production role.

Request Body schema: application/json
required
event_range_id
required
string

The ID of the event range to update.

event_range_status
required
string

The new status of the event range.

core_count
integer

The number of cores used. Defaults to None.

cpu_consumption_time
number

The CPU consumption time. Defaults to None.

object_store_id
integer

The object store ID. Defaults to None.

timeout
integer

The timeout value. Defaults to 60.

Responses

Request samples

Content type
application/json
{
  • "event_range_id": "string",
  • "event_range_status": "string",
  • "core_count": 0,
  • "cpu_consumption_time": 0,
  • "object_store_id": 0,
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update event ranges

Updates the event ranges in bulk. Requires a secure connection and production role.

Request Body schema: application/json
required
event_ranges
required
string

JSON-encoded string containing the list of event ranges to update.

timeout
integer

The timeout value. Defaults to 120.

version
integer

The version of the event ranges. Defaults to 0. Version 0: normal event service Version 1: jumbo jobs with zip file support Version 2: fine-grained processing where events can be updated before being dispatched

Responses

Request samples

Content type
application/json
{
  • "event_ranges": "string",
  • "timeout": 0,
  • "version": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

file

Operations related to file

Upload a JEDI log file

Uploads a JEDI log file and returns the URL to the file. If there is already a log file for the task, it will be overwritten. Requires a secure connection and production role.

Request Body schema: application/json
required
file
required
string

werkzeug.FileStorage object to be uploaded.

Responses

Request samples

Content type
application/json
{
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update a JEDI log file

Updates a JEDI log file, appending more content at the end of the file. Requires a secure connection and production role.

Request Body schema: application/json
required
file
required
string

werkzeug.FileStorage object to be updated.

Responses

Request samples

Content type
application/json
{
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Download JEDI log file

Downloads the JEDI log file, if required at a particular offset.

Request Body schema: application/json
required
log_name
required
string

log file name

offset
required
integer

offset in the file

Responses

Request samples

Content type
application/json
{
  • "log_name": "string",
  • "offset": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Upload a cache file

Uploads a file to the cache. When not touched, cache files are expired after some time. User caches will get registered in the PanDA database and will account towards user limits. PanDA log files will be stored in gzip format. Requires a secure connection.

Request Body schema: application/json
required
file
required
string

werkzeug.FileStorage object to be uploaded.

Responses

Request samples

Content type
application/json
{
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Touch file in the cache directory.

Touches a file in the cache directory. It avoids the file to expire and being deleted by server clean up processes. Requires a secure connection.

Request Body schema: application/json
required
file_name
required
string

file name to be deleted

Responses

Request samples

Content type
application/json
{
  • "file_name": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Delete cache file

Deletes a file from the cache directory. Currently a dummy method. Requires a secure connection.

Request Body schema: application/json
required
file_name
required
string

file name to be deleted

Responses

Request samples

Content type
application/json
{
  • "file_name": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Register cache file

Registers a file from the cache directory into the PanDA database, so that PanDA knows the server it's on. Requires a secure connection and production role.

Request Body schema: application/json
required
user_name
required
string

user that uploaded the file

file_name
required
string

file name

file_size
required
integer

file size

checksum
required
string

checksum

Responses

Request samples

Content type
application/json
{
  • "user_name": "string",
  • "file_name": "string",
  • "file_size": 0,
  • "checksum": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Validate cache file

Validates a cache file owned by the caller by checking the file metadata that was registered in the database. Requires a secure connection.

Request Body schema: application/json
required
file_size
required
integer

file size

checksum
required
string

checksum

Responses

Request samples

Content type
application/json
{
  • "file_size": 0,
  • "checksum": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Upload a HPO checkpoint file

Uploads a HPO checkpoint file to the server. Requires a secure connection.

Request Body schema: application/json
required
file
required
string

werkzeug.FileStorage object to be uploaded.

Responses

Request samples

Content type
application/json
{
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Delete a HPO checkpoint file.

Deletes a HPO checkpoint file from the server. Requires a secure connection.

Request Body schema: application/json
required
task_id
required
string

JEDI task ID

sub_id
required
string

sub ID.

Responses

Request samples

Content type
application/json
{
  • "task_id": "string",
  • "sub_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Upload file recovery request

Upload request to recover lost files. Requires a secure connection.

Request Body schema: application/json
required
task_id
required
integer

JEDI task ID.

dry_run
required
boolean

dry run flag.

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "dry_run": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Upload workflow request to the server.

Uploads a workflow request to the server. The request can be processed synchronously or asynchronously. Requires a secure connection.

Request Body schema: application/json
required
data
required
string

workflow request data

dry_run
required
boolean

requests the workflow to be executed synchronously in dry_run mode

sync
required
boolean

requests the workflow to be processed synchronously

Responses

Request samples

Content type
application/json
{
  • "data": "string",
  • "dry_run": true,
  • "sync": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Upload event picking request to the server.

Uploads an event picking request to the server. Requires a secure connection.

Request Body schema: application/json
required
run_event_list
required
string

run and event list.

data_type
required
string

data type.

stream_name
required
string

stream name.

dataset_name
required
string

dataset name.

ami_tag
required
string

AMI tag.

user_dataset_name
required
string

user dataset name.

locked_by
required
string

locking agent.

parameters
required
string

parameters.

input_file_list
required
string

input file list.

n_sites
required
string

number of sites.

user_task_name
required
string

user task name.

ei_api
required
string

event index API.

include_guids
required
boolean

flag to indicate if GUIDs are included with the run-event list

Responses

Request samples

Content type
application/json
{
  • "run_event_list": "string",
  • "data_type": "string",
  • "stream_name": "string",
  • "dataset_name": "string",
  • "ami_tag": "string",
  • "user_dataset_name": "string",
  • "locked_by": "string",
  • "parameters": "string",
  • "input_file_list": "string",
  • "n_sites": "string",
  • "user_task_name": "string",
  • "ei_api": "string",
  • "include_guids": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

harvester

Operations related to harvester

Update workers.

Update the details for a list of workers. Requires a secure connection.

Request Body schema: application/json
required
harvester_id
required
string

harvester id, e.g. harvester_central_A

workers
required
Array of objects

list of worker dictionaries that describe the fields of a pandaserver/taskbuffer/WorkerSpec object.

[{"workerID": 1, "batchID": 1, "queueName": "queue1", "status": "running",
"computingSite": "site1", "nCore": 1, "nodeID": None,
"submitTime": "02-NOV-24 00:02:18", "startTime": "02-NOV-24 00:02:18", "endTime": None,
"jobType": "managed", "resourceType": "SCORE", "nativeExitCode": None, "nativeStatus": None,
"diagMessage": None, "nJobs": 1, "computingElement": "ce1", "syncLevel": 0,
"submissionHost": "submissionhost1", "harvesterHost": "harvesterhost1",
"errorCode": None, "minRamCount": 2000},...]

Responses

Request samples

Content type
application/json
{
  • "harvester_id": "string",
  • "workers": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update harvester service metrics.

Update the service metrics for a harvester instance. Requires a secure connection.

Request Body schema: application/json
required
harvester_id
required
string

harvester id, e.g. harvester_central_A

metrics
required
Array of objects

list of triplets [[host, timestamp, metric_dict],[host, timestamp, metric_dict]...]. The metric dictionary is json encoded, as it is stored in the database like that.

harvester_host = "harvester_host.cern.ch"
creation_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
metric = {
    "rss_mib": 2737.36,
    "memory_pc": 39.19,
    "cpu_pc": 15.23,
    "volume_data_pc": 20.0,
    "cert_lifetime": {
        "/data/atlpan/proxy/x509up_u25606_prod": 81,
        "/data/atlpan/proxy/x509up_u25606_pilot": 81,
        "/cephfs/atlpan/harvester/proxy/x509up_u25606_prod": 96,
        "/cephfs/atlpan/harvester/proxy/x509up_u25606_pilot": 96,
    },
}

# DBProxy expects the metrics in json format and stores them directly in the database
metrics = [[creation_time, harvester_host, json.dumps(metric)]]

Responses

Request samples

Content type
application/json
{
  • "harvester_id": "string",
  • "metrics": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Add harvester dialog messages.

Add messages for a harvester instance. Requires a secure connection.

Request Body schema: application/json
required
harvester_id
required
string

harvester id, e.g. harvester_central_A

dialogs
required
Array of objects

list of dialog dictionaries, e.g.

dialogs = [{
    "diagID": 1,
    "moduleName": "test_module",
    "identifier": "test identifier",
    "creationTime": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"),
    "messageLevel": "INFO",
    "diagMessage": "test message",
    },...]

Responses

Request samples

Content type
application/json
{
  • "harvester_id": "string",
  • "dialogs": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Heartbeat for harvester.

Send a heartbeat for harvester and optionally update the instance data. User and host are retrieved from the request object and updated in the database. Requires a secure connection.

Request Body schema: application/json
required
harvester_id
required
string

harvester id, e.g. harvester_central_A

data
required
string

metadata dictionary to be updated in the PanDA database, e.g. data = {"startTime": <start time>, "sw_version": <release version>, "commit_stamp": <commit timestamp>}

Responses

Request samples

Content type
application/json
{
  • "harvester_id": "string",
  • "data": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get the current worker ID.

Retrieve the current worker ID. Requires a secure connection.

query Parameters
harvester_id
required
string

harvester id, e.g. harvester_central_A

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get worker statistics.

Get statistics for all the workers managed across the Grid. Requires a secure connection.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Report worker statistics.

Report statistics for the workers managed by a harvester instance at a PanDA queue. Requires a secure connection.

Request Body schema: application/json
required
harvester_id
required
string

harvester id, e.g. harvester_central_A

panda_queue
required
string

Name of the PanDA queue, e.g. CERN.

statistics
required
string

JSON string containing a dictionary with the statistics to be reported. It will be stored as a json in the database. E.g.

json.dumps({"user": {"SCORE": {"running": 1, "submitted": 1}}, "managed": {"MCORE": {"running": 1, "submitted": 1}}})

Responses

Request samples

Content type
application/json
{
  • "harvester_id": "string",
  • "panda_queue": "string",
  • "statistics": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get harvester commands.

Retrieves the commands for a specified harvester instance. Requires a secure connection and production role.

Request Body schema: application/json
required
harvester_id
required
string

harvester id, e.g. harvester_central_A

n_commands
required
integer

The number of commands to retrieve, e.g. 10.

timeout
integer

The timeout value. Defaults to 30.

Responses

Request samples

Content type
application/json
{
  • "harvester_id": "string",
  • "n_commands": 0,
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Acknowledge harvester commands.

Acknowledges the list of command IDs in the PanDA database. Requires a secure connection and production role.

Request Body schema: application/json
required
command_ids
required
Array of objects

A list of command IDs to acknowledge, e.g. [1, 2, 3, 4,...].

timeout
integer

The timeout value. Defaults to 30.

Responses

Request samples

Content type
application/json
{
  • "command_ids": [
    ],
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Add sweep command for harvester.

Send a command to harvester to kill the workers in a PanDA queue, with the possibility of specifying filters by status, CE or submission host. Requires a secure connection and production role.

Request Body schema: application/json
required
panda_queue
required
string

Name of the PanDA queue, e.g. CERN.

status_list
required
Array of objects

list of worker statuses to be considered, e.g. ['submitted', 'running']

ce_list
required
Array of objects

list of the Computing Elements to be considered, e.g. ['ce1.cern.ch', 'ce2.cern.ch']

submission_host_list
required
Array of objects

list of the harvester submission hosts to be considered, e.g. ['submission_host1.cern.ch', 'submission_host2.cern.ch']

Responses

Request samples

Content type
application/json
{
  • "panda_queue": "string",
  • "status_list": [
    ],
  • "ce_list": [
    ],
  • "submission_host_list": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Set target slots.

Set the target number of slots for a PanDA queue, when you want to build up job pressure. Requires secure connection and production role.

Request Body schema: application/json
required
panda_queue
required
string

Name of the PanDA queue, e.g. CERN.

slots
required
integer

Number of slots to set, e.g. 10000.

global_share
string

Global share the slots apply to. Optional - by default it applies to the whole queue. E.g. User Analysis

resource_type
string

Resource type the slots apply to. Optional - by default it applies to the whole queue. E.g. SCORE or MCORE.

expiration_date
string

The expiration date of the slots. Optional - by default it applies indefinitely.

Responses

Request samples

Content type
application/json
{
  • "panda_queue": "string",
  • "slots": 0,
  • "global_share": "string",
  • "resource_type": "string",
  • "expiration_date": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

idds

Operations related to idds

job

Operations related to job

Get status of a job.

Gets the status for a job and command to the pilot if any. Requires a secure connection.

query Parameters
job_ids
required
string

list of PanDA job IDs.

timeout
string

The timeout value. Defaults to 60.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get description of a job.

Gets the description of a job from the main/active schema. The description includes job attributes, job parameters and related file attributes. Requires a secure connection.

query Parameters
job_ids
required
string

List of PanDA job IDs.

timeout
string

The timeout value. Defaults to 60.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get description of a job.

Gets the description of a job, also looking into the secondary/archive schema. The description includes job attributes, job parameters and related file attributes. Requires a secure connection.

query Parameters
job_ids
required
string

List of PanDA job IDs.

timeout
string

The timeout value. Defaults to 60.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get execution script for a job.

Gets the execution script for a job, including Rucio download of input, ALRB setup, downloading transformation script and running the script. Requires a secure connection.

query Parameters
job_id
required
string

PanDA job ID

timeout
string

The timeout value. Defaults to 60.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get metadata for analysis jobs

Gets the metadata from the metatable for analysis jobs in finished status. Requires a secure connection.

query Parameters
task_id
required
string

JEDI task ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Kill the jobs

Kills the jobs with the given PanDA IDs. Requires a secure connection.

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Reassign a list of jobs

Reassigns a list of jobs. Requires a secure connection.

Request Body schema: application/json
required
job_ids
required
string

List of PanDA job IDs

Responses

Request samples

Content type
application/json
{
  • "job_ids": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Set a pilot command

Sets a command to the pilot for a job. Requires a secure connection and production role.

Request Body schema: application/json
required
job_id
required
integer

PanDA job ID

command
required
string

The command for the pilot, e.g. tobekilled

Responses

Request samples

Content type
application/json
{
  • "job_id": 0,
  • "command": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Set the debug mode

Sets the debug mode for a job. Requires a secure connection and production role.

Request Body schema: application/json
required
job_id
required
integer

PanDA job ID

mode
required
boolean

True to set debug mode, False to unset debug mode

Responses

Request samples

Content type
application/json
{
  • "job_id": 0,
  • "mode": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Set the debug mode

Sets the debug mode for a job. Requires a secure connection.

Request Body schema: application/json
required
jobs
required
string

JSON string with a list of job specs

Responses

Request samples

Content type
application/json
{
  • "jobs": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

metaconfig

Operations related to metaconfig

Get banned users

Gets the list of banned users from the system (users with status=disabled in ATLAS_PANDAMETA.users). Requires a secure connection.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get site specs

Gets a dictionary of site specs. By default analysis sites are returned. Requires a secure connection.

query Parameters
type
required
string

type of site as defined in CRIC (currently unified, production, analysis, all)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get resource types

Gets the resource types (SCORE, MCORE, etc.) together with their definitions. Requires a secure connection and production role.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

pilot

Operations related to pilot

Acquire jobs

Acquire jobs for the pilot. The jobs are reserved, the job status is updated and the jobs are returned. Requires a secure connection.

Request Body schema: application/json
required
site_name
required
string

The PanDA queue name

timeout
integer

Request timeout in seconds. Optional and defaults to 60.

memory
integer

Memory limit for the job. Optional and defaults to None.

disk_space
integer

Disk space limit for the job. Optional and defaults to None.

prod_source_label
string

Prodsourcelabel, e.g. user, managed, unified... Optional and defaults to None.

node
string

Identifier of the worker node/slot. Optional and defaults to None.

computing_element
string

Computing element. Optional and defaults to None.

prod_user_id
string

User ID of the job. Optional and defaults to None.

get_proxy_key
boolean

Flag to request a proxy key.Optional and defaults to None.

task_id
integer

JEDI task ID of the job. Optional and defaults to None.

n_jobs
integer

Number of jobs for bulk requests. Optional and defaults to None.

background
boolean

Background flag. Optional and defaults to None.

resource_type
string

Resource type of the job, e.g. SCORE, MCORE,.... Optional and defaults to None.

harvester_id
string

Harvester ID, used to update the worker entry in the DB. Optional and defaults to None.

worker_id
integer

Worker ID, used to update the worker entry in the DB. Optional and defaults to None.

scheduler_id
string

Scheduler, e.g. harvester ID. Optional and defaults to None.

job_type
string

Job type, e.g. user, unified, ... This is necessary on top of the prodsourcelabel to disambiguate the cases of test jobs that can be production or analysis. Optional and defaults to None.

via_topic
boolean

Topic for message broker. Optional and defaults to None.

remaining_time
integer

Remaining walltime. Optional and defaults to None.

Responses

Request samples

Content type
application/json
{
  • "site_name": "string",
  • "timeout": 0,
  • "memory": 0,
  • "disk_space": 0,
  • "prod_source_label": "string",
  • "node": "string",
  • "computing_element": "string",
  • "prod_user_id": "string",
  • "get_proxy_key": true,
  • "task_id": 0,
  • "n_jobs": 0,
  • "background": true,
  • "resource_type": "string",
  • "harvester_id": "string",
  • "worker_id": 0,
  • "scheduler_id": "string",
  • "job_type": "string",
  • "via_topic": true,
  • "remaining_time": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get job status

Gets the status for a list of jobs. Requires a secure connection.

Request Body schema: application/json
required
job_ids
required
Array of integers

list of job IDs.

timeout
integer

The timeout value. Defaults to 60.

Responses

Request samples

Content type
application/json
{
  • "job_ids": [
    ],
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update job

Updates the details for a job, stores the metadata and excerpts from the pilot log. Requires a secure connection and production role.

Request Body schema: application/json
required
job_id
required
integer

PanDA job ID

job_status
string

Job status

job_sub_status
string

Job sub status. Optional, defaults to None

start_time
string

Job start time in format "%Y-%m-%d %H:%M:%S". Optional, defaults to None

end_time
string

Job end time in format "%Y-%m-%d %H:%M:%S". Optional, defaults to None

pilot_timing
string

String with pilot timings. Optional, defaults to None

site_name
string

PanDA queue name. Optional, defaults to None

node
string

Identifier for worker node/slot. Optional, defaults to None

scheduler_id
string

Scheduler ID, such as harvester instance. Optional, defaults to None

pilot_id
string

Pilot ID. Optional, defaults to None

batch_id
string

Batch ID. Optional, defaults to None

trans_exit_code
string

Transformation exit code. Optional, defaults to None

pilot_error_code
string

Pilot error code. Optional, defaults to None

pilot_error_diag
string

Pilot error message. Optional, defaults to None

exe_error_code
integer

Execution error code. Optional, defaults to None

exe_error_diag
string

Execution error message. Optional, defaults to None

n_events
integer

Number of events. Optional, defaults to None

n_input_files
integer

Number of input files. Optional, defaults to None

attempt_nr
integer

Job attempt number. Optional, defaults to None

cpu_consumption_time
integer

CPU consumption time. Optional, defaults to None

cpu_consumption_unit
string

CPU consumption unit, being used for updating some CPU details. Optional, defaults to None

cpu_conversion_factor
number

CPU conversion factor. Optional defaults to None

core_count
integer

Number of cores of the job. Optional, defaults to None

mean_core_count
integer

Mean core count. Optional, defaults to None

max_rss
integer

Measured max RSS memory. Optional, defaults to None

max_vmem
integer

Measured max Virtual memory. Optional, defaults to None

max_swap
integer

Measured max swap memory. Optional, defaults to None

max_pss
integer

Measured max PSS memory. Optional, defaults to None

avg_rss
integer

Measured average RSS. Optional, defaults to None

avg_vmem
integer

Measured average Virtual memory.Optional, defaults to None

avg_swap
integer

Measured average swap memory. Optional, defaults to None

avg_pss
integer

Measured average PSS. Optional, defaults to None

tot_rchar
integer

Measured total read characters. Optional, defaults to None

tot_wchar
integer

Measured total written characters. Optional, defaults to None

tot_rbytes
integer

Measured total read bytes. Optional, defaults to None

tot_wbytes
integer

Measured total written bytes. Optional, defaults to None

rate_rchar
integer

Measured rate for read characters. Optional, defaults to None

rate_wchar
integer

Measured rate for written characters. Optional, defaults to None

rate_rbytes
integer

Measured rate for read bytes. Optional, defaults to None

rate_wbytes
integer

Measured rate for written bytes. Optional, defaults to None

corrupted_files
string

List of corrupted files in comma separated format. Optional, defaults to None

cpu_architecture_level
integer

CPU architecture level (e.g. x86_64-v3). Optional, defaults to None

job_metrics
string

Job metrics. Optional, defaults to None

job_output_report
string

Job output report. Optional, defaults to ""

pilot_log
string

Pilot log excerpt. Optional, defaults to ""

meta_data
string

Job metadata. Optional, defaults to ""

stdout
string

Standard output. Optional, defaults to ""

timeout
integer

Timeout for the operation in seconds. Optional, defaults to 60

Responses

Request samples

Content type
application/json
{
  • "job_id": 0,
  • "job_status": "string",
  • "job_sub_status": "string",
  • "start_time": "string",
  • "end_time": "string",
  • "pilot_timing": "string",
  • "site_name": "string",
  • "node": "string",
  • "scheduler_id": "string",
  • "pilot_id": "string",
  • "batch_id": "string",
  • "trans_exit_code": "string",
  • "pilot_error_code": "string",
  • "pilot_error_diag": "string",
  • "exe_error_code": 0,
  • "exe_error_diag": "string",
  • "n_events": 0,
  • "n_input_files": 0,
  • "attempt_nr": 0,
  • "cpu_consumption_time": 0,
  • "cpu_consumption_unit": "string",
  • "cpu_conversion_factor": 0,
  • "core_count": 0,
  • "mean_core_count": 0,
  • "max_rss": 0,
  • "max_vmem": 0,
  • "max_swap": 0,
  • "max_pss": 0,
  • "avg_rss": 0,
  • "avg_vmem": 0,
  • "avg_swap": 0,
  • "avg_pss": 0,
  • "tot_rchar": 0,
  • "tot_wchar": 0,
  • "tot_rbytes": 0,
  • "tot_wbytes": 0,
  • "rate_rchar": 0,
  • "rate_wchar": 0,
  • "rate_rbytes": 0,
  • "rate_wbytes": 0,
  • "corrupted_files": "string",
  • "cpu_architecture_level": 0,
  • "job_metrics": "string",
  • "job_output_report": "string",
  • "pilot_log": "string",
  • "meta_data": "string",
  • "stdout": "string",
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update jobs in bulk

Bulk method to update the details for jobs, store the metadata and excerpt from the pilot log. Internally, this method loops over the jobs and calls update_job for each job. Requires a secure connection and production role.

Request Body schema: application/json
required
job_list
required
Array of objects

list of job dictionaries to update. The mandatory and optional keys for each job dictionary is the same as the arguments for update_job.

Responses

Request samples

Content type
application/json
{
  • "job_list": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update worker status

Updates the status of a worker with the information seen by the pilot. Requires a secure connection and production role.

Request Body schema: application/json
required
worker_id
required
string

The worker ID.

harvester_id
required
string

The harvester ID.

status
required
string

The status of the worker. Must be either 'started' or 'finished'.

timeout
integer

The timeout value. Defaults to 60.

node_id
string

The node ID. Defaults to None.

Responses

Request samples

Content type
application/json
{
  • "worker_id": "string",
  • "harvester_id": "string",
  • "status": "string",
  • "timeout": 0,
  • "node_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Update worker node

Updates a worker node in the worker node map. When already found, it updates the last_seen time. When not found, it adds the worker node. Requires a secure connection and production role.

Request Body schema: application/json
required
site
required
string

Site name (e.g. ATLAS site name, not PanDA queue).

host_name
required
string

Host name. In the case of reporting in format slot@worker_node.example.com, the slot ID will be parsed out.

cpu_model
required
string

CPU model, e.g. AMD EPYC 7351.

n_logical_cpus
integer

Number of logical CPUs: n_sockets * cores_per_socket * threads_per_core. When SMT is enabled, this is the number of threads. Otherwise it is the number of cores. Optional, defaults to None.

n_sockets
integer

Number of sockets. Optional, defaults to None.

cores_per_socket
integer

Number of cores per socket. Optional, defaults to None.

threads_per_core
integer

Number of threads per core. When SMT is disabled, this is 1. Otherwise a number > 1. Optional, defaults to None.

cpu_architecture
string

CPU architecture, e.g. x86_64. Optional, defaults to None.

cpu_architecture_level
string

CPU architecture level, e.g. x86-64-v3. Optional, defaults to None.

clock_speed
number

Clock speed in MHz. Optional, defaults to None.

total_memory
integer

Total memory in MB. Optional, defaults to None.

total_local_disk
integer

Total disk space in GB. Optional, defaults to None.

timeout
integer

The timeout value. Defaults to 60.

Responses

Request samples

Content type
application/json
{
  • "site": "string",
  • "host_name": "string",
  • "cpu_model": "string",
  • "n_logical_cpus": 0,
  • "n_sockets": 0,
  • "cores_per_socket": 0,
  • "threads_per_core": 0,
  • "cpu_architecture": "string",
  • "cpu_architecture_level": "string",
  • "clock_speed": 0,
  • "total_memory": 0,
  • "total_local_disk": 0,
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

statistics

Operations related to statistics

Job statistics by cloud.

Get the job statistics by cloud, which includes the active jobs and jobs in final states modified in the last 12 hours. You have to filter the statistics by type, which can be either "production" or "analysis". Used by panglia monitoring. Requires a secure connection.

query Parameters
type
required
string

can be "analysis" or "production". Defaults to "production" when not provided.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Production job statistics by cloud and processing type.

Get the production job statistics by cloud and processing type, which includes the active jobs and jobs in final states modified in the last 12 hours. Used by panglia monitoring. Requires a secure connection.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Active job statistics by site

Get the active (not in a final state) job statistics by site. Used by Harvester. Requires a secure connection.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Job statistics by site and resource type

Get the job statistics by computing site (PanDA queue) and resource type (SCORE, MCORE, ...). This includes the active jobs and jobs in final states modified in the specified time window (default of 12 hours). Requires a secure connection.

query Parameters
time_window
required
string

time window in minutes for the statistics (affects only archived jobs)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Job statistics by site, global share and resource type

Get the job statistics by computing site (PanDA queue), global share and resource type (SCORE, MCORE, ...). This includes the active jobs and jobs in final states modified in the specified time window (default of 12 hours). Requires a secure connection.

query Parameters
time_window
required
string

time window in minutes for the statistics (affects only archived jobs)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

system

Operations related to system

Get attributes

Gets all parameters and environment variables.

query Parameters
**kwargs
required
string

arbitrary keyword parameters that will be printed out

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get VOMS attributes

Gets the VOMS attributes (i.e. the ones starting with GRST) in sorted order. Requires a secure connection.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get user attributes

Gets user attributes as seen by PanDA for debug purposes. Requires a secure connection.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get the HTTPS endpoint

Gets the server name (not the load balanced service name!) and port for HTTPS.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get the HTTP endpoint

Gets the server name (not the load balanced service name!) and port for HTTP.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Is alive

Check if the server is alive. Basic function for the health check used in SLS monitoring.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

task

Operations related to task

Task retry

Retry a given task e.g. in exhausted state. Requires a secure connection without a production role to retry own tasks and with a production role to retry others' tasks.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

new_parameters
string

a json dictionary with the new parameters for rerunning the task. The new parameters are merged with the existing ones. The parameters are the attributes in the JediTaskSpec object (https://github.com/PanDAWMS/panda-jedi/blob/master/pandajedi/jedicore/JediTaskSpec.py).

no_child_retry
boolean

if True, the child tasks are not retried

discard_events
boolean

if True, events will be discarded

disable_staging_mode
boolean

if True, the task skips staging state and directly goes to subsequent state

keep_gshare_priority
boolean

if True, the task keeps current gshare and priority

ignore_hard_exhausted
boolean

if True, the task ignores the limits for hard exhausted state and can be retried even if it is very faulty

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "new_parameters": "string",
  • "no_child_retry": true,
  • "discard_events": true,
  • "disable_staging_mode": true,
  • "keep_gshare_priority": true,
  • "ignore_hard_exhausted": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task resume

Resume a given task. This transitions a paused or throttled task back to its previous active state. Resume can also be used to kick a task in staging state to the next state. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

Responses

Request samples

Content type
application/json
{
  • "task_id": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task release

Release a given task. This triggers the avalanche for tasks in scouting state or dynamically reconfigures the task to skip over the scouting state. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

Responses

Request samples

Content type
application/json
{
  • "task_id": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task reassign

Reassign a given task to a site, nucleus or cloud - depending on the parameters. Requires a secure connection.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

site
string

site name

cloud
string

cloud name

nucleus
string

nucleus name

soft
boolean

soft reassign

mode
string

soft/nokill reassign

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "site": "string",
  • "cloud": "string",
  • "nucleus": "string",
  • "soft": true,
  • "mode": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task pause

Pause a given task. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

Responses

Request samples

Content type
application/json
{
  • "task_id": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task kill

Kill a given task. Requires a secure connection.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

broadcast
boolean

broadcast kill command to pilots to kill the jobs

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "broadcast": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Kill all unfinished jobs in a task

Kills all unfinished jobs in a task. Requires a secure connection.

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task finish

Finish a given task. Requires a secure connection.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

soft
boolean

soft finish

broadcast
boolean

broadcast finish command to pilots

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "soft": true,
  • "broadcast": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Reactivate task

Reactivate a given task, i.e. recycle a finished/done task. A reactivated task will generate new jobs and then go to done/finished. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

keep_attempt_nr
boolean

keep the original attempt number

trigger_job_generation
boolean

trigger the job generation

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "keep_attempt_nr": true,
  • "trigger_job_generation": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Task avalanche

Avalanche a given task. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

Responses

Request samples

Content type
application/json
{
  • "task_id": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Reload input

Request to reload the input for a given task. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

ignore_hard_exhausted
boolean

ignore the limits for hard exhausted

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "ignore_hard_exhausted": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Enable Jumbo jobs

Enables the Jumbo jobs for a given task ID. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI task ID

jumbo_jobs_total
required
integer

Total number of jumbo jobs

jumbo_jobs_per_site
required
integer

Number of jumbo jobs per site. Defaults to jumbo_jobs_total.

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "jumbo_jobs_total": 0,
  • "jumbo_jobs_per_site": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get jumbo job datasets

Gets a map of the jumbo-job-enabled tasks to their datasets, filtering by the last modification time (now - from_offset to now - to_offset). Requires a secure connection.

query Parameters
from_offset
required
string

now - from_offset in days will serve as the floor for modification time (Previously called n_days)

to_offset
string

now - to_offset in days will serve as the ceiling for modification time. Defaults to 0. (Previously called grace_period)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Enable job cloning

Enable job cloning for a given task. Requires secure connection and production role.

Request Body schema: application/json
required
jedi_task_id
required
integer

JEDI Task ID

mode
string

mode of operation, runonce or storeonce

multiplicity
integer

number of clones to be created for each target

num_sites
integer

number of sites to be used for each target

Responses

Request samples

Content type
application/json
{
  • "jedi_task_id": 0,
  • "mode": "string",
  • "multiplicity": 0,
  • "num_sites": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Disable job cloning

Disable job cloning for a given task. Requires secure connection and production role.

Request Body schema: application/json
required
jedi_task_id
required
integer

JEDI Task ID

Responses

Request samples

Content type
application/json
{
  • "jedi_task_id": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Increase possible task attempts

Increase possible task attempts. Requires secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI Task ID

increase
required
integer

number of attempts to increase

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "increase": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get task status

Get the status of a given task. Requires secure connection.

query Parameters
task_id
required
string

JEDI Task ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get task details

Get the details of a given task. Requires secure connection.

query Parameters
task_id
required
string

JEDI Task ID

include_parameters
string

flag to include task parameter information (Previously fullFlag)

include_status
string

flag to include status information (Previously withTaskInfo)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Change a task attribute

Change a task attribute within the list of valid attributes ("ramCount", "wallTime", "cpuTime", "coreCount"). Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI task ID

attribute_name
required
string

attribute to change

value
required
integer

value to set to the attribute

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "attribute_name": "string",
  • "value": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Change task modification time

Change the modification time for a task to now() + positive_hour_offset. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI task ID

positive_hour_offset
required
integer

number of hours to add to the current time

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "positive_hour_offset": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Change priority

Change the priority of a given task. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI task ID

priority
required
integer

new priority for the task

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "priority": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Change the split rule

Change the split rule for a task. Requires a secure connection and production role.

Request Body schema: application/json
required
task_id
required
integer

JEDI task ID

attribute_name
required
string

split rule attribute to change

value
required
integer

value to set to the attribute

Responses

Request samples

Content type
application/json
{
  • "task_id": 0,
  • "attribute_name": "string",
  • "value": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get tasks modified since

Get the tasks with modificationtime > since. Requires a secure connection.

query Parameters
since
required
string

time in the format %Y-%m-%d %H:%M:%S, e.g. 2024-12-18 14:30:45. The tasks with modificationtime > since will be returned

dn
string

user DN

full
string

flag to include full task information. If full=False the basic fields are jediTaskID, modificationTime, status, processingType, transUses, transHome, architecture, reqID, creationDate, site, cloud, taskName

min_task_id
string

minimum task ID

prod_source_label
string

task type (e.g. user, managed, test, etc.)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get datasets and files

Get the files in the datasets associated to a given task. You can filter passing a list of dataset types. The return format is:

[
    {
        "dataset": {
            "name": dataset_name,
            "id": dataset_id
        },
        "files": [
            {
                "lfn": lfn,
                "scope": file_scope,
                "id": file_id,
                "status": status
            },
            ...
        ]
    },
    ...
]

Requires a secure connection.

query Parameters
task_id
required
string

JEDI task ID

dataset_types
string

list of dataset types, defaults to ["input", "pseudo_input"]

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get job IDs

Get a list with the job IDs [job_id, ...] (in any status) associated to a given task. Requires a secure connection.

query Parameters
task_id
required
string

JEDI task ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Register task

Insert the task parameters to register a task. Requires a secure connection.

Request Body schema: application/json
required
task_parameters
required
string

Dictionary with all the required task parameters. The parameters are the attributes in the JediTaskSpec object (https://github.com/PanDAWMS/panda-jedi/blob/master/pandajedi/jedicore/JediTaskSpec.py).

parent_tid
integer

Parent task ID

Responses

Request samples

Content type
application/json
{
  • "task_parameters": "string",
  • "parent_tid": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}

Get task parameters

Get a dictionary with the task parameters used to create a task.

query Parameters
task_id
required
string

JEDI task ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": { }
}