This document provides information about new features and bug fixes with the BaseSpace API.
POST: applications/{id}/appsessions
endpoint to allow launching of Native Apps using the BaseSpace Rest API. More information is available in the API Reference TotalClustersRaw
, TotalClustersPF
, TotalReadsRaw
, and TotalReadsPF
fields to the Samples API. NumReadsRaw
and NumReadsPF
will continue to remain available with the same values as before this change. However, all applications going forward should use the new fields.NumReadsRaw
and NumReadsPF
will remain available in API responses and in the native app engine. Note that these old fields should be considered synonymous with TotalClustersRaw
and TotalClustersPF
.NumReadsRaw
and NumReadsPF
have not changed in any way. However, we have automatically populated the new fields which didn't exist before. For single end samples, expect the TotalReads
values to be the same as the TotalClusters
values. For paired end samples, expect the TotalReads
values to be twice the values of TotalClusters
. (* *Please note that paired-end samples uploaded using the BaseSpace Sample Import tool between August 17 and December have been automatically corrected to display accurate cluster and read values and will now report NumReadsPF
and NumReadsRaw
at half their previous values.)NumReadsRaw
or NumReadsPF
. But any future apps you create should use the new fields, TotalClustersRaw
/TotalClustersPF
and TotalReadsRaw
/TotalReadsPF
.AwaitingAuthorization
. AppSessions are now put into the AwaitingAuthorization
state when they are created. Once a user clicks Accept on the OAuth dialog, the Status of the AppSession is changed to Running
. Please refer to the API Reference for more information.TransferPending
to the Projects response. TransferPending
is a boolean value which determines whether the Project is being transferred. If true
, the Project has been transferred to another user and is awaiting acceptance from that user. Once the user accpets the Project transfer, they will become the new Owner of the Project. If false
, the Project is not being transferred.TimedOut
. AppSessions are automatically changed to this status after being in the Running
state for more than 72 hours. The Status can be changed from TimedOut
. Please refer to the API Reference for more information.Two new API methods were added to the REST API. More information about these methods can be found in the API Reference.
Added the GET: users/current/appsessions
API. This method returns a list of the user's AppSessions for a particular access_token
or app.
Added the GET: appsessions/{id}/appresults
API. This method returns a list of AppResults that belong to or are referenced by an AppSession.
Billing API added to BaseSpace. Please refer to the Billing API Summary to get started with creating Products for your application.
The POST: projects
method will now require a new scope parameter. Instead of the previous write global
scope, it now needs create projects
. This new scope serves the same function as write global
and is described in more detail in the API Reference. For apps already using write global
, this is still backwards compatible.
New create
permissions have been added. The new scopes are create
, create global
, and create projects
. Please refer to Using Scope for more information about the new scopes that have been added. Also, additional information about these new scopes can be found in the Writing Back to BaseSpace Guide.
api.basespace.illumina.com
. The documentation has been changed appropriately.Added new field called OriginalScope
in the Files resource Response. This field is for sample merging. When samples are merged, paired end reads are matched and merged. This field now gives unique identifiers to show the grouping of files from a merged sample. This field is described in detail in the API Reference.
Projects can now be created using the API! A new API method to create projects was added, this method is POST: projects
. It requires WRITE GLOBAL
access to the user data and an input parameter of Name
. This scope does not inherently give BROWSE or READ access to the user's data. More information and an example can be found in the API Reference.
Added references between AppResults and Samples. This allows you to determine which Sample was used for building an appresult as well as seeing for each Sample for what it was used. AppResults may contain a reference with rel: "using"
and type: "sample"
to describe that it used the sample pointed to by HrefContent as input. Likewise, Samples contain references with rel: "usedby"
and type: "appresult"
to describe that a sample was used as input for an appresult.
Please refer to the Samples and AppResults in the API Reference for more info.
When using POST: projects/id/appresults, this call now takes reference links via JSON as a data parameter.
Introduced a formatting change to Dates in the API. We're simply removing the \/Date(...)\/ wrapper that exists in the current format.
Old Format:
{ "DateCreated":"\/Date(2012-09-19T03:26:12.0000000)\/" }
New Format:
{ "DateCreated":"2012-09-19T03:26:12.0000000"}
This change applies too all Dates fields in the API. We’ll have updated Python and Java SDKs released for this at the same time or before the deployment. These are updated everywhere in the documentation.
The Samples Response has a few new parameters. They are IsPairedEnd
, Read1
, Read2
, NumReadsRaw
, and NumReadsPF
. These values are described in more detail in the Samples portion of the API Reference.
Minor change to GET:appsessions/{id}
references to simplify the JSON output of user-selected data for AppTriggering
Href
renamed to HrefContent
(Href is not yet removed but will be)Content
containing the compact representation of the resource that was selected by the user.Please refer to the AppSessions portion of the API Reference for more information
These are the breaking changes we've announced last Friday along with the new version number. Refer to this release announcement for more info.
v1pre3
. v1pre2
is no longer working.HrefAnalyses
in GET: projects/{id} to HrefAppResults
appactionuri
for app triggering. use appsessionuri
instead.More information in the Projects, AppResults, and Files portions of the API Reference.
Release announcement
GET: appsession/{id}
POST: project/{id}/analyses
takes appsessionid
as input. If not provided, an appsession is created.POST: analysis/{id}
should no longer be used for setting the status
and statussummary
on an uploaded analysis. This may be done via POST: appsessions/{id} instead
. For now POST:analysis/{id}
continues to work but it will be removed in Tuesday Sept 4th.POST: appsessions/{id} added
. Allows status and statussummary changes. Requires WRITE
access to one or more analyses associated with the appsession. appsessionuri
to the app triggering URI used to transfer control to your web based app. This is a replacement for appactionuri
which is still there but will be removed Tuesday Sept 4th.appsessionuri
points to GET: appessions/{id}
which has a slightly different format than GET: appactions/{id}
that you've used in the past. Appactions is being deprecated.GET: projects/{id}/samples?statuses={status list}
Added filtering of samples in a project by statuses More information on this in the API Reference, the app triggering guide, and the analysis upload guide. Please post to the group if you find issues with the API or documentation.
This is scheduled to be released August 24th before 8AM PST.
status
field in GET: analyses/{id}
and GET: projects/{id}/analyses
has been updated from Working
, Blocked
, and Completed
to Running
, NeedsAttention
, and Complete
respectively. The Aborted
status is unchanged. Refer to the API Reference The project and run resources now include an href to the BaseSpace UI so you know where to direct the user in the UI for a given project or run. The field is named HrefBaseSpaceUI
and is available in GET: projects/{id}
and GET: runs/{id}
. Support for this is also coming for Samples and Analyses.
GET: projects/{id}/analyses
has a new query parameter statuses
allowing filtering of analyses by a given status. Multiple statuses may be provided separated by commas. This is described in more detail in the API reference page.GET: users/current/runs
also has a new query parameter statuses
which works the same way. The fields are described here