POSTing the filename and size to /samples/init_upload. To actually perform the upload it is then necessary to transmit the file to the provided upload_url, with any additional_fields as needed. This second step varies depending on the upload_type. Currently only a standard upload type is available.
Performing the acutal upload – “standard” upload type
The standard upload involves POSTing a sample up to 20GB in size to a provided HTTPS URL. TheContent-Type should be multipart/form-data and the additional_fields should be included in the POST body.
The workflow using httpie or Python requests is:
Body
The filename of the sample to be uploaded. FASTA and FASTQ records, optionally gzipped (and ending in .gz or .gzip) are supported. Filenames should only contain alphanumeric characters, dashes, underscores, and periods.
An optional external sample ID (see the Metadata resource) to match against pre-uploaded samples. Returns a 400 if no matching sample is found.
Whether the file is interleaved (true) or not (false).
A metadata object.
Optional filename for paired end uploads.
An optional project into which to upload the sample.
An optional sample ID to match against pre-uploaded samples. Returns a 400 if no matching sample is found.
The size of the file in bytes.
x >= 1The type of upload to initiate. Currently only standard uploads are supported via the init_upload route.
standard Response
Successful operation
Additional fields to include in the object storage POST request.
Fallback options for the upload. Please contact support for help as needed.
Additional fields to include in the object storage POST request for the paired end file (optional).
Object storage location to POST the paired end file to (optional).
The sample ID. Use to confirm the upload.
Object storage location to POST the file to.

