Bulk sample registration
How to programmatically submit samples in bulk
The bulk-submit-get-receipt API endpoint allows submitters to send multiple sample metadata records together (in one bulk operation) and then retrieve a “receipt” that reports the outcome (success/failure) and any assigned accessions. In the context of BioSamples this supports high-volume submissions rather than individual sample POSTs.
Example curl commands
This is an example of a curl command request and reponse to the bulk-submit-get-receipt API endpoint.
curl 'https://wwwdev.ebi.ac.uk/biosamples/v2/samples/bulk-submit-get-receipt' \
-i -X POST
-H "Content-Type: application/json;charset=UTF-8"
-H "Accept: application/hal+json"
-H "Authorization: Bearer $TOKEN"
-d '[{
"name" : "FakeSample1",
"update" : "2012-03-19T13:56:40.720567Z",
"release" : "2020-03-10T13:56:40.720559Z",
"webinSubmissionAccountId" : "Webin-59287",
"characteristics" : {
"description" : [ {
"text" : "fake sample"
} ],
"organism" : [ {
"text" : "Homo sapiens",
"ontologyTerms" : [ "http://purl.obolibrary.org/obo/NCBITaxon_9606" ]
} ]
}
}]
{
"samples": [
{
"name": "FakeSample1",
"accession": "SAMEA131847325",
"sraAccession": "ERS32039383",
"webinSubmissionAccountId": "Webin-59287",
"taxId": 9606,
"status": "PUBLIC",
"release": "2020-03-10T13:56:40.720559Z",
"update": "2025-11-14T12:12:30.396351204Z",
"submitted": "2025-11-14T12:12:30.396350160Z",
"characteristics": {
"SRA accession": [
{
"text": "ERS32039383"
}
],
"description": [
{
"text": "fake sample"
}
],
"organism": [
{
"text": "Homo sapiens",
"ontologyTerms": [
"http://purl.obolibrary.org/obo/NCBITaxon_9606"
]
}
]
},
"submittedVia": "JSON_API",
"create": "2025-11-14T12:12:30.396348732Z"
}
],
"errors": []
}
Important details & caveats
Relationships between samples: If your context involves derivation (e.g., same donor, multiple timepoints, replicates, derived_from relationships), you may need to include relationship attributes (e.g., derived_from, same_as). The API reference shows sample metadata supports relationships.
Release date / privacy: In the sample metadata you must specify a release date. If you need samples to remain private until associated data (e.g., sequence reads) are published, pick appropriate dates.
Metadata consistency for search/discovery: The bulk-submit receipt only ensures technical submission succeeds; you should still review your metadata for FAIR discoverability.