= Web services for remote job submission = This document describes remote interfaces for remotely submitting jobs and batches of jobs to a BOINC server. The APIs are accessed by sending a POST request, using HTTPS, to PROJECT_URL/job_control.php The inputs and outputs of each API are XML documents. If an operation fails, the output is of the form {{{ X }}} where X is an error message. All operations include the authenticator of the user making the request. This user must be marked as a "job submitter" in the BOINC database. == Describing a batch == A single job is described by {{{ [C] [URL or path] ... other input files }}} C and F are macro-substituted for sweep variables: see below. Each input file is specified by either a URL accessible to the server, or by a path on the server. A parameter sweep is described by {{{ [...] or [...] }}} In the body of the sweep, the string "foo" is macro-substituted with values from x to y with increment z. Sweeps may be nested. A batch of jobs is described by: {{{ appname [x] [x] [...] or [...] }}} The names of the input and output template files may be specified; otherwise the defaults '''appname_in''' and '''appname_out''' are used. == Batch runtime estimation == Estimates the completion time of a batch. Input: {{{ X ... [N] }}} '''Priority''', if specified, is relative to other batches submitted by this user. Output: {{{ X }}} == Submitting a batch == Input: {{{ X ... [N] }}} Output: {{{ N }}} == Querying jobs == The jobs in a batch are numbered starting from 0. The name of a job is '''batch_ID_N''' where ID is the batch ID and N is the number of the job. Input: {{{ X X }}} Output: {{{ or or N M X X ... other instances }}} == Querying batches == Input: {{{ X N }}} Output: {{{ X N X }}} == Aborting jobs == Input: {{{ X N }}} Output: {{{ }}} == Implementation notes ==