Register Samples via API
Using the BioSamples API you can submit new samples to our resource, as well as update or curate samples.
This website requires the limited processing of your personal data in order to function. By using the site you are agreeing to this as outlined in our Submission Privacy Notice.
Contents
Submission minimal fields
Sample
Field |
Description |
Type |
Cardinality |
|---|---|---|---|
name |
The short name of the sample. |
String |
Required |
release |
The date on which the sample was first made public. |
Date ISO 8601 |
Required |
update |
The date on which the sample was last updated. |
Date ISO 8601 |
System Generated |
accession |
The sample unique identifier in the BioSamples database; assigned automatically if omitted. |
String |
Required for PUT requests |
characteristics |
The key-value pairs representing the attributes of the sample. |
Object |
Optional |
externalReferences |
A list of links to external references (e.g., datasets in other archives). |
Array |
Optional |
relationships |
A list of relationships this sample has to other, existing, samples. |
Array |
Optional |
data |
A structured format (e.g., antibiogram) alongside key-value pairs. |
Array |
Optional (required only for structured-data submission) |
Field |
Type |
Cardinality |
|---|---|---|
text |
String |
Recommended |
ontologyTerms |
Array |
Optional |
unit |
String |
Optional |
Curation Link
Field |
Type |
Cardinality |
|---|---|---|
sample |
String |
Required |
curation |
Object |
Required |
curation.attributesPre |
Array |
Required (could be empty) |
curation.attributesPost |
Array |
Required (could be empty) |
curation.externalReferencesPre |
Array |
Required (could be empty) |
curation.externalReferencesPost |
Array |
Required (could be empty) |
Submit a sample
POST a sample to BioSamples.
Request
POST /biosamples/samples HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 121
Host: www.ebi.ac.uk
{
"name" : "FakeSample",
"release" : "2025-07-30T08:54:07.592313138Z",
"webinSubmissionAccountId" : "Webin-12345"
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: https://www.ebi.ac.uk/biosamples/samples
Content-Type: application/hal+json
Content-Length: 1001
{
"name": "FakeSample",
"webinSubmissionAccountId": "Webin-12345",
"status": "PUBLIC",
"release": "2025-07-30T08:54:07.592313138Z",
"update": "2025-07-30T08:54:07.592313231Z",
"submitted": "2025-07-30T08:54:07.592313316Z",
"characteristics": {},
"submittedVia": "JSON_API",
"create": "2025-07-30T08:54:07.592313275Z",
"_links": {
"self": {"href": "https://www.ebi.ac.uk/biosamples/samples"},
"applyCurations": {
"href": "https://www.ebi.ac.uk/biosamples/samples{?applyCurations}",
"templated": true
},
"curationLinks": {
"href": "https://www.ebi.ac.uk/biosamples/samples/{accession}/curationlinks",
"templated": true
},
"curationLink": {
"href": "https://www.ebi.ac.uk/biosamples/samples/{accession}/curationlinks/{hash}",
"templated": true
},
"structuredData": {
"href": "https://www.ebi.ac.uk/biosamples/structureddata/{accession}",
"templated": true
}
}
}
For all the links available in BioSamples responses, refer to the **Links Reference**.
Submit structured data
PUT structured data associated with a sample (e.g., antibiogram data).
Request
PUT /biosamples/structureddata/SAMFAKE123456 HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 1825
Host: www.ebi.ac.uk
{
"accession": "SAMFAKE123456",
"create": "2025-07-30T08:54:07.421677129Z",
"update": "2025-07-30T08:54:07.421717217Z",
"data": [
{
"domain": "self.ExampleDomain",
"webinSubmissionAccountId": null,
"type": "AMR",
"schema": null,
"content": [
{
"resistancePhenotype": {"value": "intermediate", "iri": null},
"astStandard": {"value": "CLSI", "iri": null},
"laboratoryTypingMethod": {"value": "disk diffusion", "iri": null},
"laboratoryTypingMethodVersionOrReagent": {"value": "missing", "iri": null},
"vendor": {"value": "Becton Dickinson", "iri": null},
"measurementSign ": {"value": "==", "iri": null},
"antibioticName": {"value": "nalidixic acid", "iri": "http://purl.obolibrary.org/obo/value_1"},
"measurementUnits": {"value": "mm", "iri": null},
"measurement": {"value": "17", "iri": null},
"platform": {"value": "missing", "iri": null}
}
]
},
{
"domain": "self.ExampleDomain",
"webinSubmissionAccountId": null,
"type": "CHICKEN_DATA",
"schema": null,
"content": [
{
"Measurement": {"value": "value_1", "iri": null},
"Marker": {"value": "value_1", "iri": "http://purl.obolibrary.org/obo/value_1"},
"Method": {"value": "value_1", "iri": null},
"Measurement Units": {"value": "value_1", "iri": null},
"Partner": {"value": "value_1", "iri": null}
}
]
}
]
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1825
{
"accession": "SAMFAKE123456",
"create": "2025-07-30T08:54:07.421677129Z",
"update": "2025-07-30T08:54:07.421717217Z",
"data": [
{
"domain": "self.ExampleDomain",
"webinSubmissionAccountId": null,
"type": "AMR",
"schema": null,
"content": [
{
"resistancePhenotype": {"value": "intermediate", "iri": null},
"astStandard": {"value": "CLSI", "iri": null},
"laboratoryTypingMethod": {"value": "disk diffusion", "iri": null},
"laboratoryTypingMethodVersionOrReagent": {"value": "missing", "iri": null},
"vendor": {"value": "Becton Dickinson", "iri": null},
"measurementSign ": {"value": "==", "iri": null},
"antibioticName": {"value": "nalidixic acid", "iri": "http://purl.obolibrary.org/obo/value_1"},
"measurementUnits": {"value": "mm", "iri": null},
"measurement": {"value": "17", "iri": null},
"platform": {"value": "missing", "iri": null}
}
]
},
{
"domain": "self.ExampleDomain",
"webinSubmissionAccountId": null,
"type": "CHICKEN_DATA",
"schema": null,
"content": [
{
"Measurement": {"value": "value_1", "iri": null},
"Marker": {"value": "value_1", "iri": "http://purl.obolibrary.org/obo/value_1"},
"Method": {"value": "value_1", "iri": null},
"Measurement Units": {"value": "value_1", "iri": null},
"Partner": {"value": "value_1", "iri": null}
}
]
}
]
}
Links For all the links available in BioSamples responses, refer to the **Links Reference**.
Submit curation object
POST a curation object to BioSamples.
Request
POST /biosamples/samples/SAMEA12345/curationlinks HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 1144
Host: www.ebi.ac.uk
{
"sample": "SAMEA12345",
"curation": {
"attributesPre": [
{"type": "Organism", "value": "Human", "iri": ["9606"]}
],
"attributesPost": [
{"type": "Organism", "value": "Homo sapiens", "iri": ["http://purl.obolibrary.org/obo/NCBITaxon_9606"]}
],
"externalReferencesPre": [
{"url": "www.google.com", "duo": []}
],
"externalReferencesPost": [
{"url": "www.ebi.ac.uk/ena/ERA123456", "duo": []}
],
"relationshipsPre": [],
"relationshipsPost": [
{"source": "SAMFAKE123456", "type": "DERIVED_FROM", "target": "SAMFAKE7654321"}
],
"externalPre": [
{"url": "www.google.com", "duo": []}
],
"externalPost": [
{"url": "www.ebi.ac.uk/ena/ERA123456", "duo": []}
],
"hash": "09a5a9cddbea9f5bb6302b86b922c408abc92b8b10c78f0662ac7e41fd44e91f"
},
"domain": null,
"webinSubmissionAccountId": "Webin-12345",
"created": "2025-07-30T08:54:05.338606736Z",
"hash": "d1f611ec2c8caf3d9f58fa40227ea60ebb5fc00eda06338fb81db7d987a6fa63"
}
Response
HTTP/1.1 201 Created
Location: https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks/d1f611ec2c8caf3d9f58fa40227ea60ebb5fc00eda06338fb81db7d987a6fa63
Content-Type: application/hal+json
Content-Length: 1397
{
"sample": "SAMEA12345",
"curation": {
"attributesPre": [{"type": "Organism", "value": "Human", "iri": ["9606"]}],
"attributesPost": [{"type": "Organism", "value": "Homo sapiens", "iri": ["http://purl.obolibrary.org/obo/NCBITaxon_9606"]}],
"externalReferencesPre": [{"url": "www.google.com", "duo": []}],
"externalReferencesPost": [{"url": "www.ebi.ac.uk/ena/ERA123456", "duo": []}],
"relationshipsPre": [],
"relationshipsPost": [{"source": "SAMFAKE123456", "type": "DERIVED_FROM", "target": "SAMFAKE7654321"}],
"hash": "09a5a9cddbea9f5bb6302b86b922c408abc92b8b10c78f0662ac7e41fd44e91f"]
},
"domain": null,
"webinSubmissionAccountId": "Webin-12345",
"created": "2025-07-30T08:54:05.338606736Z",
"hash": "d1f611ec2c8caf3d9f58fa40227ea60ebb5fc00eda06338fb81db7d987a6fa63",
"_links": {
"self": {
"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks/d1f611ec2c8caf3d9f58fa40227ea60ebb5fc00eda06338f0662ac7e41fd44e91f"
},
"sample": {
"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345"
},
"curation": {
"href": "https://www.ebi.ac.uk/biosamples/curations/09a5a9cddbea9f5bb6302b86b922c408abc92b8b10c78f0662ac7e41fd44e91f"
}
}
}
Links
For all the links available in BioSamples responses, refer to the **Links Reference**.
Accession a sample
POST a sample for accessioning. Accessioned sample is saved as a private sample.
Request
POST /biosamples/samples/accession HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 74
Host: www.ebi.ac.uk
{
"name": "FakeSample",
"update": "2025-07-30T08:54:06.535179734Z"
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: https://www.ebi.ac.uk/biosamples/samples/SAMEA12345
Content-Type: application/json
Content-Length: 988
{
"name": "FakeSample",
"accession": "SAMEA12345",
"webinSubmissionAccountId": "Webin-12345",
"status": "PUBLIC",
"release": "2125-07-30T08:54:06Z",
"update": "2025-07-30T08:54:06.535179734Z",
"submitted": "2025-07-30T08:54:06.535179818Z",
"characteristics": {},
"submittedVia": "JSON_API",
"create": "2025-07-30T08:54:06.535179780Z",
"_links": {
"self": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345"},
"applyCurations": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345{?applyCurations}", "templated": true},
"curationLinks": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks"},
"curationLink": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks/{hash}", "templated": true},
"structuredData": {"href": "https://www.ebi.ac.uk/biosamples/structureddata/SAMEA12345"}
}
}
Links
For all the links available in BioSamples responses, refer to the **Links Reference**.
Validate sample fields
POST a sample to validate its basic fields before submission.
Request
POST /biosamples/validate HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 440
Host: www.ebi.ac.uk
{
"name": "fake_sample",
"update": "2025-07-30T08:54:06.361023322Z",
"release": "2025-07-30T08:54:06.361023223Z",
"domain": "self.ExampleDomain",
"characteristics": {
"material": [{
"text": "cell line",
"ontologyTerms": ["EFO_0000322"]
}],
"Organism": [{
"text": "Homo sapiens",
"ontologyTerms": ["9606"]
}],
"checklist": [{
"text": "BSDC00001"
}]
}
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 559
{
"name": "fake_sample",
"domain": "self.ExampleDomain",
"taxId": 9606,
"status": "PUBLIC",
"release": "2025-07-30T08:54:06.361023223Z",
"update": "2025-07-30T08:54:06.361023322Z",
"characteristics": {
"Organism": [{
"text": "Homo sapiens",
"ontologyTerms": ["9606"]
}],
"checklist": [{
"text": "BSDC00001"
}],
"material": [{
"text": "cell line",
"ontologyTerms": ["EFO_0000322"]
}]
},
"submittedVia": "JSON_API",
"create": "2025-07-30T08:54:06.361023322Z"
}
POST sample with external references
POST a sample with external references.
Request
POST /biosamples/samples HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 218
Host: www.ebi.ac.uk
{
"name": "FakeSample",
"release": "2025-07-30T08:54:06.198269289Z",
"webinSubmissionAccountId": "Webin-12345",
"externalReferences": [{
"url": "https://www.ebi.ac.uk/ena/data/view/SAMEA00001"
}]
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: https://www.ebi.ac.uk/biosamples/samples
Content-Type: application/hal+json
Content-Length: 1090
{
"name": "FakeSample",
"accession": "SAMEA12345",
"webinSubmissionAccountId": "Webin-12345",
"status": "PUBLIC",
"release": "2025-07-30T08:54:06.198269289Z",
"update": "2025-07-30T08:54:06.198269371Z",
"submitted": "2025-07-30T08:54:06.198269453Z",
"characteristics": {},
"externalReferences": [{
"url": "https://www.ebi.ac.uk/ena/data/view/SAMEA00001",
"duo": []
}],
"submittedVia": "JSON_API",
"create": "2025-07-30T08:54:06.198269412Z",
"_links": {
"self": {"href": "https://www.ebi.ac.uk/biosamples/samples"},
"applyCurations": {"href": "https://www.ebi.ac.uk/biosamples/samples{?applyCurations}", "templated": true},
"curationLinks": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks"},
"curationLink": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks/{hash}", "templated": true},
"structuredData": {"href": "https://www.ebi.ac.uk/biosamples/structureddata/SAMEA12345"}
}
}
PUT sample with relationships
PUT a sample with relationships.
Request
PUT /biosamples/samples/SAMEA12345 HTTP/1.1
Content-Type: application/json
Authorization: Bearer $TOKEN
Content-Length: 499
Host: www.ebi.ac.uk
{
"name": "FakeSample",
"accession": "SAMEA123456",
"webinSubmissionAccountId": "Webin-12345",
"status": "PUBLIC",
"release": "2025-07-30T08:54:06.713767735Z",
"update": "2025-07-30T08:54:06.713767809Z",
"submitted": "2025-07-30T08:54:06.713767894Z",
"characteristics": {},
"relationships": [
{
"source": "SAMFAKE123456",
"type": "derived from",
"target": "SAMFAKE654321"
}
],
"submittedVia": "JSON_API",
"create": "2025-07-30T08:54:06.713767854Z"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/hal+json
Content-Length: 1121
{
"name": "FakeSample",
"accession": "SAMEA12345",
"webinSubmissionAccountId": "Webin-12345",
"status": "PUBLIC",
"release": "2025-07-30T08:54:06.713767735Z",
"update": "2025-07-30T08:54:06.713767809Z",
"submitted": "2025-07-30T08:54:06.713767894Z",
"characteristics": {},
"relationships": [
{
"source": "SAMFAKE123456",
"type": "derived from",
"target": "SAMFAKE654321"
}
],
"submittedVia": "JSON_API",
"create": "2025-07-30T08:54:06.713767854Z",
"_links": {
"self": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345"},
"applyCurations": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345{?applyCurations}", "templated": true},
"curationLinks": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks"},
"curationLink": {"href": "https://www.ebi.ac.uk/biosamples/samples/SAMEA12345/curationlinks/{hash}", "templated": true},
"structuredData": {"href": "https://www.ebi.ac.uk/biosamples/structureddata/SAMEA12345"}
}
}
Links
For all the links available in BioSamples responses, refer to the **Links Reference**.