Skip to Content
AdministrationENA Credentials

ENA Credentials

To register studies and samples with the European Nucleotide Archive, SeqDesk authenticates against ENA’s Webin submission service with a single facility-wide account. There is no per-user or per-study credential: one Webin account speaks for the whole instance, so whoever holds facility-admin rights can submit under it.

The screen is Settings → Data Upload in the sidebar; the page itself is headed ENA Configuration (/admin/ena).

Before you start

You need a Webin account from the ENA Webin portal . Its identifier has the form Webin-12345 — the literal prefix Webin- followed by digits only. SeqDesk validates this with ^Webin-\d+$ in two places (on save and on connection test), so a Webin identifier with anything else after the dash is rejected with

ENA username must be in format 'Webin-XXXXX' (e.g., Webin-12345)

The SeqDesk server must also be able to reach wwwdev.ebi.ac.uk and www.ebi.ac.uk over HTTPS. Compute nodes do not need this — only the application host.

Configuring the account

Choose the submission server

The Submission server control is a Test/Production switch. Leave it on Test while you set things up. Switching to Production raises an inline warning, and the page header shows the active server at all times.

Enter the credentials

Fill in Webin username and Webin password. When a password is already stored the field shows the placeholder Saved password in use — leaving it empty keeps the stored one, and typing a new value replaces it.

Test the connection

Press Test connection. See below for exactly what this does.

Save

Press Save changes.

Save is blocked until the connection test passes. Whenever the username or password has been edited, Save changes stays disabled until Test connection has returned a success in the same session. Broker-mode and server changes on their own can be saved without a test. This is why credentials cannot be saved “to try later”.

What Test connection does

It is a real submission attempt, not a ping. SeqDesk POSTs to <server>/ena/submit/drop-box/submit/ with HTTP basic auth and a minimal SUBMISSION document whose only action is <VALIDATE/>, alongside a throwaway PROJECT document. Nothing is registered.

OutcomeMeaning
Credentials verified with ENA Test serverENA answered with a submission receipt, so authentication worked
Invalid credentials - authentication failedHTTP 401 from ENA
Authentication failed - check your passwordENA’s body mentioned an authorisation problem
Invalid username format. Expected "Webin-XXXXX"…Rejected locally, before any network call
ENA server returned: <status>Something else — usually an outage or a blocked outbound connection

A validation failure on the throwaway project still counts as success: the point is that ENA accepted the credentials well enough to validate at all.

Test versus production

ModeServerBehaviour
Test (default)wwwdev.ebi.ac.ukFull validation, real accessions, but the records expire after 24 hours
Productionwww.ebi.ac.ukPermanent public records

Test mode is stored as enaTestMode and defaults to true on a fresh install. Both the settings screen and the study submission flow surface the active server prominently, because a production registration cannot be undone — accessions are permanent even if the record is later suppressed. Validate on the test server first, every time.

Broker accounts

A regular Webin account submits under the affiliation held by ENA for that account. A broker account submits on behalf of other institutes — the usual situation for a service facility handling customer studies — and may set a center_name per submission.

  • Turn on Broker account only if ENA has actually granted your Webin account broker permissions.
  • With broker mode on, Center name is required. The page refuses to save while it is empty and shows Enter the broker center name before saving.
  • The value is written as center_name into the submitted XML for studies and samples. Center names are free text on ENA’s side.
  • With broker mode off, no center name is sent and the field is disabled.

Broker mode and center name are stored under ena.brokerAccount and ena.centerName, and can also be supplied through SEQDESK_ENA_BROKER_ACCOUNT and SEQDESK_ENA_CENTER.

Upload readiness

The Upload Readiness panel at the top of the page summarises four checks before anyone tries to submit:

CheckGreen when
CredentialsA username is present and a password is stored or typed
ServerTest server is selected — production is flagged amber as a reminder, not an error
AccountRegular mode, or broker mode with a center name
SubmissionsNo failed, pending or partial submissions outstanding

