Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Most workflow/job related requests are sent via AMP UI (or REST endpoints), upon which AMP generates corresponding REST request to Galaxy endpoints and return the response (sometimes filtered or normalized) to AMP UI. Unless specially noted, below requests are all sent to AMP server, but workflow/job related IDs such as workflowId etc refer to those existing in Galaxy.


  • List all workflows currently existing in Galaxy: GET   /rest/workflows
  • Show details of a particular workflow based on information retrieved from Galaxy: GET    /rest /workflows/{workflowId}


  • Create an AMP job (i.e. submit a Galaxy workflow against an AMP primaryfile):
    • POST /jobs?workflowId={workflowId}&primaryfileId={primaryfileId}&parameters={parameters}
    • Note: 

      • parameters refers to the parameters for each Galaxy workflow step,

      • It's a map in the following format { stepId: { paramName: paramValue } }

      • stepId is the ID returned in workflow details inputs field.
      • paramName and paramValue are defined as part of the configuration of the tool used in that step (refer to the param name and value fields in the tool xml config file). Their values shall also be available in workflow details.
    • Examples
      • Execute workflow #0a248a1f62a0cc04 on primaryfile #4 with empty parameters (i.e. (using the default): POST https://localhost:8200/jobs?workflowId=0a248a1f62a0cc04&primaryfileId=4&parameters={}
      • Execute same workflow on same primaryfile as above but setting Sample Size of the first step (in this case, this step uses the Audio Extraction tool) to 24 Bits per Sample: same request as above but with parameters={ "0": {"samplesize": "pcm_s24le"} }
  • Create a bundle of AMP jobs (i.e. submit a Galaxy workflow against an AMP bundle): this creates multiple AMP jobs, one for each of the primary files included in the items of the bundle
    • POST /jobs/bundle?workflowId={workflowId}&bundleId={bundleId}&parameters={parameters}
    • workflowId and parameters refer to the same concepts as submitting a workflow against a primary file, while bundleId refers to the ID of the bundle.
  • List all AMP jobs (corresponding to Galaxy workflow invocations) that have been run with a particular workflow on a particular primaryfile:
    • GET /jobs?workflowId={workflowId}&primaryfileId={primaryfileId}
    • Note: workflowId is the same Galaxy workflow ID used to submit an AMP job
    • Example: /jobs?workflowId=0a248a1f62a0cc04&primaryfileId=35
  • Show brief information of the inquired AMP job, which includes basic information of each step within the job: 
    • GET /jobs/invocationId?workflowId=0a248a1f62a0cc04
    • Note: invocationId is the ID of the invocation, which is returned when request to list jobs
    • Example: /jobs/33c1d4ca9f8bc33c?workflowId=0a248a1f62a0cc04
  • Show detailed information of the inquired step within the inquired AMP job:
    • GET /jobs/{invocationId}/steps/{stepId}
    • Note: stepId is the ID of the step within an invocation; it's returned when request to show an AMP job.
    • Example: /jobs/33c1d4ca9f8bc33c/steps/747a3db1339e88fd?workflowId=0a248a1f62a0cc04
  • Show detailed information of the inquired AMP job step output:


  • Retrieve the output bag for a primaryfile by ID:
    • GET   /rest /bags/primaryfile/{primaryfileId}
    • Example:  /rest/bags/primaryfile/35
  • Retrieve the output bag for an item by ID:
    • GET    /rest/bags/item/{itemId}
    • Example:   /rest/bags/item/6
  • Retrieve the output bag for an item by external source and ID:
    • GET  /rest/bags/item?externalSource={externalSource}&externalId={externalId}
    • Example:  /rest/bags/item?externalSource=src1&externalId=id1
  • Retrieve the output bag for a collection by ID:
    • GET  /rest/bags/collection/{collectionId}
    • Example: /rest /bags/collection/2
  • Retrieve the output bag for a collection by  its unit name and  its name:
    • GET  /rest/bags/collection?unitName={unitName}&collectionName={collectionName}
    • Example:  /rest/bags/collection?unitName=Unit1&collectionName=Collection2

Note: If the above specified primaryfile/item/collection doesn't exist or is not unique (searched by the request parameter provided), an error message will be returned with a 500 status.

  • No labels