Illumina BaseSpace
Illumina BaseSpace Sequence Hub is a cloud-based genomics platform that provides secure storage, analysis, and sharing of next-generation sequencing (NGS) data. Integrated directly with Illumina sequencing instruments, BaseSpace Sequence Hub enables research teams and clinical laboratories to manage sequencing runs, launch bioinformatics analysis applications, and collaborate on genomic data—all without requiring a command-line interface or specialized infrastructure. The platform supports a wide range of NGS workflows including RNA-Seq, whole-genome sequencing, exome analysis, amplicon sequencing, de novo assembly, and 16S metagenomics, making it a central hub for genomic data management and analysis at scale.

Power end-to-end data operations for your Illumina BaseSpace API with Nexla. Our bi-directional Illumina BaseSpace connector is purpose-built for Illumina BaseSpace, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Illumina BaseSpace or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Illumina BaseSpace workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
To connect Nexla to Illumina BaseSpace Sequence Hub, you will need a BaseSpace access token. The BaseSpace API uses OAuth 2.0 for authentication, and all API requests must include a valid access token that grants Nexla the appropriate level of access to your BaseSpace data.
Access tokens in BaseSpace are scoped to specific permissions and do not expire automatically, making them suitable for long-running integrations. You obtain an access token by registering a developer application in the BaseSpace Developer Portal and completing the OAuth 2.0 authorization flow.
Register as a BaseSpace Developer and Create an Application
Before obtaining an access token, you must register as a developer on the BaseSpace Developer Portal and create an application to receive your OAuth credentials (client_id and client_secret).
-
Navigate to the BaseSpace Developer Portal at
developer.basespace.illumina.com/dashboardand sign in using your Illumina BaseSpace account credentials. -
Click My Apps in the top navigation toolbar to open the application management area.
-
Click the Create New Application button to begin creating a new application.
-
Fill in the application details form:
-
Application Name: Enter a descriptive name for the integration (for example, "Nexla Integration").
-
Application Type: Select the appropriate application type. For server-to-server integrations, select Native or the application type that corresponds to your use case.
-
Description: Optionally provide a description explaining the purpose of the application.
-
-
Click the Create Application button to save the new application.
-
Once the application is created, navigate to the Credentials tab within the application details page. Record the following values — you will need them to obtain an access token:
-
Client Key (also referred to as
client_id) -
Client Secret (also referred to as
client_secret)
-
The client secret is a sensitive credential. Store it securely and do not share it in code repositories, emails, or other insecure locations. If a secret is ever compromised, return to the BaseSpace Developer Portal and regenerate your application credentials immediately.
Obtain a BaseSpace Access Token
After registering your application and obtaining your client credentials, complete the OAuth 2.0 authorization flow to generate an access token.
BaseSpace supports two OAuth 2.0 authorization flows. For integrations with Nexla, the Device Code Flow is generally the most practical, as it does not require a hosted web server.
Device Code Flow (Recommended for Server-Side Integrations):
-
Make a POST request to the BaseSpace OAuth token endpoint to initiate the device code flow:
POST https://api.basespace.illumina.com/v1pre3/oauthv2/deviceauthorizationInclude your
client_idand the required permission scopes (see BaseSpace Permissions for a full list of available scopes). -
BaseSpace will return a
device_codealong with a short verification code and a URI. Open the provided URI in a browser, sign in to your BaseSpace account, and grant the requested permissions. -
After granting permissions, make a POST request to exchange the device code for an access token:
POST https://api.basespace.illumina.com/v1pre3/oauthv2/tokenInclude your
client_id,client_secret,device_code, andgrant_type=device_codein the request body. -
BaseSpace will return an
access_tokenin the response. Copy and store this token securely — it will be used to authenticate all API calls made by Nexla on your behalf.
BaseSpace access tokens do not expire automatically. However, tokens can be revoked at any time from the BaseSpace Developer Portal. For additional details on required permission scopes for your use case, refer to the BaseSpace Permissions documentation.
Required Permissions (Scopes)
When requesting an access token, specify the appropriate scopes based on how Nexla will use the connection:
-
READ GLOBAL— Provides read access to your projects, samples, runs, and other BaseSpace resources. Required when using Nexla to ingest data from BaseSpace. -
CREATE GLOBAL— Provides write access to create new projects, samples, and upload files. Required when using Nexla to write data back to BaseSpace.
Request only the minimum scopes required for your integration. Limiting scope follows the principle of least privilege and reduces the impact if a token is ever compromised.
Authenticate
Create a credential in Nexla
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter your Illumina BaseSpace access token in the Access Token field. This token authenticates Nexla with the BaseSpace API and determines what data Nexla can access on your behalf. The access token is the value returned as
access_tokenin the OAuth 2.0 token response when you completed the authorization flow described in Prerequisites.ImportantTreat your BaseSpace access token as a sensitive credential equivalent to a password. Do not share it in emails, code repositories, chat applications, or other insecure locations. If you believe a token has been compromised, revoke it immediately from the BaseSpace Developer Portal and generate a replacement.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Illumina BaseSpace connector tile, then select the credential that will be used to connect to the Illumina BaseSpace instance, and click Next; or, create a new Illumina BaseSpace credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Illumina BaseSpace endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Illumina BaseSpace sources can also be manually configured to ingest data from any valid BaseSpace API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
The BaseSpace API is available at two base URLs: Version 1 (v1pre3) at https://api.basespace.illumina.com/v1pre3/ and Version 2 at https://api.basespace.illumina.com/v2/. Common endpoints include https://api.basespace.illumina.com/v2/projects, https://api.basespace.illumina.com/v2/runs, https://api.basespace.illumina.com/v2/biosamples, https://api.basespace.illumina.com/v2/datasets, and https://api.basespace.illumina.com/v1pre3/users/current/projects. For a complete list of available endpoints and parameters, refer to the BaseSpace V2 API Reference and BaseSpace V1 API Reference.
BaseSpace API responses consistently wrap the relevant data records inside an Items array within a Response object, so for most BaseSpace endpoints the path to data is $.Response.Items[*] and the path to metadata (such as TotalCount) is $.Response. Endpoints that return a single object rather than a list use $ as the path to data instead. You do not need to include the x-access-token authentication header — Nexla automatically includes your BaseSpace access token from the configured credential with every API request.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Illumina BaseSpace data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the Illumina BaseSpace destination, and select the Send to Destination option from the menu. Select the Illumina BaseSpace connector from the list of available destination connectors, then select the credential that will be used to connect to the Illumina BaseSpace instance, and click Next; or, create a new Illumina BaseSpace credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Illumina BaseSpace endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Once the selected endpoint template has been configured, Nexla can send a test payload to the Illumina BaseSpace API to ensure that the destination is configured correctly. Click the Test button to the right of the endpoint selection menu, and check the sample data in the Endpoint Test Result panel on the right to verify the destination is configured correctly before saving.
Manual configuration
Illumina BaseSpace destinations can also be manually configured to write data to any valid BaseSpace API endpoint that supports data creation or updates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Common BaseSpace write endpoints include POST https://api.basespace.illumina.com/v2/projects (create a new project) and POST https://api.basespace.illumina.com/v2/datasets (create a new dataset within a project). The BaseSpace API expects data in JSON format for most write operations — refer to the BaseSpace V2 API Reference for the specific request body schema required by each endpoint.
The access token configured in your credential must have the appropriate write scopes (e.g., CREATE GLOBAL) to perform write operations against the BaseSpace API — read-only tokens will not be able to create or modify resources. You do not need to include the x-access-token authentication header or the Content-Type: application/json header — Nexla adds these automatically based on your credential and selected data format.
Save & activate
Once all endpoint settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Illumina BaseSpace destination. Nexla will now begin delivering data to the configured BaseSpace endpoint according to the settings configured above.