Below it, Submission History lists past registrations with their status (PENDING, PARTIAL, ACCEPTED, ERROR, FAILED) so you can see whether an earlier attempt left work half-finished.

Where the credentials live, and how they are protected

The username, the encrypted password and the test-mode flag are columns on the single site-settings row. GET /api/admin/settings/ena never returns the password — it returns hasPassword and configured booleans only.

Encryption at rest

The Webin password is encrypted before it is written to the database:

PropertyValue
AlgorithmAES-256-GCM
Key derivationHKDF-SHA256 over the deployment secret
Stored formatenc:v1:<base64(salt ‖ iv ‖ tag ‖ ciphertext)>
Key materialSEQDESK_ENCRYPTION_KEY, else NEXTAUTH_SECRET, else AUTH_SECRET

Two consequences worth planning for:

Rotating the deployment secret makes the stored password unrecoverable. The key is derived from SEQDESK_ENCRYPTION_KEY / NEXTAUTH_SECRET / AUTH_SECRET. Change any of those and decryption fails; you must re-enter and re-test the Webin password afterwards. Set SEQDESK_ENCRYPTION_KEY explicitly if you want to rotate session secrets independently of stored secrets.

  • Values stored before encryption was introduced are read as plaintext. Any value without the enc:v1: prefix is passed through unchanged for backwards compatibility, and is upgraded to ciphertext the next time it is saved. If your instance predates this, re-save the password once to encrypt it.
  • With no key material at all, saving fails with Cannot encrypt secret: no key material available. Set NEXTAUTH_SECRET (or SEQDESK_ENCRYPTION_KEY) in the environment.

Encryption protects a leaked database dump. It does not protect against someone with both the database and the environment — keep backups and environment files under the same access controls.

Clearing the credentials

Clear credentials appears once an account is configured. It removes the username and password from the instance after a confirmation dialog. Existing accessions on already-submitted studies are unaffected; only future submissions stop working.

Supplying credentials without the UI

The configuration loader accepts:

export SEQDESK_ENA_USERNAME="Webin-12345" export SEQDESK_ENA_PASSWORD="your-password" export SEQDESK_ENA_TEST_MODE="true" export SEQDESK_ENA_CENTER="Your Center Name" export SEQDESK_ENA_BROKER_ACCOUNT="false"

and the equivalent block in settings.json:

{ "ena": { "username": "Webin-12345", "testMode": true, "brokerAccount": false, "centerName": "Your Center Name" } }

Both submission paths — study/sample registration (POST /api/admin/submissions) and the submg pipeline — read the credentials from the database. Environment and file values feed the configuration layer and are applied to the stored settings through the install-profile and settings-import flows; they are not consulted directly at submission time. If a submission reports missing credentials while the environment variables are set, open Data Upload and confirm the page shows Configured.

Never commit a Webin password to a config file in version control.

Troubleshooting

SymptomCauseFix
Save changes stays greyed outThe credentials were edited and not re-tested, or broker mode has no center namePress Test connection, or fill in the center name
ENA username must be in format 'Webin-XXXXX'Non-numeric suffix or missing prefixUse the identifier exactly as ENA issued it
Invalid credentials - authentication failedWrong password, or the account has no submission rights on that serverSign in to the Webin portal to confirm; test and production accounts are the same login
ENA server returned: 503ENA maintenance, or outbound HTTPS blockedRetry later; check the app host’s egress to ebi.ac.uk
ENA credentials not configured. Please configure your Webin credentials in Admin > Data Upload > ENA Configuration.A submission was attempted with no stored username or passwordConfigure and save them on this page
Test accessions vanished overnightENA test records expire after 24 hoursExpected; re-register on test, or move to production
Submissions worked, then failed after a redeployThe deployment secret changed, so the stored password no longer decryptsRe-enter the password, test, and save
Broker submissions carry no center nameBroker mode is offTurn it on; the center name is only sent in broker mode

See also