NAV Navigation
Shell HTTP JavaScript Python

THE csms 2.32.0 INTERVENTIONAL API

Overview

The CSMS 2.32.0 INTERVENTIONAL API is composed of a collection of endpoints which you can use to interact with the many features of the system.

Endpoints

You can follow the instructions in the codeblocks in this guide, in addition to using the CSMS GUI, to interact with the APIs. There are two csms tiers that you can interact with:

  The User Accessibility Tier (UAT) is for users who want to test the features and code.<br>
  <u>UAT</u>: <a href="https://csms-api-uat.nci.nih.gov/api/v2">https://csms-api-uat.nci.nih.gov/api/v2</a><br>
  <u>UAT API GUI</u>: <a href="https://csms-uat.nci.nih.gov/doc">https://csms-uat.nci.nih.gov/doc</a><br><br>

  <u>Examples</u>:<br>
  <a href="https://csms-api-uat.nci.nih.gov/api/v2">https://csms-api-uat.nci.nih.gov/api/v2/manifests?manifest_id=X</a><br>
  <a href="https://csms-api-uat.nci.nih.gov/api/v2">https://csms-api-uat.nci.nih.gov/api/v2/manifests?manifest_id=X&status=shipped</a><br><br>





  The Production tier is for working with your live data in a stable environment.<br>
  <u>Production</u>: <a href="https://csms-api.nci.nih.gov/api/v2">https://csms-api.nci.nih.gov/api/v2</a><br>
  <u>Production API GUI</u>: <a href="https://csms.nci.nih.gov/doc">https://csms.nci.nih.gov/doc</a><br><br>

  <u>Examples</u>:<br>
  <a href="https://csms-api.nci.nih.gov/api/v2">https://csms-api.nci.nih.gov/api/v2/manifests?manifest_id=X</a><br>
  <a href="https://csms-api.nci.nih.gov/api/v2">https://csms-api.nci.nih.gov/api/v2/manifests?manifest_id=X&status=shipped</a><br><br>

In order to use the csms API, an Okta API token is required for authentication. The API token is tier specific. For example, an API token for UAT will not work with the Production tier. Some API endpoints and operations are restricted based on role and may not work with your API token.

The sample requests in this guide are examples only. You should substitute call-specific parameters with your own values.

Request Headers

In order to use the CSMS API, clients must set the following request headers accordingly:


GET /api/v1/not_a_real_endpoint
Host: csms-api-uat.nci.nih.gov
Authorization: Bearer yourBearerToken
Accept: application/json

PATCH /api/v1/not_a_real_endpoint
Host: csms-api-uat.nci.nih.gov
Authorization: Bearer yourBearerToken
Content-Type: application/json
Accept: application/json

POST /api/v1/not_a_real_endpoint
Host: csms-api-uat.nci.nih.gov
Authorization: Bearer yourBearerToken
Content-Type: application/json
Accept: application/json

PUT /api/v1/not_a_real_endpoint
Host: csms-api-uat.nci.nih.gov
Authorization: Bearer yourBearerToken
Content-Type: application/json
Accept: application/json

AUTHORIZATION

Requests must contain valid logon credentials in the header. For example, Authorization: Bearer yourBearerToken

See the GETTING STARTED section for details.

CONTENT-TYPE

All PATCH, POST and PUT requests must contain a valid JSON body with the Content-Type header set to application/json.

ACCEPT

Unless otherwise noted, all CSMS APIs are JSON based. Your request should include an Accept: application/json header, however this header is optional as any response under the /api/ namespace will return JSON.

Field Projections

GET /manifests?manifest_id=213

RESPONSE BODY


  {
    "manifest_id": "123",
    "biobank_id": "abc",
    "receiving_party": "xyz"
    "samples": [
      {
        "cimac_id": "456"
      },
      {
        "cimac_id": "789"
      }
    ]
  }
  
  

GET /manifests?manifest_id=213&fields=manifest_id,biobank_id

RESPONSE BODY


  {
    "manifest_id": "123",
    "biobank_id": "abc",
  }

Field projection controls how much of an entity's data is displayed in response to an API request.

All APIs have a default set of field projections that control which fields are returned. If you don't need certain fields, you can decrease response time and payload size by using a projection to ask only for the fields your application is interested in.

Field projections are defined using the &fields= query parameter and narrowed by providing a comma-separated list of field names that you want returned as the value of the parameter.

Error Handling

CSMS uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (for example, a required parameter was omitted, invalid search parameter, etc.). Codes in the 5xx range indicate an error with CSMS's servers (these are rare).

Some 4xx errors that could be handled programmatically include an error code that briefly explains the error reported.

Attributes

typestring

The type of error returned. One of api_error, or invalid_request_error

codestring

For some errors that could be handled programmatically, a short string indicating the error code reported.

messagestring

A human-readable message providing more details about the error.

paramstring

If the error is parameter-specific, the parameter related to the error.

HTTP STATUS CODE SUMMARY
200, 201 - OK Everything worked as expected.
400 - Bad Request The request was unacceptable, often due to missing a required parameter.
401 - Unauthorized No valid API Token provided.
402- Request Failed The parameters were valid but the request failed.
403 - Forbidden The API Token doesn't have permissions to perform the request.
404 - Not Found The requested resource doesn't exist.
409 - Conflict The request conflicts with another request.
500, 501, 503, 504 - Server Errors Something went wrong on CSMS's end. (These are rare.)

ERROR TYPES
api_error API errors cover any other type of problem, as well as, problem with CSMS's servers.    
invalid_request_error Invalid request errors arise when your request has invalid parameters

GETTING STARTED

Account Requests

In order to get access to use the CSMS API, please send an access request email to csms-support@nih.gov. The email should contain the following information:


Once the access request email has been received by the csms Application Support Team, a support team member will review the request and provide further instructions on how to generate an access token in order to use the csms API.

Note that if your organization is requesting machine-machine API communication with the CSMS API and access to both Ancillary/Correlative and Interventional study types, you will receive a unique Okta client id/client secret pairing to use for each study type.

Authentication

# You can also use wget
curl -X POST https://bioappdev.okta.com/oauth2/[csms_server_id_UAT]/v1/token \
  -H'Content-Type: x-www-form-urlencoded'
  -d'client_id&client_secret=&grant_type=client_credentials'

All API requests must provide authentication. The csms API uses Okta as the authentication provider, leveraging OAuth2 authentication using the client credentials flow. The access token returned from the endpoints should be passed in the headers of HTTP request, as: Authorization: Bearer [TOKEN].

There are two variable values used in Okta access token generation for CSMS

Note that the Client Secret is secret and must be kept confidential. If discovered that your Client Secret has been lost or compromised, contact our Support Team immediately at csms_support@mail.nih.gov.

The variable values Client ID and Client Secret will be provided to you following access approval. The following is an example of how an access toke is generated:

Roles & Authorization

The csms API leverages role-based authorization that allows for specific operations to be performed in the application. Presently the API accepts the following roles and the corresponding operations:

Role Operations
Biobank
  • Manifest: POST, PATCH, GET
  • Sample: POST, PUT, PATCH, GET
  • Jobs: POST, PUT, GET
  • Documents: POST, GET
  • Comments: POST, GET
Lab
  • Manifest: PATCH, GET
  • Sample: PATCH, GET
  • Documents: POST, GET
  • Comments: POST, GET

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

COMMENTS

Routes for comments

Create Comment

<span class="endpoint">
<span class="method post"> POST </span>
<code>/comments</code>
</span>

# You can also use wget

curl -X POST /comments \
  -H 'Content-Type: application/json'


const inputBody = '{
  "comment": "comment text about an entity",
  "entity_id": "20200727:testuser:63693",
  "entity_type": "manifest"
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('/comments',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('/comments', headers = headers)

print(r.json())

POST /comments

Comment information in a JSON dict sent to this path is used to create a new comment.

REQUEST BODY

{
  "comment": "comment text about an entity",
  "entity_id": "20200727:testuser:63693",
  "entity_type": "manifest"
}

Parameters

Name In Type Required Description
comment body string true Comment text
entity_id body string true ID of the entity with which the comment is associated.
entity_type body string true Entity type with which the comment is associated. See Enumerated List for valid values.

Enumerated Values

Parameter Value
entity_type manifest
entity_type sample

Responses

Status Meaning Description Schema
201 Created Data is valid and JSON returned. None
400 Bad Request JSON was invalid. None

Query Comments

<span class="endpoint">
<span class="method get"> GET </span>
<code>/comments</code>
</span>

# You can also use wget

curl -X GET /comments?comment=comment


fetch('/comments?comment=comment',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests

r = requests.get('/comments'
, params={"comment":"comment"}
)

print(r.json())

GET /comments

Retrieve comment information, matching search parameters.

Parameters

Name In Type Required Description
comment query string false Comment text
entity_id query string false ID of the entity with which the comment is associated.
entity_type query string false Entity type with which the comment is associated.

Enumerated Values

Parameter Value
entity_type manifest
entity_type sample

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. None
400 Bad Request Invalid search parameters. None
403 Forbidden Forbidden access. None

Retrieve Comment

<span class="endpoint">
<span class="method get"> GET </span>
<code>/comments/{commentId}</code>
</span>

# You can also use wget

curl -X GET /comments/{commentId}


fetch('/comments/{commentId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests

r = requests.get('/comments/{commentId}')

print(r.json())

GET /comments/{commentId}

Retrieve the specified comment.

Parameters

Name In Type Required Description
commentId path string true Unique comment identifier.

Responses

Status Meaning Description Schema
200 OK comment found and JSON returned. None
400 Bad Request Invalid request string. None
404 Not Found No comment with the requested ID value was found. None

DOCUMENTS

Routes for documents

Upload or Associate Document

<span class="endpoint">
<span class="method post"> POST </span>
<code>/documents</code>
</span>

# You can also use wget

curl -X POST /documents \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json' \
  -H 'Content-Disposition: Attachment; filename=test.txt' \
  -H 'x-file-descriptor: file description'


const inputBody = 'This is a test document text file';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json',
  'Content-Disposition':'Attachment; filename=test.txt',
  'x-file-descriptor':'file description'
};

fetch('/documents',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json',
  'Content-Disposition': 'Attachment; filename=test.txt',
  'x-file-descriptor': 'file description'
}

r = requests.post('/documents', headers = headers)

print(r.json())

POST /documents

Upload a document or create a document association to an entity. Either upload a document by sending a valid file as the payload or create an association between an existing document and entity by providing the data in a JSON payload.

REQUEST BODY

"This is a test document text file"
This is a test document text file

Parameters

Name In Type Required Description
Content-Disposition header string false Name of file being uploaded. Required when uploading a new document.
x-file-descriptor header string false This is the description of the file
file_id body string false Unique file identifier.
entity_id body string false ID of the entity with which the file is associated.
entity_type body string false Entity type with which the file is associated. See Enumerated List for valid values.

Enumerated Values

Parameter Value
entity_type Manifest
entity_type Sample

200 Response

{
  "file_id": "1618414651177_test.txt",
  "file_name": "test.txt",
  "message": "Association has been successfully created for Document 1618414651177_test.txt to Manifest 20220719:nationwide:68662758"
}

Responses

Status Meaning Description Schema
200 OK File was successfully associated to the entity. Inline
201 Created File upload was successful. Inline
400 Bad Request Invalid request. None
403 Forbidden Forbidden access. None
404 Not Found Entity not found. None

Response Schema

Query Document

<span class="endpoint">
<span class="method get"> GET </span>
<code>/documents</code>
</span>

# You can also use wget

curl -X GET /documents?descriptor=string&entity_id=20200727


fetch('/documents?descriptor=string&entity_id=20200727',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests

r = requests.get('/documents'
, params={"descriptor":"string","entity_id":"20200727"}
)

print(r.json())

GET /documents

Retrieve document information, matching search parameters.

Parameters

Name In Type Required Description
descriptor query string false Description of file uploaded.
entity_id query string false ID of the entity with which the file is associated.
entity_type query string false Entity type with which the file is associated.
file_id query string false Unique file identifier.
file_name query string false Name of file uploaded.

Enumerated Values

Parameter Value
entity_type manifest
entity_type sample

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. None
400 Bad Request Invalid search parameters. None
403 Forbidden Forbidden access. None

Retrieve Document

<span class="endpoint">
<span class="method get"> GET </span>
<code>/documents/{file_id}</code>
</span>

# You can also use wget

curl -X GET /documents/{file_id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/documents/{file_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/documents/{file_id}', headers = headers)

print(r.json())

GET /documents/{file_id}

Fetch JSON representing information about a specific file that was uploaded.

Parameters

Name In Type Required Description
file_id path string true Name of the file being requested.

200 Response

{
  "data": {
    "file_id": "1618414651177_test.txt",
    "file_name": "test.txt",
    "s3_path": "docs/biobank/csms_developer@bioappdev.org/1618414651177_test.txt",
    "creator": "csms_developer@bioappdev.org",
    "creator_role": "biobank",
    "create_date": "2021-04-14T15:37:31Z"
  },
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Document was found and file information was returned. Inline
400 Bad Request The file_id was invalid. None
404 Not Found The requested document was not found. None

Response Schema

Disassociate Document

<span class="endpoint">
<span class="method delete"> DELETE </span>
<code>/documents/{file_id}/{entity_type}/{entity_id}</code>
</span>

# You can also use wget

curl -X DELETE /documents/{file_id}/{entity_type}/{entity_id}


fetch('/documents/{file_id}/{entity_type}/{entity_id}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests

r = requests.delete('/documents/{file_id}/{entity_type}/{entity_id}')

print(r.json())

DELETE /documents/{file_id}/{entity_type}/{entity_id}

Disassociate document from the specified entity.

Parameters

Name In Type Required Description
file_id path string true ID of the file to disassociate.
entity_type path string true Type of entity to disassociate from the file.
entity_id path string true ID of the entity to disassociate from the file.

Responses

Status Meaning Description Schema
200 OK Document was successfully disassociated from the entity. None
400 Bad Request No exising Document association was found to delete. None

JOBS

Routes for jobs

Query Bulk Manifest Jobs

<span class="endpoint">
<span class="method get"> GET </span>
<code>/jobs</code>
</span>

# You can also use wget

curl -X GET /jobs?job_id=1609340193_csms_developer \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/jobs?job_id=1609340193_csms_developer',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/jobs'
, params={"job_id":"1609340193_csms_developer"}
, headers = headers)

print(r.json())

GET /jobs

Retrieve manifest bulk submission jobs information based on matching search parameters (for example, "creator=biobank").

Parameters

Name In Type Required Description
job_id query string false Unique job identifier.
creator query string false Role that created a manifest submission job.
create_date query string false UTC timestamp of manifest job creation.

200 Response

{
  "data": {
    "job_id": "1648242062541_csms_developer@bioappdev.org",
    "manifest_id": "20220325:stanford:75522716",
    "sender_institution_id": "BBNCHP001",
    "submitter": "csms_developer@bioappdev.org",
    "status": "completed",
    "create_date": "2022-03-25T21:01:06Z",
    "message": "\"The manifest was successfully processed.\""
  },
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. Inline
400 Bad Request Invalid query string. None
404 Not Found No job with the requested search parameters was found. None

Response Schema

Create Bulk Upload Manifest Job

<span class="endpoint">
<span class="method post"> POST </span>
<code>/jobs/manifest</code>
</span>

# You can also use wget

curl -X POST /jobs/manifest \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'


const inputBody = '{
  "shipping_manifest": {
    "comments": "This is a comment for the shipping manifest",
    "courier": "UPS",
    "recipient_institution_id": "BBNCHP001",
    "sender_city": "Richmond",
    "sender_country": "USA",
    "sender_email": "enrolling_user@enroll_site.gov",
    "sender_institution_id": "enroll-99876512",
    "sender_institution_name": "blood draw lab east",
    "sender_person_name": "Joe Technician",
    "sender_phone": "000-000-0000",
    "sender_state": "Virginia",
    "sender_street_1": "Main St",
    "sender_street_2": "Suite 2",
    "sender_zip_code": "20047",
    "shipping_condition": "Frozen Dry Ice",
    "shipping_condition_other": "insulated",
    "shipping_date": "2021-04-30",
    "tracking_number": "4567788343"
  },
  "sample_manifest": []
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('/jobs/manifest',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('/jobs/manifest', headers = headers)

print(r.json())

POST /jobs/manifest

Similar to the manifest POST endpoint, but intended for submitting manifests that have a number of samples greater than 39. Manifest information can be submitted in the same JSON dict format or using an Excel file template (see Manifest template download endpoint for details).

REQUEST BODY

{
  "shipping_manifest": {
    "comments": "This is a comment for the shipping manifest",
    "courier": "UPS",
    "recipient_institution_id": "BBNCHP001",
    "sender_city": "Richmond",
    "sender_country": "USA",
    "sender_email": "enrolling_user@enroll_site.gov",
    "sender_institution_id": "enroll-99876512",
    "sender_institution_name": "blood draw lab east",
    "sender_person_name": "Joe Technician",
    "sender_phone": "000-000-0000",
    "sender_state": "Virginia",
    "sender_street_1": "Main St",
    "sender_street_2": "Suite 2",
    "sender_zip_code": "20047",
    "shipping_condition": "Frozen Dry Ice",
    "shipping_condition_other": "insulated",
    "shipping_date": "2021-04-30",
    "tracking_number": "4567788343"
  },
  "sample_manifest": []
}

Parameters

Name In Type Required Description
comments body string false comment to be added to the shipping manifest
courier body string false Courier utilized for shipment. Required for shipping transition. See Enumerated List for valid values.
recipient_institution_id body string false ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city body string false The city associated with the sender address.
sender_country body string false The country associated with the sender address.
sender_email body string false Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id body string false The Institution ID of the sender.
sender_institution_name body string false The name of the institution sending the samples.
sender_person_name body string false Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone body string false Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state body string false The state associated with the sender address.
sender_street_1 body string false The name of the street associated with the sender address.
sender_street_2 body string false The name of the additional street information associated with the sender address.
sender_zip_code body string false The ZIP code associated with the sender address.
shipping_condition body string false Method of packaging the samples. Optional. See Enumerated List for valid values.
shipping_condition_other body string false Additional information when shipping_condition is set to Other. Optional.
shipping_date body string false Date of shipment. Required for shipped transition.
tracking_number body string false Air bill number assigned to shipment. Required for shipped transition.

Enumerated Values

Parameter Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other

201 Response

{
  "job_id": "1648677659759_administrator",
  "job_url": "https://csms-api-int.nci.nih.gov/api/v2/manifests/jobs/1648677659759_administrator",
  "creator": "administrator",
  "create_date": "2022-03-30T22:00:59Z",
  "message": "A bulk upload job has been created. Please check job status with GET requests to the job URL."
}

Responses

Status Meaning Description Schema
201 Created Data was valid and queued for processing. Inline
400 Bad Request Request was invalid. None
403 Forbidden Submitter is unauthorized to make the request. None

Response Schema

Retrieve Bulk Manifest Job

<span class="endpoint">
<span class="method get"> GET </span>
<code>/jobs/manifest/{job_id}</code>
</span>

# You can also use wget

curl -X GET /jobs/manifest/{job_id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/jobs/manifest/{job_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/jobs/manifest/{job_id}', headers = headers)

print(r.json())

GET /jobs/manifest/{job_id}

Retrieve specific bulk submission job information.

Parameters

Name In Type Required Description
job_id path string true Unique job identifier.

200 Response

{
  "data": {
    "job_id": "1648242062541_csms_developer@bioappdev.org",
    "manifest_id": "20220325:stanford:75522716",
    "sender_institution_id": "BBNCHP001",
    "submitter": "csms_developer@bioappdev.org",
    "status": "completed",
    "create_date": "2022-03-25T21:01:06Z",
    "message": "\"The manifest was successfully processed.\""
  },
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Job was found and job information was returned. Inline
404 Not Found No job with the requested ID value was found. None

Response Schema

MANIFESTS

Routes for manifests

Create Manifest

<span class="endpoint">
<span class="method post"> POST </span>
<code>/manifests</code>
</span>

# You can also use wget

curl -X POST /manifests \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'


const inputBody = '{
  "shipping_manifest": {
    "comments": "This is a comment for the shipping manifest",
    "courier": "UPS",
    "recipient_institution_id": "BBNCHP001",
    "sender_city": "Richmond",
    "sender_country": "USA",
    "sender_email": "enrolling_user@enroll_site.gov",
    "sender_institution_id": "enroll-99876512",
    "sender_institution_name": "blood draw lab east",
    "sender_person_name": "Joe Technician",
    "sender_phone": "000-000-0000",
    "sender_state": "Virginia",
    "sender_street_1": "Main St",
    "sender_street_2": "Suite 2",
    "sender_zip_code": "20047",
    "shipping_condition": "Frozen Dry Ice",
    "shipping_condition_other": "insulated",
    "shipping_date": "2021-04-30",
    "tracking_number": "4567788343"
  },
  "sample_manifest": []
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('/manifests',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('/manifests', headers = headers)

print(r.json())

POST /manifests

The API enforces a hard limit of 39 samples that can be created as part of creating a manifest. To add more than 39 samples in a single request, refer to the Jobs API POST endpoint.

REQUEST BODY

{
  "shipping_manifest": {
    "comments": "This is a comment for the shipping manifest",
    "courier": "UPS",
    "recipient_institution_id": "BBNCHP001",
    "sender_city": "Richmond",
    "sender_country": "USA",
    "sender_email": "enrolling_user@enroll_site.gov",
    "sender_institution_id": "enroll-99876512",
    "sender_institution_name": "blood draw lab east",
    "sender_person_name": "Joe Technician",
    "sender_phone": "000-000-0000",
    "sender_state": "Virginia",
    "sender_street_1": "Main St",
    "sender_street_2": "Suite 2",
    "sender_zip_code": "20047",
    "shipping_condition": "Frozen Dry Ice",
    "shipping_condition_other": "insulated",
    "shipping_date": "2021-04-30",
    "tracking_number": "4567788343"
  },
  "sample_manifest": []
}

Parameters

Name In Type Required Description
comments body string false comment to be added to the shipping manifest
courier body string false Courier utilized for shipment. Required for shipping transition. See Enumerated List for valid values.
recipient_institution_id body string false ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city body string false The city associated with the sender address.
sender_country body string false The country associated with the sender address.
sender_email body string false Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id body string false The Institution ID of the sender.
sender_institution_name body string false The name of the institution sending the samples.
sender_person_name body string false Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone body string false Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state body string false The state associated with the sender address.
sender_street_1 body string false The name of the street associated with the sender address.
sender_street_2 body string false The name of the additional street information associated with the sender address.
sender_zip_code body string false The ZIP code associated with the sender address.
shipping_condition body string false Method of packaging the samples. Optional. See Enumerated List for valid values.
shipping_condition_other body string false Additional information when shipping_condition is set to Other. Optional.
shipping_date body string false Date of shipment. Required for shipped transition.
tracking_number body string false Air bill number assigned to shipment. Required for shipped transition.

Enumerated Values

Parameter Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other

201 Response

{
  "message": "Data Received Successfully by CSMS",
  "manifest_id": "20220330:nationwide:66786714",
  "csms_ids": [],
  "modified_time": 1648665187
}

Responses

Status Meaning Description Schema
201 Created Data was valid and queued in the system. string
400 Bad Request The JSON payload was invalid or duplicate samples were found. None

Query Manifests

<span class="endpoint">
<span class="method get"> GET </span>
<code>/manifests</code>
</span>

# You can also use wget

curl -X GET /manifests?comments=string&courier=USPS \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/manifests?comments=string&courier=USPS',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/manifests'
, params={"comments":"string","courier":"USPS"}
, headers = headers)

print(r.json())

GET /manifests

Retrieve manifest(s) based on matching search parameters (for example, "manifest_id=20210101:biobank:61717939").

Parameters

Name In Type Required Description
comments query string false comment to be added to the shipping manifest
courier query string false Courier utilized for shipment. Required for shipping transition. See Enumerated List for valid values.
event query string false The update event performed.
manifest_id query string false A unique ID assigned by the CSMS network used to identify the manifest.
modified_time query integer false The epic time from the last update to record.
modified_timestamp query string false The timestamp from the last update to record.
package_condition query string false Condition of shipment received. Required at received transition. See Enumerated List for valid values.
reason query string false The reason for the update action.
received_date query string false Date samples received. Required at received transition.
received_time query string false Time samples received. Required at received transition.
recipient_institution_id query string false ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city query string false The city associated with the sender address.
sender_country query string false The country associated with the sender address.
sender_email query string false Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id query string false The Institution ID of the sender.
sender_institution_name query string false The name of the institution sending the samples.
sender_person_name query string false Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone query string false Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state query string false The state associated with the sender address.
sender_street_1 query string false The name of the street associated with the sender address.
sender_street_2 query string false The name of the additional street information associated with the sender address.
sender_zip_code query string false The ZIP code associated with the sender address.
shipping_condition query string false Method of packaging the samples. Optional. See Enumerated List for valid values.
shipping_condition_other query string false Additional information when shipping_condition is set to Other. Optional.
shipping_date query string false Date of shipment. Required for shipped transition.
status query string false Internal CSMS-Interventional state of manifest. See Enumerated List for valid values.
tracking_number query string false Air bill number assigned to shipment. Required for shipped transition.

Enumerated Values

Parameter Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
package_condition Normal
package_condition Damaged
package_condition Leakage
package_condition Opened
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other
status draft
status ready_to_ship
status delivered
status received
status shipped
status qc_complete

200 Response

{
  "data": {
    "recipient_institution_id": "LBFHCR002",
    "event": "update",
    "reason": "just a test",
    "sender_institution_id": "BBNCHP001",
    "modified_timestamp": "2022-03-30T18:34:50Z",
    "modified_time": 1648665290,
    "manifest_id": "20220330:nationwide:66786714",
    "submitter": "csms_developer@bioappdev.org",
    "status": "draft",
    "samples": []
  },
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. string
400 Bad Request Invalid search parameters. None
403 Forbidden Forbidden access. None
404 Not Found No manifest with the requested search parameters was found. None

Update Manifest

<span class="endpoint">
<span class="method patch"> PATCH </span>
<code>/manifests/{manifest_id}</code>
</span>

# You can also use wget

curl -X PATCH /manifests/{manifest_id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'


const inputBody = '{
  "shipping_manifest": {
    "comments": "This is a comment for the shipping manifest",
    "courier": "UPS",
    "package_condition": "Leakage",
    "received_date": "2021-04-30",
    "received_time": "16:30 Hawaii-Aleutian",
    "recipient_institution_id": "BBNCHP001",
    "sender_city": "Richmond",
    "sender_country": "USA",
    "sender_email": "enrolling_user@enroll_site.gov",
    "sender_institution_id": "enroll-99876512",
    "sender_institution_name": "blood draw lab east",
    "sender_person_name": "Joe Technician",
    "sender_phone": "000-000-0000",
    "sender_state": "Virginia",
    "sender_street_1": "Main St",
    "sender_street_2": "Suite 2",
    "sender_zip_code": "20047",
    "shipping_condition": "Frozen Dry Ice",
    "shipping_condition_other": "insulated",
    "shipping_date": "2021-04-30",
    "status": "received",
    "tracking_number": "4567788343"
  },
  "sample_manifest": []
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('/manifests/{manifest_id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.patch('/manifests/{manifest_id}', headers = headers)

print(r.json())

PATCH /manifests/{manifest_id}

The API enforces a hard limit of 39 samples that can be updated as part of updating a manifest. To update more than 39 samples in a single request, refer to the Jobs API PUT endpoint.

REQUEST BODY

{
  "shipping_manifest": {
    "comments": "This is a comment for the shipping manifest",
    "courier": "UPS",
    "package_condition": "Leakage",
    "received_date": "2021-04-30",
    "received_time": "16:30 Hawaii-Aleutian",
    "recipient_institution_id": "BBNCHP001",
    "sender_city": "Richmond",
    "sender_country": "USA",
    "sender_email": "enrolling_user@enroll_site.gov",
    "sender_institution_id": "enroll-99876512",
    "sender_institution_name": "blood draw lab east",
    "sender_person_name": "Joe Technician",
    "sender_phone": "000-000-0000",
    "sender_state": "Virginia",
    "sender_street_1": "Main St",
    "sender_street_2": "Suite 2",
    "sender_zip_code": "20047",
    "shipping_condition": "Frozen Dry Ice",
    "shipping_condition_other": "insulated",
    "shipping_date": "2021-04-30",
    "status": "received",
    "tracking_number": "4567788343"
  },
  "sample_manifest": []
}

Parameters

Name In Type Required Description
comments body string false comment to be added to the shipping manifest
courier body string false Courier utilized for shipment. Required for shipping transition. See Enumerated List for valid values.
package_condition body string false Condition of shipment received. Required at received transition. See Enumerated List for valid values.
received_date body string false Date samples received. Required at received transition.
received_time body string false Time samples received. Required at received transition.
recipient_institution_id body string false ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city body string false The city associated with the sender address.
sender_country body string false The country associated with the sender address.
sender_email body string false Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id body string false The Institution ID of the sender.
sender_institution_name body string false The name of the institution sending the samples.
sender_person_name body string false Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone body string false Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state body string false The state associated with the sender address.
sender_street_1 body string false The name of the street associated with the sender address.
sender_street_2 body string false The name of the additional street information associated with the sender address.
sender_zip_code body string false The ZIP code associated with the sender address.
shipping_condition body string false Method of packaging the samples. Optional. See Enumerated List for valid values.
shipping_condition_other body string false Additional information when shipping_condition is set to Other. Optional.
shipping_date body string false Date of shipment. Required for shipped transition.
status body string false Internal CSMS-Interventional state of manifest. See Enumerated List for valid values.
tracking_number body string false Air bill number assigned to shipment. Required for shipped transition.
manifest_id path string true Unique manifest identifier.

Enumerated Values

Parameter Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
package_condition Normal
package_condition Damaged
package_condition Leakage
package_condition Opened
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other
status draft
status ready_to_ship
status delivered
status received
status shipped
status qc_complete

200 Response

{
  "message": "Data Received Successfully by CSMS",
  "manifest_id": "20220330:nationwide:66786714",
  "csms_ids": [],
  "modified_time": 1648665187
}

Responses

Status Meaning Description Schema
200 OK Data was valid and queued in the system. Inline
400 Bad Request JSON was invalid. None
403 Forbidden Forbidden access. None
404 Not Found No manifest with the requested ID value was found. None

Response Schema

Retrieve Manifest

<span class="endpoint">
<span class="method get"> GET </span>
<code>/manifests/{manifest_id}</code>
</span>

# You can also use wget

curl -X GET /manifests/{manifest_id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/manifests/{manifest_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/manifests/{manifest_id}', headers = headers)

print(r.json())

GET /manifests/{manifest_id}

Retrieve the specified manifest. Specify 'Accept = vnd.openxmlformats-officedocument.spreadsheetml.sheet' in the header to download Manifest Excel file.

Parameters

Name In Type Required Description
manifest_id path string true Unique manifest identifier.

200 Response

{
  "data": {
    "recipient_institution_id": "LBFHCR002",
    "excluded": false,
    "ship_from": "somewhere",
    "event": "update",
    "reason": "just a test",
    "sender_institution_id": "BBNCHP001",
    "modified_timestamp": "2022-03-30T18:34:50Z",
    "modified_time": 1648665290,
    "manifest_id": "20220330:nationwide:66786714",
    "submitter": "csms_developer@bioappdev.org",
    "status": "draft",
    "samples": []
  },
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Manifest found and manifest information was returned. Inline
404 Not Found No manifest with the requested ID value was found. None

Response Schema

Delete Manifest

<span class="endpoint">
<span class="method delete"> DELETE </span>
<code>/manifests/{manifest_id}</code>
</span>

# You can also use wget

curl -X DELETE /manifests/{manifest_id} \
  -H 'Accept: application/json' \
  -H 'x-delete-reason: Erroneously created'


const headers = {
  'Accept':'application/json',
  'x-delete-reason':'Erroneously created'
};

fetch('/manifests/{manifest_id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json',
  'x-delete-reason': 'Erroneously created'
}

r = requests.delete('/manifests/{manifest_id}', headers = headers)

print(r.json())

DELETE /manifests/{manifest_id}

Delete the specified manifest.

Parameters

Name In Type Required Description
x-delete-reason header string true Reason for deletion.
manifest_id path string true Unique manifest identifier.

200 Response

{
  "message": "manifest deleted 20220330:nationwide:66786714"
}

Responses

Status Meaning Description Schema
200 OK Manifest deleted. Inline
404 Not Found No manifest with the requested ID value was found. None

Response Schema

Retrieve Manifest History

<span class="endpoint">
<span class="method get"> GET </span>
<code>/manifests/history/{manifest_id}</code>
</span>

# You can also use wget

curl -X GET /manifests/history/{manifest_id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/manifests/history/{manifest_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/manifests/history/{manifest_id}', headers = headers)

print(r.json())

GET /manifests/history/{manifest_id}

Retrieve all history for specified manifest

Parameters

Name In Type Required Description
manifest_id path string true The manifest_id of the manifest to retrieve history.

200 Response

[
  {
    "data": {
      "qldb_id": "DJ3vVRFPlkx7rj9CNs0lLb",
      "qldb_version": 0,
      "qldb_txTime": "2021-12-15 15:23:42.117000+00:00",
      "qldb_txId": "3rXE6l7R8OqJi3YyndUHvG",
      "sender_institution_id": "BBNCHP001",
      "courier": "Inter-Site Delivery",
      "recipient_institution_id": "LBFHCR002",
      "modified_timestamp": "2021-12-15T15:23:42Z",
      "modified_time": 1639581822,
      "manifest_id": "20211215:nationwide:55421230",
      "submitter": "csms_developer@bioappdev.org",
      "status": "draft",
      "excluded": false,
      "event": "create"
    },
    "diff": {
      "qldb_id": [
        null,
        "DJ3vVRFPlkx7rj9CNs0lLb"
      ],
      "qldb_version": [
        null,
        0
      ],
      "qldb_txTime": [
        null,
        "2021-12-15 15:23:42.117000+00:00"
      ],
      "qldb_txId": [
        null,
        "3rXE6l7R8OqJi3YyndUHvG"
      ],
      "sender_institution_id": [
        null,
        "BBNCHP001"
      ],
      "courier": [
        null,
        "Inter-Site Delivery"
      ],
      "recipient_institution_id": [
        null,
        "LBFHCR002"
      ],
      "modified_timestamp": [
        null,
        "2021-12-15T15:23:42Z"
      ],
      "modified_time": [
        null,
        1639581822
      ],
      "manifest_id": [
        null,
        "20211215:nationwide:55421230"
      ],
      "submitter": [
        null,
        "csms_developer@bioappdev.org"
      ],
      "status": [
        null,
        "draft"
      ],
      "excluded": [
        null,
        false
      ],
      "event": [
        null,
        "create"
      ]
    }
  }
]

Responses

Status Meaning Description Schema
200 OK History found and history information was returned. Inline
404 Not Found The requested history was not found. None

Response Schema

Retrieve Manifest Snapshot

<span class="endpoint">
<span class="method get"> GET </span>
<code>/manifests/snapshot/{manifest_id}/{modified_time}</code>
</span>

# You can also use wget

curl -X GET /manifests/snapshot/{manifest_id}/{modified_time} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/manifests/snapshot/{manifest_id}/{modified_time}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/manifests/snapshot/{manifest_id}/{modified_time}', headers = headers)

print(r.json())

GET /manifests/snapshot/{manifest_id}/{modified_time}

Retrieve a snapshot for the specified manifest

Parameters

Name In Type Required Description
manifest_id path string true The manifest_id of the manifest to retrieve snapshot.
modified_time path integer true The modified_time of the manifest for the specific snapshot.

200 Response

{
  "data": {
    "recipient_institution_id": "LBCHLA001",
    "sender_email": "test@email.cm",
    "sender_institution_id": "BBNCHP001",
    "sender_institution_name": "MD Anderson Cancer Center",
    "sender_person_name": "Jack Torrance",
    "sender_phone": "703-867-5309",
    "sender_state": "TX",
    "sender_street_1": "123 Main St",
    "sender_zip_code": "20151",
    "shipping_condition": "Ambient",
    "courier": "USPS",
    "schema_version": "2.2.0",
    "status": "draft",
    "recipient_institution_name": "Children's Hospital of Los Angeles - Clinical Immunology Laboratory",
    "modified_timestamp": "2023-10-16T16:17:15Z",
    "modified_time": 1697473035,
    "manifest_id": "20231016:nationwide:58634102",
    "submitter": "0oa3p6e4lvwhhRoxI297",
    "creator_role": "administrator",
    "custodian_institution_id": "Biobank1",
    "event": "create",
    "qldb_id": "Djg3NtZY4DbFxD6UkYwEHA",
    "qldb_version": 0,
    "qldb_txId": "9xSyQQJxR74Ggefm4R6cQ9",
    "qldb_txTime": "2023-10-16 16:17:15.788000+00:00",
    "files_detail": [],
    "comments_detail": [],
    "samples": [
      {
        "sample_id": "pt_download_07",
        "screening_protocol_id": "MYELOMATCH",
        "screening_participant_id": "pt_download_07",
        "biological_sex": "Female",
        "biopsy_site": "C01.9",
        "collection_date": "2021-08-14",
        "collection_time": "10:00 EDT",
        "date_of_birth": "1977-10-01",
        "container_type": "EDTA Tube",
        "collection_event_name": "MRD Assessment",
        "sample_collection_procedure": "Surgical Excision",
        "sample_type": "Skin Tissue",
        "description_of_sample": "Normal",
        "sample_manifest_type": "interventional",
        "schema_version": "2.2.0",
        "modified_timestamp": "2023-10-16T16:17:15Z",
        "modified_time": 1697473035,
        "submitter": null,
        "custodian_institution_id": null,
        "sample_qc_result": null,
        "manifest_id": "20231016:nationwide:58634102",
        "recipient_institution_id": "LBCHLA001",
        "sender_institution_id": "BBNCHP001",
        "status": "draft",
        "creator_role": "administrator",
        "parent_sample_id": "pt_download_07",
        "csms_id": "mm_9106_pbe",
        "original_specimen": "False",
        "event": "create",
        "qldb_id": "HFv3mJQ7c6QBzhaWRMwfT0",
        "qldb_version": 0,
        "qldb_txId": "GJMn2Rbivz19oohIGLi2f6",
        "qldb_txTime": "2023-10-16 16:17:15.962000+00:00",
        "files_detail": [],
        "comments_detail": []
      },
      {
        "sample_id": "pt_download_08",
        "screening_protocol_id": "MYELOMATCH",
        "screening_participant_id": "pt_download_08",
        "biological_sex": "Male",
        "biopsy_site": "C02.9",
        "collection_date": "2020-08-14",
        "collection_time": "10:00 EDT",
        "date_of_birth": "1988-10-01",
        "container_type": "EDTA Tube",
        "collection_event_name": "MRD Assessment",
        "sample_collection_procedure": "Surgical Excision",
        "sample_type": "Skin Tissue",
        "description_of_sample": "Normal",
        "sample_manifest_type": "interventional",
        "schema_version": "2.2.0",
        "modified_timestamp": "2023-10-16T16:17:15Z",
        "modified_time": 1697473035,
        "submitter": null,
        "custodian_institution_id": null,
        "sample_qc_result": null,
        "manifest_id": "20231016:nationwide:58634102",
        "recipient_institution_id": "LBCHLA001",
        "sender_institution_id": "BBNCHP001",
        "status": "draft",
        "creator_role": "administrator",
        "parent_sample_id": "pt_download_08",
        "csms_id": "mm_8024_flw",
        "original_specimen": "False",
        "event": "create",
        "qldb_id": "60bqQFT1O694VhMWxSqVzV",
        "qldb_version": 0,
        "qldb_txId": "GJMn2Rbivz19oohIGLi2f6",
        "qldb_txTime": "2023-10-16 16:17:15.962000+00:00",
        "files_detail": [],
        "comments_detail": []
      }
    ]
  },
  "total": 1
}

Responses

Status Meaning Description Schema
200 OK Snapshot found and snapshot information was returned. Inline
404 Not Found The requested snapshot was not found. None

Response Schema

Download Manifest Excel Template

<span class="endpoint">
<span class="method get"> GET </span>
<code>/manifests/template</code>
</span>

# You can also use wget

curl -X GET /manifests/template \
  -H 'Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'


const headers = {
  'Accept':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
};

fetch('/manifests/template',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}

r = requests.get('/manifests/template', headers = headers)

print(r.json())

GET /manifests/template

Download the Manifest Excel Template for Bulk Uploads.

200 Response

Responses

Status Meaning Description Schema
200 OK Download of the excel template was successful. string
403 Forbidden Forbidden access. None

SAMPLES

Routes for samples

Create Sample

<span class="endpoint">
<span class="method post"> POST </span>
<code>/samples</code>
</span>

# You can also use wget

curl -X POST /samples \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'


const inputBody = '{
  "biological_sex": "Female",
  "biopsy_site": "C50.3",
  "collection_date": "2021-06-02",
  "collection_event_name": "Post-Treatment",
  "collection_time": "16:30 Hawaii-Aleutian",
  "comments": "This is a comment for the sample",
  "container_type": "Other",
  "container_type_other": "Description of some other tube used.",
  "cores_submitted": "Yes",
  "csms_id": "mm_1234_jrh",
  "date_of_birth": "1970-11-30",
  "description_of_sample": "Tumor",
  "description_of_tumor_sample": "Benign",
  "directionality": "Lateral",
  "fixation_stabilization_type": "Ficoll",
  "laterality": "Right",
  "locational_tumor_malignancy_class": "Primary",
  "number_cores_submitted": "2",
  "operational_id": "E1000-A",
  "parent_sample_id": "string",
  "processed_sample_derivative": "Germline DNA",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "sample_collection_procedure": "Other",
  "sample_collection_procedure_other": "Description of Other Procedure Used",
  "sample_id": "E1000-A",
  "sample_manifest_type": "interventional",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type": "Other",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "screening_participant_id": "7bh45z",
  "screening_protocol_id": "MyeloMATCH",
  "treatment_participant_id": "tp_99-45688",
  "treatment_protocol_id": "22-6789"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('/samples',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('/samples', headers = headers)

print(r.json())

POST /samples

Sample information in a JSON dict sent to this path for creation of a new sample. The data is validated and queued for update. Samples created using this path may include an optional manfest_id field to associate the sample with a manifest.

REQUEST BODY

{
  "biological_sex": "Female",
  "biopsy_site": "C50.3",
  "collection_date": "2021-06-02",
  "collection_event_name": "Post-Treatment",
  "collection_time": "16:30 Hawaii-Aleutian",
  "comments": "This is a comment for the sample",
  "container_type": "Other",
  "container_type_other": "Description of some other tube used.",
  "cores_submitted": "Yes",
  "csms_id": "mm_1234_jrh",
  "date_of_birth": "1970-11-30",
  "description_of_sample": "Tumor",
  "description_of_tumor_sample": "Benign",
  "directionality": "Lateral",
  "fixation_stabilization_type": "Ficoll",
  "laterality": "Right",
  "locational_tumor_malignancy_class": "Primary",
  "number_cores_submitted": "2",
  "operational_id": "E1000-A",
  "parent_sample_id": "string",
  "processed_sample_derivative": "Germline DNA",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "sample_collection_procedure": "Other",
  "sample_collection_procedure_other": "Description of Other Procedure Used",
  "sample_id": "E1000-A",
  "sample_manifest_type": "interventional",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type": "Other",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "screening_participant_id": "7bh45z",
  "screening_protocol_id": "MyeloMATCH",
  "treatment_participant_id": "tp_99-45688",
  "treatment_protocol_id": "22-6789"
}

201 Response

{
  "message": "Data Received Successfully by CSMS",
  "csms_id": "mm_0536_svu",
  "modified_time": 1650889491
}

Responses

Status Meaning Description Schema
201 Created JSON is valid and queued in the system. Inline
400 Bad Request JSON was invalid, duplicate samples were detected, or the manifest_id value is invalid. None

Response Schema

Query Samples

<span class="endpoint">
<span class="method get"> GET </span>
<code>/samples</code>
</span>

# You can also use wget

curl -X GET /samples?a260_or_a230_value=10&a260_or_a280_value=10 \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/samples?a260_or_a230_value=10&a260_or_a280_value=10',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/samples'
, params={"a260_or_a230_value":"10","a260_or_a280_value":"10"}
, headers = headers)

print(r.json())

GET /samples

Retrieve sample(s) based on matching search parameters (for example, "csms_id=mm_0536_svu").

Parameters

Name In Type Required Description
a260_or_a230_value query integer false An absorbance percentage ratio indicating presence of contaminants (values of 0 to 3).
a260_or_a280_value query integer false An absorbance percentage ratio indicating purity of DNA (values of 0 to 2).
biological_sex query string false biological sex for tissue samples. See Enumerated List for valid values.
biopsy_site query string false Biopsy site for tissue samples.
blast_percentage query number false TBD
box_coordinates query string false Coordinates describing the location of the box used for sample storage.
collection_date query string false Date the sample was collected.
collection_event_name query string false Categorical description of the time point at which the sample was taken.
collection_time query string false Estimated time when sample was devascularized--Ischemic Start Time.
comments query string false comment to be added to the sample
container_type query string false Type of container used to transport sample. See Enumerated List for valid values.
container_type_other query string false Additional details when Other is selected for container type.
cores_submitted query string false Indicates whether cores are submitted with the sample. See Enumerated List for valid values.
csms_id query string false Sample identifier assigned by the CSMS-Interventional Network.
custodian_institution_id query string false Current institution ID in possession or the custodian of the sample.
date_of_birth query string false Participant date of birth.
description_of_sample query string false Type of tissue associated with the sample. See Enumerated List for valid values.
description_of_tumor_sample query string false Description of tumor sample. See Enumerated List for valid values.
din_value query integer false Provides a DNA Integrity Number as an indication of extraction quality (values of 1-10).
directionality query string false Directionality [Lateral, Midline]. See Enumerated List for valid values.
dv200 query number false Percentage of RNA fragments above 200 nucleotides.
event query string false The update event performed.
fibrosis_percent_area query number false Score the percentage area of fibrosis. QC field is editable by labs.
fixation_stabilization_type query string false TBD See Enumerated List for valid values.
laterality query string false Laterality [Left, Right, Bilateral]. See Enumerated List for valid values.
locational_tumor_malignancy_class query string false Location of the malignancy. See Enumerated List for valid values.
manifest_id query string false The manifest ID. Include this value to associate the sample with a manifest. Use an empty string in a PATCH request to disassociate the sample from all manifests.
med_tin query number false Median transcript integrity number to score RNA degradation.
necrosis_percent_area query number false Score the percentage area of necrosis. QC field is editable by labs.
nitrogen_tank query string false Describes the nitrogen tank where samples are stored long-term.
number_cores_submitted query string false Number of cores submitted. See Enumerated List for valid values.
operational_id query string false Identifier assigned by biorepository or lab.
original_sample query boolean false True if the sample is created by an enrolling site.
parent_csms_id query string false CSMS identifier of the parent sample, if this sample is a child.
parent_sample_id query string false Sample identifier assigned by the biorepository site.
percent_viability query number false TBD
processed_sample_derivative query string false The type of derivative or analyte extracted from the sample to be shipped for testing. See Enumerated List for valid values.
processed_sample_id query string false Aliquot identifier assigned by the bio repository site.
processed_sample_type query string false The type of processing that was performed on the collected sample by the Biobank or Bio repository for storage. See Enumerated List for valid values.
rack_id query string false Describes the rack number where samples are stored long-term.
reason query string false The reason for the update action.
replacement_sample_requested query string false Indication if sample replacement is/was requested. QC field is editable by labs. See Enumerated List for valid values.
rin_value query number false A numerical measure of RNA integrity (RNA Integrity Number).
sample_collection_procedure query string false Indicates the sample source of the sample shipped. See Enumerated List for valid values.
sample_collection_procedure_other query string false Additional information when Other is specified for sample_collection_procedure.
sample_id query string false Identifier assigned by biorepository or lab.
sample_manifest_type query string false The type of processing that was performed on the collected sample by the Biobank for storage. normal_blood_dna is deprecated. Use blood_nucleic_acid instead. See Enumerated List for valid values.
sample_qc_fail_reason query string false Reason QC check failed. See Enumerated List for valid values.
sample_qc_fail_reason_other query string false Additional detail when Other selected for sample_qc_fail_reason.
sample_qc_result query string false Result of quality control review. See Enumerated List for valid values.
sample_shipping_condition query string false Description of the sample shipping condition. See Enumerated List for valid values.
sample_shipping_condition_other query string false Description describing the use of the other field associated with sample_shipping_condition property.
sample_type query string false Type of sample. See Enumerated List for valid values.
sample_type_other query string false Additional details when Other is selected for sample_type.
sample_uom query string false Unit of measure associated with sample_quantity. See Enumerated List for valid values.
sample_volume_quantity query number false The volume of the sample.
screening_participant_id query string false Participant Identifier.
screening_protocol_id query string false Protocol or Clinical Trial program. See Enumerated List for valid values.
shelf query string false Describes the shelf where samples are stored long-term.
status query string false Internal CSMS state of the sample. Manifest and sample status cannot both be changed in the same request. See Enumerated List for valid values.
storage_box_number query string false Describes the box number where samples are stored long-term.
storage_environment query string false Storage environment assigned to sample. See Enumerated List for valid values.
storage_room query string false Describes the room location where samples are stored long-term.
storage_temperature query string false Describes the long-term storage temperature.
storage_unit_type query string false Equipment used to store the sample. See Enumerated List for valid values.
storage_unit_type_other query string false Description of the other equipment being used for storage of the sample.
treatment_participant_id query string false Optional field for collecting treatment participant identifier.
treatment_protocol_id query string false Optional field for collecting ID of treatment protocol.
viable_stroma_percent_area query number false Percent of the area that is viable stroma.
viable_tumor_percent_area query number false Score the percentage of viable tumor cells comprising the tumor bed area. QC field is editable by labs.

Enumerated Values

Parameter Value
biological_sex Male
biological_sex Female
container_type ACD-A Tube
container_type ACD-B Tube
container_type Bag
container_type Box
container_type CellSave Tube
container_type Conical Tube
container_type Container
container_type CPT Citrate Tube
container_type CPT Heparin Tube
container_type Cryovial
container_type EDTA Tube
container_type Fecal Collection Container with NA Stabilizer
container_type FFPE Tissue Cassette
container_type Formalin Jar
container_type Image
container_type Lithium Heparin Tube
container_type OMNIgene
container_type OMNImet
container_type PAXgene DNA Tube
container_type PAXgene RNA Tube
container_type Plain Red Top Tube
container_type PPT Tube
container_type Saliva Tube
container_type Screw Top Jar
container_type Slide
container_type Slide Cassette
container_type Smart Tube
container_type Sodium Citrate Tube
container_type Sodium Heparin Tube
container_type SST Tube
container_type Streck Tube
container_type Other
cores_submitted Yes
cores_submitted No
description_of_sample Normal
description_of_sample Tumor
description_of_sample Unknown
description_of_tumor_sample Benign
description_of_tumor_sample In Situ
description_of_tumor_sample Malignant
description_of_tumor_sample Unknown
directionality Lateral
directionality Midline
fixation_stabilization_type Ficoll
fixation_stabilization_type Formalin Fixation
fixation_stabilization_type Formalin-Fixed Paraffin-Embedded (FFPE)
fixation_stabilization_type Frozen
fixation_stabilization_type 70% Ethanol
fixation_stabilization_type H&E
fixation_stabilization_type Liquid Nitrogen (Frozen)
fixation_stabilization_type OCT (Frozen)
fixation_stabilization_type Proteomic Stabilization
fixation_stabilization_type Thaw-Lyse
fixation_stabilization_type Not Reported
fixation_stabilization_type Other
laterality Left
laterality Right
laterality Bilateral
locational_tumor_malignancy_class Primary
locational_tumor_malignancy_class Metastasis
locational_tumor_malignancy_class Metastatic Lymph Node
locational_tumor_malignancy_class Unknown
number_cores_submitted 1
number_cores_submitted 2
number_cores_submitted 3
number_cores_submitted 4
number_cores_submitted 5
number_cores_submitted 6
number_cores_submitted 7
number_cores_submitted Not Reported
number_cores_submitted Other
processed_sample_derivative cfDNA
processed_sample_derivative ctDNA
processed_sample_derivative DNA
processed_sample_derivative Germline DNA
processed_sample_derivative Germline RNA
processed_sample_derivative Other
processed_sample_derivative RNA
processed_sample_derivative Protein Lysate
processed_sample_derivative Peptides
processed_sample_derivative Germline Nucleic Acid
processed_sample_derivative Nucleic Acid
processed_sample_type BAL Cells
processed_sample_type BAL Cell Supernatant
processed_sample_type BMMC
processed_sample_type BMMC Supernatant
processed_sample_type Bone Marrow Film
processed_sample_type Buccal Cells
processed_sample_type Buffy Coat
processed_sample_type cfDNA
processed_sample_type CSF Cell Supernatant
processed_sample_type CSF Cells
processed_sample_type CTC Cell Supernatant
processed_sample_type CTC Cells
processed_sample_type ctDNA
processed_sample_type Cytospin Film
processed_sample_type DNA
processed_sample_type FFPE Block
processed_sample_type FFPE Block Punch
processed_sample_type FFPE Section
processed_sample_type FFPE Tissue Core
processed_sample_type FFPE Tissue Curl
processed_sample_type FFPE Tissue Scroll
processed_sample_type Formalin Fixed Tissue
processed_sample_type Germline DNA
processed_sample_type Germline RNA
processed_sample_type Leukapheresis Cells
processed_sample_type Other
processed_sample_type PBMC
processed_sample_type PBMC Supernatant
processed_sample_type PBSC
processed_sample_type PBSC Supernatant
processed_sample_type Peritoneal Cell Supernatant
processed_sample_type Peritoneal Cells
processed_sample_type Plasma
processed_sample_type Pleural Cell Supernatant
processed_sample_type Pleural Cells
processed_sample_type RNA
processed_sample_type Serum
processed_sample_type Whole Blood Film
processed_sample_type Protein Lysate
processed_sample_type Peptides
processed_sample_type Germline Nucleic Acid
processed_sample_type Nucleic Acid
processed_sample_type H&E Fixed Tissue Slide
processed_sample_type Fixed Tissue Slide
processed_sample_type WBC
replacement_sample_requested Replacement Not Requested
replacement_sample_requested Replacement Requested
replacement_sample_requested Replacement Tested
replacement_sample_requested Not Reported
replacement_sample_requested Other
sample_collection_procedure Apheresis
sample_collection_procedure Bone Biopsy
sample_collection_procedure Bone Marrow Core Biopsy
sample_collection_procedure Bone Marrow Aspiration
sample_collection_procedure Bronchoalveolar Lavage
sample_collection_procedure Buccal Swab
sample_collection_procedure Core Biopsy
sample_collection_procedure Endoscopic Biopsy
sample_collection_procedure FFPE Block Punch Biopsy
sample_collection_procedure Fine Needle Aspiration
sample_collection_procedure Leukapheresis
sample_collection_procedure Lumbar Puncture
sample_collection_procedure Mid Stream Urine Collection
sample_collection_procedure Not Reported
sample_collection_procedure Peritoneal Lavage
sample_collection_procedure Peritoneal Paracentesis
sample_collection_procedure Phlebotomy
sample_collection_procedure Pleural Thoracentesis
sample_collection_procedure Saliva Collection
sample_collection_procedure Skin Biopsy
sample_collection_procedure Stool Collection
sample_collection_procedure Surgical Excision
sample_collection_procedure Surgical Incision
sample_collection_procedure Urine Voiding
sample_collection_procedure Other
sample_manifest_type blood_nucleic_acid
sample_manifest_type tissue_nucleic_acid
sample_manifest_type tissue_slides
sample_manifest_type tissue_h_and_e
sample_manifest_type biofluid_plasma
sample_manifest_type biofluid_cellular
sample_manifest_type biofluid_cellular_nucleic_acid
sample_manifest_type microbiome
sample_manifest_type interventional
sample_qc_fail_reason Frozen
sample_qc_fail_reason Thawed
sample_qc_fail_reason Hemolysis
sample_qc_fail_reason Container Damaged
sample_qc_fail_reason Container Leaking
sample_qc_fail_reason Insufficient Material
sample_qc_fail_reason Insufficient Medium
sample_qc_fail_reason Other
sample_qc_result QC Pass
sample_qc_result Pass at Risk
sample_qc_result QC Failed
sample_qc_result QC Lost
sample_qc_result QC Not Shipped
sample_shipping_condition Frozen Shipper
sample_shipping_condition Frozen Dry Ice
sample_shipping_condition Ice/Cold Pack
sample_shipping_condition Ambient
sample_shipping_condition Not Reported
sample_shipping_condition Other
sample_type BAL Cells
sample_type BAL Cell Supernatant
sample_type BAL Fluid
sample_type BMMC
sample_type BMMC Supernatant
sample_type Bone Marrow Aspirate
sample_type Bone Marrow Core
sample_type Bone Marrow Film
sample_type Buccal Cells
sample_type Buffy Coat
sample_type CAR-T Cells
sample_type cfDNA
sample_type CSF
sample_type CSF Cells
sample_type CSF Cell Supernatant
sample_type CTC Cells
sample_type CTC Cell Supernatant
sample_type ctDNA
sample_type Cytospin Film
sample_type DNA
sample_type FFPE Block
sample_type FFPE Block Punch
sample_type FFPE Section
sample_type FFPE Tissue Core
sample_type FFPE Tissue Curl
sample_type FFPE Tissue Scroll
sample_type Fine Needle Aspirate
sample_type Fixed Tissue Slide
sample_type Formalin Fixed Tissue
sample_type Fresh Tissue
sample_type Fresh Tissue Core
sample_type Frozen Tissue
sample_type Frozen Tissue Block
sample_type Frozen Tissue Curl
sample_type Frozen Tissue Core
sample_type Frozen Tissue Section
sample_type Germline DNA
sample_type Germline Nucleic Acid
sample_type Germline RNA
sample_type H&E Fixed Tissue Slide
sample_type Leukapheresis Cells
sample_type Lymph Node Tissue
sample_type Nucleic Acid
sample_type OCT Frozen Tissue
sample_type OCT Frozen Tissue Block
sample_type OCT Frozen Tissue Core
sample_type OCT Frozen Tissue Curl
sample_type OCT Frozen Tissue Section
sample_type PBMC
sample_type PBMC Supernatant
sample_type PBSC
sample_type PBSC Supernatant
sample_type Peptides
sample_type Pericardial Fluid
sample_type Peritoneal Cells
sample_type Peritoneal Cell Supernatant
sample_type Peritoneal Fluid
sample_type Peritoneal Lavage Fluid
sample_type Plasma
sample_type Pleural Cells
sample_type Pleural Cell Supernatant
sample_type Pleural Fluid
sample_type Protein Lysate
sample_type RNA
sample_type Saliva
sample_type Serum
sample_type Skin Tissue
sample_type Stool
sample_type Synovial Fluid
sample_type Tissue Core
sample_type Urine
sample_type WBC
sample_type Whole Blood
sample_type Whole Blood Film
sample_type Other
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter
screening_protocol_id MYELOMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH
status draft
status in_lab
status in_transit
status in_qc
status in_storage
status disposed
status missing
storage_environment Ambient
storage_environment RT
storage_environment 4 Celsius Degree
storage_environment -20 Degrees Celsius Or Minus 20 Degrees Celsius
storage_environment -80 Degrees Celsius Or Minus 80 Degrees Celsius
storage_environment -150 Degrees Celsius Or Minus 150 Degrees Celsius
storage_environment LN
storage_environment Dry Ice
storage_environment Not Reported
storage_environment Other
storage_unit_type Freezer
storage_unit_type Refrigerator
storage_unit_type Cabinet
storage_unit_type LNTank
storage_unit_type Other

200 Response

{
  "data": [
    {
      "biological_sex": "Female",
      "biopsy_site": "C02.9",
      "collection_date": "2022-06-18",
      "collection_event_name": "Progression",
      "container_type": "Saliva Tube",
      "date_of_birth": "1978-04-22",
      "description_of_sample": "Normal",
      "screening_participant_id": "pt_026",
      "screening_protocol_id": "iMATCH",
      "sample_collection_procedure": "Pleural Thoracentesis",
      "sample_type": "FFPE Section",
      "sample_manifest_type": "interventional",
      "sample_id": "mkMYELOMATCH01",
      "operational_id": "mkOperational1",
      "collection_time": "14:00 EDT",
      "sample_shipping_condition": "Frozen Dry Ice",
      "schema_version": "2.2.0",
      "recipient_institution_id": "LBTWST001",
      "sender_institution_id": "BBNCHP001",
      "creator_role": "administrator",
      "parent_sample_id": "mkMYELOMATCH01",
      "original_specimen": "False",
      "custodian_institution_id": "LBTWST001",
      "sample_qc_result": "QC Pass",
      "status": "in_lab",
      "manifest_id": null,
      "blast_percentage": 55.57,
      "viable_tumor_percent_area": 29.37,
      "viable_stroma_percent_area": 25.5,
      "fibrosis_percent_area": 24.017,
      "percent_viability": 23.3,
      "dv200": 15,
      "rin_value": 5,
      "necrosis_percent_area": 24,
      "csms_id": "im_9049_prm",
      "modified_timestamp": "2023-10-17T19:41:00Z",
      "modified_time": 1697571660,
      "submitter": null,
      "event": "update",
      "files_detail": [],
      "comments_detail": []
    }
  ],
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. Inline
400 Bad Request Invalid query string. None

Response Schema

Update Sample

<span class="endpoint">
<span class="method patch"> PATCH </span>
<code>/samples/{csms_id}</code>
</span>

# You can also use wget

curl -X PATCH /samples/{csms_id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'


const inputBody = '{
  "biological_sex": "Female",
  "biopsy_site": "C50.3",
  "collection_date": "2021-06-02",
  "collection_event_name": "Post-Treatment",
  "collection_time": "16:30 Hawaii-Aleutian",
  "container_type": "Other",
  "date_of_birth": "1970-11-30",
  "sample_collection_procedure": "Other",
  "sample_type": "Other",
  "screening_participant_id": "7bh45z",
  "screening_protocol_id": "MyeloMATCH",
  "a260_or_a230_value": 10,
  "a260_or_a280_value": 10,
  "blast_percentage": "1.2",
  "box_coordinates": "tile 22h",
  "comments": "This is a comment for the sample",
  "container_type_other": "Description of some other tube used.",
  "cores_submitted": "Yes",
  "csms_id": "mm_1234_jrh",
  "custodian_institution_id": "string",
  "description_of_sample": "Tumor",
  "description_of_tumor_sample": "Benign",
  "din_value": 10,
  "directionality": "Lateral",
  "dv200": "51.273",
  "event": "string",
  "fibrosis_percent_area": "21.2",
  "fixation_stabilization_type": "Ficoll",
  "laterality": "Right",
  "locational_tumor_malignancy_class": "Primary",
  "manifest_id": "20220729_jrh_65108327",
  "med_tin": "7.381999",
  "necrosis_percent_area": 100,
  "nitrogen_tank": "nx-tank1",
  "number_cores_submitted": "2",
  "operational_id": "E1000-A",
  "original_sample": "True",
  "parent_csms_id": "mm_1214_jrh",
  "parent_sample_id": "string",
  "percent_viability": "1.2",
  "processed_sample_derivative": "Germline DNA",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "rack_id": "rack_id_2204",
  "reason": "string",
  "replacement_sample_requested": "Replacement Not Requested",
  "rin_value": "0.29",
  "sample_collection_procedure_other": "Description of Other Procedure Used",
  "sample_id": "E1000-A",
  "sample_manifest_type": "interventional",
  "sample_qc_fail_reason": "Container Damaged",
  "sample_qc_fail_reason_other": "Incorrect handling of sample",
  "sample_qc_result": "QC Pass",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "shelf": "string",
  "status": "in_lab",
  "storage_box_number": "box_76399",
  "storage_environment": "LN",
  "storage_room": "room bio-456",
  "storage_temperature": "5c",
  "storage_unit_type": "Refrigerator",
  "storage_unit_type_other": "Vault",
  "treatment_participant_id": "tp_99-45688",
  "treatment_protocol_id": "22-6789",
  "viable_stroma_percent_area": "4.82",
  "viable_tumor_percent_area": "81.2"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('/samples/{csms_id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.patch('/samples/{csms_id}', headers = headers)

print(r.json())

PATCH /samples/{csms_id}

Update specific data on a previously created sample.

REQUEST BODY

{
  "biological_sex": "Female",
  "biopsy_site": "C50.3",
  "collection_date": "2021-06-02",
  "collection_event_name": "Post-Treatment",
  "collection_time": "16:30 Hawaii-Aleutian",
  "container_type": "Other",
  "date_of_birth": "1970-11-30",
  "sample_collection_procedure": "Other",
  "sample_type": "Other",
  "screening_participant_id": "7bh45z",
  "screening_protocol_id": "MyeloMATCH",
  "a260_or_a230_value": 10,
  "a260_or_a280_value": 10,
  "blast_percentage": "1.2",
  "box_coordinates": "tile 22h",
  "comments": "This is a comment for the sample",
  "container_type_other": "Description of some other tube used.",
  "cores_submitted": "Yes",
  "csms_id": "mm_1234_jrh",
  "custodian_institution_id": "string",
  "description_of_sample": "Tumor",
  "description_of_tumor_sample": "Benign",
  "din_value": 10,
  "directionality": "Lateral",
  "dv200": "51.273",
  "event": "string",
  "fibrosis_percent_area": "21.2",
  "fixation_stabilization_type": "Ficoll",
  "laterality": "Right",
  "locational_tumor_malignancy_class": "Primary",
  "manifest_id": "20220729_jrh_65108327",
  "med_tin": "7.381999",
  "necrosis_percent_area": 100,
  "nitrogen_tank": "nx-tank1",
  "number_cores_submitted": "2",
  "operational_id": "E1000-A",
  "original_sample": "True",
  "parent_csms_id": "mm_1214_jrh",
  "parent_sample_id": "string",
  "percent_viability": "1.2",
  "processed_sample_derivative": "Germline DNA",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "rack_id": "rack_id_2204",
  "reason": "string",
  "replacement_sample_requested": "Replacement Not Requested",
  "rin_value": "0.29",
  "sample_collection_procedure_other": "Description of Other Procedure Used",
  "sample_id": "E1000-A",
  "sample_manifest_type": "interventional",
  "sample_qc_fail_reason": "Container Damaged",
  "sample_qc_fail_reason_other": "Incorrect handling of sample",
  "sample_qc_result": "QC Pass",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "shelf": "string",
  "status": "in_lab",
  "storage_box_number": "box_76399",
  "storage_environment": "LN",
  "storage_room": "room bio-456",
  "storage_temperature": "5c",
  "storage_unit_type": "Refrigerator",
  "storage_unit_type_other": "Vault",
  "treatment_participant_id": "tp_99-45688",
  "treatment_protocol_id": "22-6789",
  "viable_stroma_percent_area": "4.82",
  "viable_tumor_percent_area": "81.2"
}

Parameters

Name In Type Required Description
a260_or_a230_value body integer false An absorbance percentage ratio indicating presence of contaminants (values of 0 to 3).
a260_or_a280_value body integer false An absorbance percentage ratio indicating purity of DNA (values of 0 to 2).
biological_sex body string false biological sex for tissue samples. See Enumerated List for valid values.
biopsy_site body string false Biopsy site for tissue samples.
blast_percentage body number false TBD
box_coordinates body string false Coordinates describing the location of the box used for sample storage.
collection_date body string false Date the sample was collected.
collection_event_name body string false Categorical description of the time point at which the sample was taken.
collection_time body string false Estimated time when sample was devascularized--Ischemic Start Time.
comments body string false comment to be added to the sample
container_type body string false Type of container used to transport sample. See Enumerated List for valid values.
container_type_other body string false Additional details when Other is selected for container type.
cores_submitted body string false Indicates whether cores are submitted with the sample. See Enumerated List for valid values.
date_of_birth body string false Participant date of birth.
description_of_sample body string false Type of tissue associated with the sample. See Enumerated List for valid values.
description_of_tumor_sample body string false Description of tumor sample. See Enumerated List for valid values.
din_value body integer false Provides a DNA Integrity Number as an indication of extraction quality (values of 1-10).
directionality body string false Directionality [Lateral, Midline]. See Enumerated List for valid values.
dv200 body number false Percentage of RNA fragments above 200 nucleotides.
fibrosis_percent_area body number false Score the percentage area of fibrosis. QC field is editable by labs.
fixation_stabilization_type body string false TBD See Enumerated List for valid values.
laterality body string false Laterality [Left, Right, Bilateral]. See Enumerated List for valid values.
locational_tumor_malignancy_class body string false Location of the malignancy. See Enumerated List for valid values.
manifest_id body string false The manifest ID. Include this value to associate the sample with a manifest. Use an empty string in a PATCH request to disassociate the sample from all manifests.
med_tin body number false Median transcript integrity number to score RNA degradation.
necrosis_percent_area body number false Score the percentage area of necrosis. QC field is editable by labs.
nitrogen_tank body string false Describes the nitrogen tank where samples are stored long-term.
number_cores_submitted body string false Number of cores submitted. See Enumerated List for valid values.
operational_id body string false Identifier assigned by biorepository or lab.
parent_sample_id body string false Sample identifier assigned by the biorepository site.
percent_viability body number false TBD
processed_sample_derivative body string false The type of derivative or analyte extracted from the sample to be shipped for testing. See Enumerated List for valid values.
processed_sample_id body string false Aliquot identifier assigned by the bio repository site.
processed_sample_type body string false The type of processing that was performed on the collected sample by the Biobank or Bio repository for storage. See Enumerated List for valid values.
rack_id body string false Describes the rack number where samples are stored long-term.
replacement_sample_requested body string false Indication if sample replacement is/was requested. QC field is editable by labs. See Enumerated List for valid values.
rin_value body number false A numerical measure of RNA integrity (RNA Integrity Number).
sample_collection_procedure body string false Indicates the sample source of the sample shipped. See Enumerated List for valid values.
sample_collection_procedure_other body string false Additional information when Other is specified for sample_collection_procedure.
sample_id body string false Identifier assigned by biorepository or lab.
sample_manifest_type body string false The type of processing that was performed on the collected sample by the Biobank for storage. normal_blood_dna is deprecated. Use blood_nucleic_acid instead. See Enumerated List for valid values.
sample_qc_fail_reason body string false Reason QC check failed. See Enumerated List for valid values.
sample_qc_fail_reason_other body string false Additional detail when Other selected for sample_qc_fail_reason.
sample_qc_result body string false Result of quality control review. See Enumerated List for valid values.
sample_shipping_condition body string false Description of the sample shipping condition. See Enumerated List for valid values.
sample_shipping_condition_other body string false Description describing the use of the other field associated with sample_shipping_condition property.
sample_type body string false Type of sample. See Enumerated List for valid values.
sample_type_other body string false Additional details when Other is selected for sample_type.
sample_uom body string false Unit of measure associated with sample_quantity. See Enumerated List for valid values.
sample_volume_quantity body number false The volume of the sample.
screening_participant_id body string false Participant Identifier.
screening_protocol_id body string false Protocol or Clinical Trial program. See Enumerated List for valid values.
shelf body string false Describes the shelf where samples are stored long-term.
status body string false Internal CSMS state of the sample. Manifest and sample status cannot both be changed in the same request. See Enumerated List for valid values.
storage_box_number body string false Describes the box number where samples are stored long-term.
storage_environment body string false Storage environment assigned to sample. See Enumerated List for valid values.
storage_room body string false Describes the room location where samples are stored long-term.
storage_temperature body string false Describes the long-term storage temperature.
storage_unit_type body string false Equipment used to store the sample. See Enumerated List for valid values.
storage_unit_type_other body string false Description of the other equipment being used for storage of the sample.
treatment_participant_id body string false Optional field for collecting treatment participant identifier.
treatment_protocol_id body string false Optional field for collecting ID of treatment protocol.
viable_stroma_percent_area body number false Percent of the area that is viable stroma.
viable_tumor_percent_area body number false Score the percentage of viable tumor cells comprising the tumor bed area. QC field is editable by labs.
csms_id path string true Unique Sample Identifier.

Enumerated Values

Parameter Value
biological_sex Male
biological_sex Female
container_type ACD-A Tube
container_type ACD-B Tube
container_type Bag
container_type Box
container_type CellSave Tube
container_type Conical Tube
container_type Container
container_type CPT Citrate Tube
container_type CPT Heparin Tube
container_type Cryovial
container_type EDTA Tube
container_type Fecal Collection Container with NA Stabilizer
container_type FFPE Tissue Cassette
container_type Formalin Jar
container_type Image
container_type Lithium Heparin Tube
container_type OMNIgene
container_type OMNImet
container_type PAXgene DNA Tube
container_type PAXgene RNA Tube
container_type Plain Red Top Tube
container_type PPT Tube
container_type Saliva Tube
container_type Screw Top Jar
container_type Slide
container_type Slide Cassette
container_type Smart Tube
container_type Sodium Citrate Tube
container_type Sodium Heparin Tube
container_type SST Tube
container_type Streck Tube
container_type Other
cores_submitted Yes
cores_submitted No
description_of_sample Normal
description_of_sample Tumor
description_of_sample Unknown
description_of_tumor_sample Benign
description_of_tumor_sample In Situ
description_of_tumor_sample Malignant
description_of_tumor_sample Unknown
directionality Lateral
directionality Midline
fixation_stabilization_type Ficoll
fixation_stabilization_type Formalin Fixation
fixation_stabilization_type Formalin-Fixed Paraffin-Embedded (FFPE)
fixation_stabilization_type Frozen
fixation_stabilization_type 70% Ethanol
fixation_stabilization_type H&E
fixation_stabilization_type Liquid Nitrogen (Frozen)
fixation_stabilization_type OCT (Frozen)
fixation_stabilization_type Proteomic Stabilization
fixation_stabilization_type Thaw-Lyse
fixation_stabilization_type Not Reported
fixation_stabilization_type Other
laterality Left
laterality Right
laterality Bilateral
locational_tumor_malignancy_class Primary
locational_tumor_malignancy_class Metastasis
locational_tumor_malignancy_class Metastatic Lymph Node
locational_tumor_malignancy_class Unknown
number_cores_submitted 1
number_cores_submitted 2
number_cores_submitted 3
number_cores_submitted 4
number_cores_submitted 5
number_cores_submitted 6
number_cores_submitted 7
number_cores_submitted Not Reported
number_cores_submitted Other
processed_sample_derivative cfDNA
processed_sample_derivative ctDNA
processed_sample_derivative DNA
processed_sample_derivative Germline DNA
processed_sample_derivative Germline RNA
processed_sample_derivative Other
processed_sample_derivative RNA
processed_sample_derivative Protein Lysate
processed_sample_derivative Peptides
processed_sample_derivative Germline Nucleic Acid
processed_sample_derivative Nucleic Acid
processed_sample_type BAL Cells
processed_sample_type BAL Cell Supernatant
processed_sample_type BMMC
processed_sample_type BMMC Supernatant
processed_sample_type Bone Marrow Film
processed_sample_type Buccal Cells
processed_sample_type Buffy Coat
processed_sample_type cfDNA
processed_sample_type CSF Cell Supernatant
processed_sample_type CSF Cells
processed_sample_type CTC Cell Supernatant
processed_sample_type CTC Cells
processed_sample_type ctDNA
processed_sample_type Cytospin Film
processed_sample_type DNA
processed_sample_type FFPE Block
processed_sample_type FFPE Block Punch
processed_sample_type FFPE Section
processed_sample_type FFPE Tissue Core
processed_sample_type FFPE Tissue Curl
processed_sample_type FFPE Tissue Scroll
processed_sample_type Formalin Fixed Tissue
processed_sample_type Germline DNA
processed_sample_type Germline RNA
processed_sample_type Leukapheresis Cells
processed_sample_type Other
processed_sample_type PBMC
processed_sample_type PBMC Supernatant
processed_sample_type PBSC
processed_sample_type PBSC Supernatant
processed_sample_type Peritoneal Cell Supernatant
processed_sample_type Peritoneal Cells
processed_sample_type Plasma
processed_sample_type Pleural Cell Supernatant
processed_sample_type Pleural Cells
processed_sample_type RNA
processed_sample_type Serum
processed_sample_type Whole Blood Film
processed_sample_type Protein Lysate
processed_sample_type Peptides
processed_sample_type Germline Nucleic Acid
processed_sample_type Nucleic Acid
processed_sample_type H&E Fixed Tissue Slide
processed_sample_type Fixed Tissue Slide
processed_sample_type WBC
replacement_sample_requested Replacement Not Requested
replacement_sample_requested Replacement Requested
replacement_sample_requested Replacement Tested
replacement_sample_requested Not Reported
replacement_sample_requested Other
sample_collection_procedure Apheresis
sample_collection_procedure Bone Biopsy
sample_collection_procedure Bone Marrow Core Biopsy
sample_collection_procedure Bone Marrow Aspiration
sample_collection_procedure Bronchoalveolar Lavage
sample_collection_procedure Buccal Swab
sample_collection_procedure Core Biopsy
sample_collection_procedure Endoscopic Biopsy
sample_collection_procedure FFPE Block Punch Biopsy
sample_collection_procedure Fine Needle Aspiration
sample_collection_procedure Leukapheresis
sample_collection_procedure Lumbar Puncture
sample_collection_procedure Mid Stream Urine Collection
sample_collection_procedure Not Reported
sample_collection_procedure Peritoneal Lavage
sample_collection_procedure Peritoneal Paracentesis
sample_collection_procedure Phlebotomy
sample_collection_procedure Pleural Thoracentesis
sample_collection_procedure Saliva Collection
sample_collection_procedure Skin Biopsy
sample_collection_procedure Stool Collection
sample_collection_procedure Surgical Excision
sample_collection_procedure Surgical Incision
sample_collection_procedure Urine Voiding
sample_collection_procedure Other
sample_manifest_type blood_nucleic_acid
sample_manifest_type tissue_nucleic_acid
sample_manifest_type tissue_slides
sample_manifest_type tissue_h_and_e
sample_manifest_type biofluid_plasma
sample_manifest_type biofluid_cellular
sample_manifest_type biofluid_cellular_nucleic_acid
sample_manifest_type microbiome
sample_manifest_type interventional
sample_qc_fail_reason Frozen
sample_qc_fail_reason Thawed
sample_qc_fail_reason Hemolysis
sample_qc_fail_reason Container Damaged
sample_qc_fail_reason Container Leaking
sample_qc_fail_reason Insufficient Material
sample_qc_fail_reason Insufficient Medium
sample_qc_fail_reason Other
sample_qc_result QC Pass
sample_qc_result Pass at Risk
sample_qc_result QC Failed
sample_qc_result QC Lost
sample_qc_result QC Not Shipped
sample_shipping_condition Frozen Shipper
sample_shipping_condition Frozen Dry Ice
sample_shipping_condition Ice/Cold Pack
sample_shipping_condition Ambient
sample_shipping_condition Not Reported
sample_shipping_condition Other
sample_type BAL Cells
sample_type BAL Cell Supernatant
sample_type BAL Fluid
sample_type BMMC
sample_type BMMC Supernatant
sample_type Bone Marrow Aspirate
sample_type Bone Marrow Core
sample_type Bone Marrow Film
sample_type Buccal Cells
sample_type Buffy Coat
sample_type CAR-T Cells
sample_type cfDNA
sample_type CSF
sample_type CSF Cells
sample_type CSF Cell Supernatant
sample_type CTC Cells
sample_type CTC Cell Supernatant
sample_type ctDNA
sample_type Cytospin Film
sample_type DNA
sample_type FFPE Block
sample_type FFPE Block Punch
sample_type FFPE Section
sample_type FFPE Tissue Core
sample_type FFPE Tissue Curl
sample_type FFPE Tissue Scroll
sample_type Fine Needle Aspirate
sample_type Fixed Tissue Slide
sample_type Formalin Fixed Tissue
sample_type Fresh Tissue
sample_type Fresh Tissue Core
sample_type Frozen Tissue
sample_type Frozen Tissue Block
sample_type Frozen Tissue Curl
sample_type Frozen Tissue Core
sample_type Frozen Tissue Section
sample_type Germline DNA
sample_type Germline Nucleic Acid
sample_type Germline RNA
sample_type H&E Fixed Tissue Slide
sample_type Leukapheresis Cells
sample_type Lymph Node Tissue
sample_type Nucleic Acid
sample_type OCT Frozen Tissue
sample_type OCT Frozen Tissue Block
sample_type OCT Frozen Tissue Core
sample_type OCT Frozen Tissue Curl
sample_type OCT Frozen Tissue Section
sample_type PBMC
sample_type PBMC Supernatant
sample_type PBSC
sample_type PBSC Supernatant
sample_type Peptides
sample_type Pericardial Fluid
sample_type Peritoneal Cells
sample_type Peritoneal Cell Supernatant
sample_type Peritoneal Fluid
sample_type Peritoneal Lavage Fluid
sample_type Plasma
sample_type Pleural Cells
sample_type Pleural Cell Supernatant
sample_type Pleural Fluid
sample_type Protein Lysate
sample_type RNA
sample_type Saliva
sample_type Serum
sample_type Skin Tissue
sample_type Stool
sample_type Synovial Fluid
sample_type Tissue Core
sample_type Urine
sample_type WBC
sample_type Whole Blood
sample_type Whole Blood Film
sample_type Other
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter
screening_protocol_id MYELOMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH
status draft
status in_lab
status in_transit
status in_qc
status in_storage
status disposed
status missing
storage_environment Ambient
storage_environment RT
storage_environment 4 Celsius Degree
storage_environment -20 Degrees Celsius Or Minus 20 Degrees Celsius
storage_environment -80 Degrees Celsius Or Minus 80 Degrees Celsius
storage_environment -150 Degrees Celsius Or Minus 150 Degrees Celsius
storage_environment LN
storage_environment Dry Ice
storage_environment Not Reported
storage_environment Other
storage_unit_type Freezer
storage_unit_type Refrigerator
storage_unit_type Cabinet
storage_unit_type LNTank
storage_unit_type Other

200 Response

{
  "message": "Data Received Successfully by CSMS",
  "csms_id": "mm_0536_svu",
  "modified_time": 1650890004
}

Responses

Status Meaning Description Schema
200 OK JSON is valid and queued in the system. Inline
400 Bad Request JSON was invalid. None
403 Forbidden Forbidden access. None
404 Not Found No sample with the requested ID value was found. None

Response Schema

Retrieve Sample

<span class="endpoint">
<span class="method get"> GET </span>
<code>/samples/{csms_id}</code>
</span>

# You can also use wget

curl -X GET /samples/{csms_id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/samples/{csms_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/samples/{csms_id}', headers = headers)

print(r.json())

GET /samples/{csms_id}

Retrive the specified sample.

Parameters

Name In Type Required Description
csms_id path string true Unique Sample Identifier.

200 Response

{
  "data": {
    "biological_sex": "Female",
    "biopsy_site": "C02.9",
    "collection_date": "2022-06-18",
    "collection_event_name": "Progression",
    "container_type": "Saliva Tube",
    "date_of_birth": "1978-04-22",
    "description_of_sample": "Normal",
    "screening_participant_id": "pt_026",
    "screening_protocol_id": "iMATCH",
    "sample_collection_procedure": "Pleural Thoracentesis",
    "sample_type": "FFPE Section",
    "sample_manifest_type": "interventional",
    "sample_id": "mkMYELOMATCH01",
    "operational_id": "mkOperational1",
    "collection_time": "14:00 EDT",
    "sample_shipping_condition": "Frozen Dry Ice",
    "schema_version": "2.2.0",
    "recipient_institution_id": "LBTWST001",
    "sender_institution_id": "BBNCHP001",
    "creator_role": "administrator",
    "parent_sample_id": "mkMYELOMATCH01",
    "original_specimen": "False",
    "custodian_institution_id": "LBTWST001",
    "sample_qc_result": "QC Pass",
    "status": "in_lab",
    "manifest_id": null,
    "blast_percentage": 55.57,
    "viable_tumor_percent_area": 29.37,
    "viable_stroma_percent_area": 25.5,
    "fibrosis_percent_area": 24.017,
    "percent_viability": 23.3,
    "dv200": 15,
    "rin_value": 5,
    "necrosis_percent_area": 24,
    "csms_id": "im_9049_prm",
    "modified_timestamp": "2023-10-17T19:41:00Z",
    "modified_time": 1697571660,
    "submitter": null,
    "event": "update",
    "files_detail": [],
    "comments_detail": []
  },
  "total": 1,
  "limit": 1
}

Responses

Status Meaning Description Schema
200 OK Sample found and JSON returned. Inline
404 Not Found No sample with the requested ID value was found. None

Response Schema

Delete Sample

<span class="endpoint">
<span class="method delete"> DELETE </span>
<code>/samples/{csms_id}</code>
</span>

# You can also use wget

curl -X DELETE /samples/{csms_id} \
  -H 'Accept: application/json' \
  -H 'x-delete-reason: Erroneously created'


const headers = {
  'Accept':'application/json',
  'x-delete-reason':'Erroneously created'
};

fetch('/samples/{csms_id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json',
  'x-delete-reason': 'Erroneously created'
}

r = requests.delete('/samples/{csms_id}', headers = headers)

print(r.json())

DELETE /samples/{csms_id}

Delete the specified sample.

Parameters

Name In Type Required Description
x-delete-reason header string true Reason for deletion.
csms_id path string true Unique Sample Identifier.

200 Response

{
  "message": "sample deleted CUYNCNRP5.02"
}

Responses

Status Meaning Description Schema
200 OK Sample deleted. Inline
400 Bad Request Invalid request string None
404 Not Found No sample with the requested ID value was found. None

Response Schema

Retrieve Sample History

<span class="endpoint">
<span class="method get"> GET </span>
<code>/samples/history/{csms_id}</code>
</span>

# You can also use wget

curl -X GET /samples/history/{csms_id} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/samples/history/{csms_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/samples/history/{csms_id}', headers = headers)

print(r.json())

GET /samples/history/{csms_id}

Retrieve all history for specified sample

Parameters

Name In Type Required Description
csms_id path string true The unique Sample Identifier used to retrieve sample history.

200 Response

[
  {
    "data": {
      "biological_sex": "Male",
      "biopsy_site": "C50.3",
      "collection_date": "2021-06-02",
      "collection_event_name": "Post-Treatment",
      "collection_time": "15:30 EST",
      "container_type": "Other",
      "container_type_other": "description of some other tube used",
      "cores_submitted": "Yes",
      "date_of_birth": "1970-11-30",
      "description_of_sample": "Tumor",
      "description_of_tumor_sample": "Benign",
      "directionality": "Lateral",
      "fixation_stabilization_type": "Ficoll",
      "laterality": "Right",
      "locational_tumor_malignancy_class": "Primary",
      "number_cores_submitted": "2",
      "operational_id": "E1000-A",
      "parent_sample_id": "E1000-A",
      "processed_sample_derivative": "DNA",
      "processed_sample_id": "string",
      "processed_sample_type": "Other",
      "sample_collection_procedure": "Other",
      "sample_collection_procedure_other": "Description of Other Procedure Used",
      "sample_id": "E1000-A",
      "sample_manifest_type": "interventional",
      "sample_shipping_condition": "Other",
      "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
      "sample_type": "Other",
      "sample_type_other": "Some other sample type",
      "sample_uom": "mL",
      "sample_volume_quantity": 1.237,
      "screening_participant_id": "7bh45z",
      "screening_protocol_id": "MYELOMATCH",
      "treatment_participant_id": "tp_99-45688",
      "treatment_protocol_id": "22-6789",
      "schema_version": "2.2.0",
      "modified_timestamp": "2023-10-17T18:51:19Z",
      "modified_time": 1697568679,
      "submitter": null,
      "status": "draft",
      "creator_role": "administrator",
      "csms_id": "mm_2947_zua",
      "event": "create",
      "qldb_id": "GjyudEK8YhI4EHFrxXHfhH",
      "qldb_version": 0,
      "qldb_txId": "A2mzwnpgEp4HO8jWIYuYTE",
      "qldb_txTime": "2023-10-17 18:51:19.395000+00:00"
    },
    "diff": {
      "biological_sex": [
        null,
        "Male"
      ],
      "biopsy_site": [
        null,
        "C50.3"
      ],
      "collection_date": [
        null,
        "2021-06-02"
      ],
      "collection_event_name": [
        null,
        "Post-Treatment"
      ],
      "collection_time": [
        null,
        "15:30 EST"
      ],
      "container_type": [
        null,
        "Other"
      ],
      "container_type_other": [
        null,
        "description of some other tube used"
      ],
      "cores_submitted": [
        null,
        "Yes"
      ],
      "date_of_birth": [
        null,
        "1970-11-30"
      ],
      "description_of_sample": [
        null,
        "Tumor"
      ],
      "description_of_tumor_sample": [
        null,
        "Benign"
      ],
      "directionality": [
        null,
        "Lateral"
      ],
      "fixation_stabilization_type": [
        null,
        "Ficoll"
      ],
      "laterality": [
        null,
        "Right"
      ],
      "locational_tumor_malignancy_class": [
        null,
        "Primary"
      ],
      "number_cores_submitted": [
        null,
        "2"
      ],
      "operational_id": [
        null,
        "E1000-A"
      ],
      "parent_sample_id": [
        null,
        "E1000-A"
      ],
      "processed_sample_derivative": [
        null,
        "DNA"
      ],
      "processed_sample_id": [
        null,
        "string"
      ],
      "processed_sample_type": [
        null,
        "Other"
      ],
      "sample_collection_procedure": [
        null,
        "Other"
      ],
      "sample_collection_procedure_other": [
        null,
        "Description of Other Procedure Used"
      ],
      "sample_id": [
        null,
        "E1000-A"
      ],
      "sample_manifest_type": [
        null,
        "interventional"
      ],
      "sample_shipping_condition": [
        null,
        "Other"
      ],
      "sample_shipping_condition_other": [
        null,
        "Describes a shipping condition not available in the predefined list."
      ],
      "sample_type": [
        null,
        "Other"
      ],
      "sample_type_other": [
        null,
        "Some other sample type"
      ],
      "sample_uom": [
        null,
        "mL"
      ],
      "sample_volume_quantity": [
        null,
        1.237
      ],
      "screening_participant_id": [
        null,
        "7bh45z"
      ],
      "screening_protocol_id": [
        null,
        "MYELOMATCH"
      ],
      "treatment_participant_id": [
        null,
        "tp_99-45688"
      ],
      "treatment_protocol_id": [
        null,
        "22-6789"
      ],
      "schema_version": [
        null,
        "2.2.0"
      ],
      "modified_timestamp": [
        null,
        "2023-10-17T18:51:19Z"
      ],
      "modified_time": [
        null,
        1697568679
      ],
      "status": [
        null,
        "draft"
      ],
      "creator_role": [
        null,
        "administrator"
      ],
      "csms_id": [
        null,
        "mm_2947_zua"
      ],
      "event": [
        null,
        "create"
      ],
      "qldb_id": [
        null,
        "GjyudEK8YhI4EHFrxXHfhH"
      ],
      "qldb_version": [
        null,
        0
      ],
      "qldb_txId": [
        null,
        "A2mzwnpgEp4HO8jWIYuYTE"
      ],
      "qldb_txTime": [
        null,
        "2023-10-17 18:51:19.395000+00:00"
      ]
    }
  }
]

Responses

Status Meaning Description Schema
200 OK History returned. Inline
404 Not Found The requested history was not found. None

Response Schema

Retrieve Sample Snapshot

<span class="endpoint">
<span class="method get"> GET </span>
<code>/samples/snapshot/{csms_id}/{modified_time}</code>
</span>

# You can also use wget

curl -X GET /samples/snapshot/{csms_id}/{modified_time} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/samples/snapshot/{csms_id}/{modified_time}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/samples/snapshot/{csms_id}/{modified_time}', headers = headers)

print(r.json())

GET /samples/snapshot/{csms_id}/{modified_time}

Retrieve a snapshot for the specified sample.

Parameters

Name In Type Required Description
csms_id path string true The unique Sample Identifier used to retrieve snapshot.
modified_time path integer true The modified_time of the sample for the specific snapshot.

200 Response

{
  "data": {
    "biological_sex": "Female",
    "biopsy_site": "C02.9",
    "collection_date": "2022-06-18",
    "collection_event_name": "Progression",
    "container_type": "Saliva Tube",
    "date_of_birth": "1978-04-22",
    "description_of_sample": "Normal",
    "screening_participant_id": "pt_026",
    "screening_protocol_id": "iMATCH",
    "sample_collection_procedure": "Pleural Thoracentesis",
    "sample_type": "FFPE Section",
    "sample_manifest_type": "interventional",
    "sample_id": "mkMYELOMATCH01",
    "operational_id": "mkOperational1",
    "collection_time": "14:00 EDT",
    "sample_shipping_condition": "Frozen Dry Ice",
    "schema_version": "2.2.0",
    "modified_timestamp": "2023-10-17T17:42:24Z",
    "modified_time": 1697564544,
    "submitter": null,
    "custodian_institution_id": null,
    "sample_qc_result": null,
    "manifest_id": "20231017_mdacc_63744063",
    "recipient_institution_id": "LBTWST001",
    "sender_institution_id": "BBNCHP001",
    "status": "draft",
    "creator_role": "administrator",
    "parent_sample_id": "mkMYELOMATCH01",
    "csms_id": "im_9049_prm",
    "original_specimen": "False",
    "event": "create",
    "qldb_id": "4o5V7Lt4WTZ2i072PBtWCi",
    "qldb_version": 0,
    "qldb_txId": "2uyxecGHCdh3Y3jC1U0VMC",
    "qldb_txTime": "2023-10-17 17:42:25.066000+00:00",
    "files_detail": [],
    "comments_detail": []
  },
  "total": 1
}

Responses

Status Meaning Description Schema
200 OK snapshot returned. Inline
404 Not Found The requested snapshot was not found. None

Response Schema

Query Sample Topographies

<span class="endpoint">
<span class="method get"> GET </span>
<code>/samples/topographies</code>
</span>

# You can also use wget

curl -X GET /samples/topographies?name=spinal


fetch('/samples/topographies?name=spinal',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests

r = requests.get('/samples/topographies'
, params={"name":"spinal"}
)

print(r.json())

GET /samples/topographies

Retrieves ICD-O-3 topographies using autocomplete match from Disease Service for code or name.

Parameters

Name In Type Required Description
name query string false Name (or partial name) of ICD-O-3 topography term.
code query string false Code (or partial code) of ICD-O-3 topography term.

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. None
400 Bad Request Invalid query string. None

ALIQUOTS

Routes for aliquots

Create Child Samples (aliquots)

<span class="endpoint">
<span class="method post"> POST </span>
<code>/aliquots</code>
</span>

# You can also use wget

curl -X POST /aliquots \
  -H 'Content-Type: application/json'


const inputBody = '{
  "parent_sample": {
    "csms_id": "mm_1234_jrh",
    "sample_uom": "mL",
    "sample_volume_quantity": "1.237"
  },
  "aliquots": [
    {
      "a260_or_a230_value": 10,
      "a260_or_a280_value": 10,
      "blast_percentage": "1.2",
      "container_type": "Other",
      "container_type_other": "Description of some other tube used.",
      "date_sample_processed": "2021-04-30",
      "din_value": 10,
      "dv200": "51.273",
      "fibrosis_percent_area": "21.2",
      "med_tin": "7.381999",
      "necrosis_percent_area": 100,
      "operational_id": "E1000-A",
      "percent_viability": "1.2",
      "processed_sample_id": "string",
      "processed_sample_type": "Other",
      "rin_value": "0.29",
      "sample_id": "E1000-A",
      "sample_shipping_condition": "Other",
      "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
      "sample_type": "Other",
      "sample_type_other": "Some other sample type",
      "sample_uom": "mL",
      "sample_volume_quantity": "1.237",
      "screening_participant_id": "7bh45z",
      "time_sample_processed": "16:30 Hawaii-Aleutian",
      "viable_stroma_percent_area": "4.82",
      "viable_tumor_percent_area": "81.2"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('/aliquots',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('/aliquots', headers = headers)

print(r.json())

POST /aliquots

User provides parent sample information along with a list of aliquots to be created.

REQUEST BODY

{
  "parent_sample": {
    "csms_id": "mm_1234_jrh",
    "sample_uom": "mL",
    "sample_volume_quantity": "1.237"
  },
  "aliquots": [
    {
      "a260_or_a230_value": 10,
      "a260_or_a280_value": 10,
      "blast_percentage": "1.2",
      "container_type": "Other",
      "container_type_other": "Description of some other tube used.",
      "date_sample_processed": "2021-04-30",
      "din_value": 10,
      "dv200": "51.273",
      "fibrosis_percent_area": "21.2",
      "med_tin": "7.381999",
      "necrosis_percent_area": 100,
      "operational_id": "E1000-A",
      "percent_viability": "1.2",
      "processed_sample_id": "string",
      "processed_sample_type": "Other",
      "rin_value": "0.29",
      "sample_id": "E1000-A",
      "sample_shipping_condition": "Other",
      "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
      "sample_type": "Other",
      "sample_type_other": "Some other sample type",
      "sample_uom": "mL",
      "sample_volume_quantity": "1.237",
      "screening_participant_id": "7bh45z",
      "time_sample_processed": "16:30 Hawaii-Aleutian",
      "viable_stroma_percent_area": "4.82",
      "viable_tumor_percent_area": "81.2"
    }
  ]
}

Parameters

Name In Type Required Description
csms_id body string true Sample identifier assigned by the CSMS-Interventional Network.
sample_uom body string true Unit of measure associated with sample_quantity. See Enumerated List for valid values.
sample_volume_quantity body number true The volume of the sample.
a260_or_a230_value body integer false An absorbance percentage ratio indicating presence of contaminants (values of 0 to 3).
a260_or_a280_value body integer false An absorbance percentage ratio indicating purity of DNA (values of 0 to 2).
blast_percentage body number false TBD
container_type body string false Type of container used to transport sample. See Enumerated List for valid values.
container_type_other body string false Additional details when Other is selected for container type.
date_sample_processed body string false Date when a resected/biopsied sample is moved into preservative or dry ice--Ischemic End Date.
din_value body integer false Provides a DNA Integrity Number as an indication of extraction quality (values of 1-10).
dv200 body number false Percentage of RNA fragments above 200 nucleotides.
fibrosis_percent_area body number false Score the percentage area of fibrosis. QC field is editable by labs.
med_tin body number false Median transcript integrity number to score RNA degradation.
necrosis_percent_area body number false Score the percentage area of necrosis. QC field is editable by labs.
operational_id body string false Identifier assigned by biorepository or lab.
percent_viability body number false TBD
processed_sample_id body string false Aliquot identifier assigned by the bio repository site.
processed_sample_type body string false The type of processing that was performed on the collected sample by the Biobank or Bio repository for storage. See Enumerated List for valid values.
rin_value body number false A numerical measure of RNA integrity (RNA Integrity Number).
sample_id body string false Identifier assigned by biorepository or lab.
sample_shipping_condition body string false Description of the sample shipping condition. See Enumerated List for valid values.
sample_shipping_condition_other body string false Description describing the use of the other field associated with sample_shipping_condition property.
sample_type body string false Type of sample. See Enumerated List for valid values.
sample_type_other body string false Additional details when Other is selected for sample_type.
screening_participant_id body string false Participant Identifier.
time_sample_processed body string false Estimated time when resected/biopsied sample is moved into preservative or dry ice--Ischemic End Time.
viable_stroma_percent_area body number false Percent of the area that is viable stroma.
viable_tumor_percent_area body number false Score the percentage of viable tumor cells comprising the tumor bed area. QC field is editable by labs.

Enumerated Values

Parameter Value
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter
container_type ACD-A Tube
container_type ACD-B Tube
container_type Bag
container_type Box
container_type CellSave Tube
container_type Conical Tube
container_type Container
container_type CPT Citrate Tube
container_type CPT Heparin Tube
container_type Cryovial
container_type EDTA Tube
container_type Fecal Collection Container with NA Stabilizer
container_type FFPE Tissue Cassette
container_type Formalin Jar
container_type Image
container_type Lithium Heparin Tube
container_type OMNIgene
container_type OMNImet
container_type PAXgene DNA Tube
container_type PAXgene RNA Tube
container_type Plain Red Top Tube
container_type PPT Tube
container_type Saliva Tube
container_type Screw Top Jar
container_type Slide
container_type Slide Cassette
container_type Smart Tube
container_type Sodium Citrate Tube
container_type Sodium Heparin Tube
container_type SST Tube
container_type Streck Tube
container_type Other
processed_sample_type BAL Cells
processed_sample_type BAL Cell Supernatant
processed_sample_type BMMC
processed_sample_type BMMC Supernatant
processed_sample_type Bone Marrow Film
processed_sample_type Buccal Cells
processed_sample_type Buffy Coat
processed_sample_type cfDNA
processed_sample_type CSF Cell Supernatant
processed_sample_type CSF Cells
processed_sample_type CTC Cell Supernatant
processed_sample_type CTC Cells
processed_sample_type ctDNA
processed_sample_type Cytospin Film
processed_sample_type DNA
processed_sample_type FFPE Block
processed_sample_type FFPE Block Punch
processed_sample_type FFPE Section
processed_sample_type FFPE Tissue Core
processed_sample_type FFPE Tissue Curl
processed_sample_type FFPE Tissue Scroll
processed_sample_type Formalin Fixed Tissue
processed_sample_type Germline DNA
processed_sample_type Germline RNA
processed_sample_type Leukapheresis Cells
processed_sample_type Other
processed_sample_type PBMC
processed_sample_type PBMC Supernatant
processed_sample_type PBSC
processed_sample_type PBSC Supernatant
processed_sample_type Peritoneal Cell Supernatant
processed_sample_type Peritoneal Cells
processed_sample_type Plasma
processed_sample_type Pleural Cell Supernatant
processed_sample_type Pleural Cells
processed_sample_type RNA
processed_sample_type Serum
processed_sample_type Whole Blood Film
processed_sample_type Protein Lysate
processed_sample_type Peptides
processed_sample_type Germline Nucleic Acid
processed_sample_type Nucleic Acid
processed_sample_type H&E Fixed Tissue Slide
processed_sample_type Fixed Tissue Slide
processed_sample_type WBC
sample_shipping_condition Frozen Shipper
sample_shipping_condition Frozen Dry Ice
sample_shipping_condition Ice/Cold Pack
sample_shipping_condition Ambient
sample_shipping_condition Not Reported
sample_shipping_condition Other
sample_type BAL Cells
sample_type BAL Cell Supernatant
sample_type BAL Fluid
sample_type BMMC
sample_type BMMC Supernatant
sample_type Bone Marrow Aspirate
sample_type Bone Marrow Core
sample_type Bone Marrow Film
sample_type Buccal Cells
sample_type Buffy Coat
sample_type CAR-T Cells
sample_type cfDNA
sample_type CSF
sample_type CSF Cells
sample_type CSF Cell Supernatant
sample_type CTC Cells
sample_type CTC Cell Supernatant
sample_type ctDNA
sample_type Cytospin Film
sample_type DNA
sample_type FFPE Block
sample_type FFPE Block Punch
sample_type FFPE Section
sample_type FFPE Tissue Core
sample_type FFPE Tissue Curl
sample_type FFPE Tissue Scroll
sample_type Fine Needle Aspirate
sample_type Fixed Tissue Slide
sample_type Formalin Fixed Tissue
sample_type Fresh Tissue
sample_type Fresh Tissue Core
sample_type Frozen Tissue
sample_type Frozen Tissue Block
sample_type Frozen Tissue Curl
sample_type Frozen Tissue Core
sample_type Frozen Tissue Section
sample_type Germline DNA
sample_type Germline Nucleic Acid
sample_type Germline RNA
sample_type H&E Fixed Tissue Slide
sample_type Leukapheresis Cells
sample_type Lymph Node Tissue
sample_type Nucleic Acid
sample_type OCT Frozen Tissue
sample_type OCT Frozen Tissue Block
sample_type OCT Frozen Tissue Core
sample_type OCT Frozen Tissue Curl
sample_type OCT Frozen Tissue Section
sample_type PBMC
sample_type PBMC Supernatant
sample_type PBSC
sample_type PBSC Supernatant
sample_type Peptides
sample_type Pericardial Fluid
sample_type Peritoneal Cells
sample_type Peritoneal Cell Supernatant
sample_type Peritoneal Fluid
sample_type Peritoneal Lavage Fluid
sample_type Plasma
sample_type Pleural Cells
sample_type Pleural Cell Supernatant
sample_type Pleural Fluid
sample_type Protein Lysate
sample_type RNA
sample_type Saliva
sample_type Serum
sample_type Skin Tissue
sample_type Stool
sample_type Synovial Fluid
sample_type Tissue Core
sample_type Urine
sample_type WBC
sample_type Whole Blood
sample_type Whole Blood Film
sample_type Other

Responses

Status Meaning Description Schema
201 Created JSON is valid and queued in the system. None
400 Bad Request JSON was invalid, parent sample does not exist, or screening_participant_id of child aliquot does not match parent sample. None

Response Headers

Status Header Type Format Description
201 Location string none

VERSION

Routes for version

Query API Version

<span class="endpoint">
<span class="method get"> GET </span>
<code>/version</code>
</span>

# You can also use wget

curl -X GET /version \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/version',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/version', headers = headers)

print(r.json())

GET /version

Retrieve the version information of the API.

200 Response

{
  "major": "2",
  "minor": "5",
  "build": "0",
  "version": "2.5.0"
}

Responses

Status Meaning Description Schema
200 OK Successful request for version information. Inline
403 Forbidden Forbidden access. None

Response Schema

IDS

Interface used by Biorepositories to preallocate CSMS Sample ID's for kits

<span class="endpoint">
<span class="method post"> POST </span>
<code>/ids</code>
</span>

# You can also use wget

curl -X POST /ids \
  -H 'Content-Type: application/json'


const inputBody = '{
  "count": "38",
  "institution_id": "BioRepository-East",
  "screening_protocol_id": "MyeloMATCH"
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('/ids',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('/ids', headers = headers)

print(r.json())

POST /ids

User requests a set of sample ids to be pre-allocated. Request size is between 1 and 50.

REQUEST BODY

{
  "count": "38",
  "institution_id": "BioRepository-East",
  "screening_protocol_id": "MyeloMATCH"
}

Parameters

Name In Type Required Description
count body number true Number of sample IDs requested.
institution_id body string true Institution ID of Biorepository requesting the ids.
screening_protocol_id body string true Protocol or Clinical Trial program. Required field at sample creation. See Enumerated List for valid values.
csms_id body string false Sample identifier assigned by the CSMS-Interventional Network.

Enumerated Values

Parameter Value
screening_protocol_id MyeloMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH

Responses

Status Meaning Description Schema
201 Created Request was validated and specified number of ids are returned. None
400 Bad Request JSON was invalid or request count exceeded the maximum. None

Response Headers

Status Header Type Format Description
201 Location string Link to the manifests GET that will return the Search data. Because updates are queued, this link may be broken.

Retrieve Sample ID's

<span class="endpoint">
<span class="method get"> GET </span>
<code>/ids</code>
</span>

# You can also use wget

curl -X GET /ids?institution_id=BioRepository-East&screening_protocol_id=MyeloMATCH


fetch('/ids?institution_id=BioRepository-East&screening_protocol_id=MyeloMATCH',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests

r = requests.get('/ids', params={
  'institution_id': 'BioRepository-East',  'screening_protocol_id': 'MyeloMATCH'
}
)

print(r.json())

GET /ids

Retrieve a set of previously allocated ids which have not been used.

Parameters

Name In Type Required Description
institution_id query string true Institution ID of Biorepository requesting the ids.
screening_protocol_id query string true Protocol or Clinical Trial program. Required field at sample creation.

Enumerated Values

Parameter Value
screening_protocol_id MyeloMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH

Responses

Status Meaning Description Schema
200 OK Search was successful and any matches were returned. None
400 Bad Request Invalid query string. None

SETTINGS

Retrieve value of internal API setting

<span class="endpoint">
<span class="method get"> GET </span>
<code>/settings/{setting_name}</code>
</span>

# You can also use wget

curl -X GET /settings/{setting_name} \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/settings/{setting_name}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/settings/{setting_name}', headers = headers)

print(r.json())

GET /settings/{setting_name}

Retrieve value of internal API setting.

Parameters

Name In Type Required Description
setting_name path string true Name of API variable name.

200 Response

{
  "ui_write_disable": "TRUE"
}

Responses

Status Meaning Description Schema
200 OK Successful request for setting information. Inline
405 Method Not Allowed Method Not Allowed. None

Response Schema

INSTITUTION_IDS

Request list of institution information associated with study based on header X-Study-Type

<span class="endpoint">
<span class="method get"> GET </span>
<code>/institution_ids</code>
</span>

# You can also use wget

curl -X GET /institution_ids \
  -H 'Accept: application/json'


const headers = {
  'Accept':'application/json'
};

fetch('/institution_ids',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('/institution_ids', headers = headers)

print(r.json())

GET /institution_ids

Return list of institution information associated with a study.

200 Response

{
  "institution_addresses": [
    {
      "institution_country": "USA",
      "institution_state": "CA",
      "institution_street_1": "4650 Sunset Blvd.",
      "institution_street_2": "Duque Bldg., 2nd Floor, Room 2-290",
      "institution_city": "Los Angeles",
      "institution_name": "Children's Hospital of Los Angeles - Clinical Immunology Laboratory",
      "institution_id": "LBCHLA001",
      "institution_zip_code": "90027"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Successful request for institution information Inline
400 Bad Request incorrect setting of X-Study-Type None
403 Forbidden incorrect internal gateway None

Response Schema

Update Institute Address Information

<span class="endpoint">
<span class="method patch"> PATCH </span>
<code>/institution_ids/{institution_id}</code>
</span>

# You can also use wget

curl -X PATCH /institution_ids/{institution_id} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'


const inputBody = '{
  "institution_city": "Portland",
  "institution_country": "USA",
  "institution_name": "LBTWST001",
  "institution_state": "Maine",
  "institution_street_1": "Commercial Street",
  "institution_street_2": "Suite 4",
  "institution_zip_code": "29902"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('/institution_ids/{institution_id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});


import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.patch('/institution_ids/{institution_id}', headers = headers)

print(r.json())

PATCH /institution_ids/{institution_id}

Update Institute Address Information associated with the given institution id

REQUEST BODY

{
  "institution_city": "Portland",
  "institution_country": "USA",
  "institution_name": "LBTWST001",
  "institution_state": "Maine",
  "institution_street_1": "Commercial Street",
  "institution_street_2": "Suite 4",
  "institution_zip_code": "29902"
}

Parameters

Name In Type Required Description
institution_id path string true Unique Institution Identifier.

200 Response

{
  "message": "Data Received Successfully by CSMS",
  "institution_id": "LBTWST001",
  "institution_properties": {
    "institution_country": "USA",
    "institution_state": "MA",
    "institution_street_1": "12345 Bay Street",
    "institution_street_2": "Suite 54",
    "institution_city": "Needham",
    "institution_name": "Candel Therapeutics",
    "institution_id": "LBTWST001",
    "institution_zip_code": "02494"
  }
}

Responses

Status Meaning Description Schema
200 OK JSON is valid and queued in the system. Inline
400 Bad Request JSON was invalid. None
403 Forbidden Forbidden access. None
404 Not Found No sample with the requested ID value was found. None

Response Schema

Schemas

comment_record

{
  "comment": "comment text about an entity",
  "entity_id": "20200727:testuser:63693",
  "entity_type": "manifest"
}

CSMS-Interventional JSON Schema specification for Comments.

Properties

Name Type Required Restrictions Description
comment string true none Comment text
entity_id string true none ID of the entity with which the comment is associated.
entity_type string true none Entity type with which the comment is associated.

Enumerated Values

Property Value
entity_type manifest
entity_type sample

document_assoc_post

{
  "entity_id": "20200727:testuser:63693",
  "entity_type": "manifest",
  "file_id": "1613747983_example.doc"
}

Properties

Name Type Required Restrictions Description
entity_id string false none ID of the entity with which the file is associated.
entity_type string false none Entity type with which the file is associated.
file_id string true none Unique file identifier.

Enumerated Values

Property Value
entity_type manifest
entity_type sample

shipping_manifest

{
  "comments": "This is a comment for the shipping manifest",
  "courier": "UPS",
  "event": "update",
  "manifest_id": "20200727:enroll-22:63693",
  "modified_time": "1642277487",
  "modified_timestamp": "2021-05-24T12:51:36Z",
  "package_condition": "Leakage",
  "reason": "status_transition",
  "received_date": "2021-04-30",
  "received_time": "16:30 Hawaii-Aleutian",
  "recipient_institution_id": "BBNCHP001",
  "sender_city": "Richmond",
  "sender_country": "USA",
  "sender_email": "enrolling_user@enroll_site.gov",
  "sender_institution_id": "enroll-99876512",
  "sender_institution_name": "blood draw lab east",
  "sender_person_name": "Joe Technician",
  "sender_phone": "000-000-0000",
  "sender_state": "Virginia",
  "sender_street_1": "Main St",
  "sender_street_2": "Suite 2",
  "sender_zip_code": "20047",
  "shipping_condition": "Frozen Dry Ice",
  "shipping_condition_other": "insulated",
  "shipping_date": "2021-04-30",
  "status": "received",
  "tracking_number": "4567788343"
}

Properties

Name Type Required Restrictions Description
comments string false none comment to be added to the shipping manifest
courier string¦null false none Courier utilized for shipment. Required for shipping transition.
event string false none The update event performed.
manifest_id string false none A unique ID assigned by the CSMS network used to identify the manifest.
modified_time integer false none The epic time from the last update to record.
modified_timestamp string false none The timestamp from the last update to record.
package_condition string¦null false none Condition of shipment received. Required at received transition.
reason string false none The reason for the update action.
received_date string¦null false none Date samples received. Required at received transition.
received_time string¦null false none Time samples received. Required at received transition.
recipient_institution_id string true none ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city string false none The city associated with the sender address.
sender_country string false none The country associated with the sender address.
sender_email string true none Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id string true none The Institution ID of the sender.
sender_institution_name string false none The name of the institution sending the samples.
sender_person_name string true none Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone string true none Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state string false none The state associated with the sender address.
sender_street_1 string false none The name of the street associated with the sender address.
sender_street_2 string false none The name of the additional street information associated with the sender address.
sender_zip_code string false none The ZIP code associated with the sender address.
shipping_condition string¦null false none Method of packaging the samples. Optional.
shipping_condition_other string¦null false none Additional information when shipping_condition is set to Other. Optional.
shipping_date string¦null false none Date of shipment. Required for shipped transition.
status string false none Internal CSMS-Interventional state of manifest.
tracking_number string¦null false none Air bill number assigned to shipment. Required for shipped transition.

Enumerated Values

Property Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
package_condition Normal
package_condition Damaged
package_condition Leakage
package_condition Opened
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other
status draft
status ready_to_ship
status delivered
status received
status shipped
status qc_complete

shipping_manifest_post

{
  "comments": "This is a comment for the shipping manifest",
  "courier": "UPS",
  "recipient_institution_id": "BBNCHP001",
  "sender_city": "Richmond",
  "sender_country": "USA",
  "sender_email": "enrolling_user@enroll_site.gov",
  "sender_institution_id": "enroll-99876512",
  "sender_institution_name": "blood draw lab east",
  "sender_person_name": "Joe Technician",
  "sender_phone": "000-000-0000",
  "sender_state": "Virginia",
  "sender_street_1": "Main St",
  "sender_street_2": "Suite 2",
  "sender_zip_code": "20047",
  "shipping_condition": "Frozen Dry Ice",
  "shipping_condition_other": "insulated",
  "shipping_date": "2021-04-30",
  "tracking_number": "4567788343"
}

Properties

Name Type Required Restrictions Description
comments string false none comment to be added to the shipping manifest
courier string¦null false none Courier utilized for shipment. Required for shipping transition.
recipient_institution_id string true none ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city string false none The city associated with the sender address.
sender_country string false none The country associated with the sender address.
sender_email string true none Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id string true none The Institution ID of the sender.
sender_institution_name string false none The name of the institution sending the samples.
sender_person_name string true none Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone string true none Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state string false none The state associated with the sender address.
sender_street_1 string false none The name of the street associated with the sender address.
sender_street_2 string false none The name of the additional street information associated with the sender address.
sender_zip_code string false none The ZIP code associated with the sender address.
shipping_condition string¦null false none Method of packaging the samples. Optional.
shipping_condition_other string¦null false none Additional information when shipping_condition is set to Other. Optional.
shipping_date string¦null false none Date of shipment. Required for shipped transition.
tracking_number string¦null false none Air bill number assigned to shipment. Required for shipped transition.

Enumerated Values

Property Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other

shipping_manifest_patch

{
  "comments": "This is a comment for the shipping manifest",
  "courier": "UPS",
  "package_condition": "Leakage",
  "received_date": "2021-04-30",
  "received_time": "16:30 Hawaii-Aleutian",
  "recipient_institution_id": "BBNCHP001",
  "sender_city": "Richmond",
  "sender_country": "USA",
  "sender_email": "enrolling_user@enroll_site.gov",
  "sender_institution_id": "enroll-99876512",
  "sender_institution_name": "blood draw lab east",
  "sender_person_name": "Joe Technician",
  "sender_phone": "000-000-0000",
  "sender_state": "Virginia",
  "sender_street_1": "Main St",
  "sender_street_2": "Suite 2",
  "sender_zip_code": "20047",
  "shipping_condition": "Frozen Dry Ice",
  "shipping_condition_other": "insulated",
  "shipping_date": "2021-04-30",
  "status": "received",
  "tracking_number": "4567788343"
}

Properties

Name Type Required Restrictions Description
comments string false none comment to be added to the shipping manifest
courier string¦null false none Courier utilized for shipment. Required for shipping transition.
package_condition string¦null false none Condition of shipment received. Required at received transition.
received_date string¦null false none Date samples received. Required at received transition.
received_time string¦null false none Time samples received. Required at received transition.
recipient_institution_id string false none ID of the recipient to receive the shipment. Required at creation of the manifest.
sender_city string false none The city associated with the sender address.
sender_country string false none The country associated with the sender address.
sender_email string false none Email for person to contact regarding package shipment. Required at creation of the manifest.
sender_institution_id string false none The Institution ID of the sender.
sender_institution_name string false none The name of the institution sending the samples.
sender_person_name string false none Person to contact regarding package shipment. Required at creation of the manifest.
sender_phone string false none Phone number for person to contact regarding package shipment. Required at creation of the manifest.
sender_state string false none The state associated with the sender address.
sender_street_1 string false none The name of the street associated with the sender address.
sender_street_2 string false none The name of the additional street information associated with the sender address.
sender_zip_code string false none The ZIP code associated with the sender address.
shipping_condition string¦null false none Method of packaging the samples. Optional.
shipping_condition_other string¦null false none Additional information when shipping_condition is set to Other. Optional.
shipping_date string¦null false none Date of shipment. Required for shipped transition.
status string false none Internal CSMS-Interventional state of manifest.
tracking_number string¦null false none Air bill number assigned to shipment. Required for shipped transition.

Enumerated Values

Property Value
courier USPS
courier UPS
courier FedEx
courier DHL
courier Electronic
courier Inter-Site Delivery
package_condition Normal
package_condition Damaged
package_condition Leakage
package_condition Opened
shipping_condition Frozen Dry Ice
shipping_condition Frozen Shipper
shipping_condition Ice/Cold Pack
shipping_condition Ambient
shipping_condition Not Reported
shipping_condition Other
status draft
status ready_to_ship
status delivered
status received
status shipped
status qc_complete

interventional_sample_post

{
  "biological_sex": "Female",
  "biopsy_site": "C50.3",
  "collection_date": "2021-06-02",
  "collection_event_name": "Post-Treatment",
  "collection_time": "16:30 Hawaii-Aleutian",
  "comments": "This is a comment for the sample",
  "container_type": "Other",
  "container_type_other": "Description of some other tube used.",
  "cores_submitted": "Yes",
  "csms_id": "mm_1234_jrh",
  "date_of_birth": "1970-11-30",
  "description_of_sample": "Tumor",
  "description_of_tumor_sample": "Benign",
  "directionality": "Lateral",
  "fixation_stabilization_type": "Ficoll",
  "laterality": "Right",
  "locational_tumor_malignancy_class": "Primary",
  "number_cores_submitted": "2",
  "operational_id": "E1000-A",
  "parent_sample_id": "string",
  "processed_sample_derivative": "Germline DNA",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "sample_collection_procedure": "Other",
  "sample_collection_procedure_other": "Description of Other Procedure Used",
  "sample_id": "E1000-A",
  "sample_manifest_type": "interventional",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type": "Other",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "screening_participant_id": "7bh45z",
  "screening_protocol_id": "MyeloMATCH",
  "treatment_participant_id": "tp_99-45688",
  "treatment_protocol_id": "22-6789"
}

Properties

Name Type Required Restrictions Description
biological_sex string false none biological sex for tissue samples.
biopsy_site string false none Biopsy site for tissue samples.
collection_date string false none Date the sample was collected.
collection_event_name string false none Categorical description of the time point at which the sample was taken.
collection_time string false none Estimated time when sample was devascularized--Ischemic Start Time.
comments string false none comment to be added to the sample
container_type string false none Type of container used to transport sample.
container_type_other string¦null false none Additional details when Other is selected for container type.
cores_submitted string¦null false none Indicates whether cores are submitted with the sample.
csms_id string false none Sample identifier assigned by the CSMS-Interventional Network.
date_of_birth string false none Participant date of birth.
description_of_sample string¦null false none Type of tissue associated with the sample.
description_of_tumor_sample string¦null false none Description of tumor sample.
directionality string¦null false none Directionality [Lateral, Midline].
fixation_stabilization_type string¦null false none TBD
laterality string¦null false none Laterality [Left, Right, Bilateral].
locational_tumor_malignancy_class string¦null false none Location of the malignancy.
number_cores_submitted string¦null false none Number of cores submitted.
operational_id string¦null false none Identifier assigned by biorepository or lab.
parent_sample_id string¦null false none Sample identifier assigned by the biorepository site.
processed_sample_derivative string¦null false none The type of derivative or analyte extracted from the sample to be shipped for testing.
processed_sample_id string¦null false none Aliquot identifier assigned by the bio repository site.
processed_sample_type string¦null false none The type of processing that was performed on the collected sample by the Biobank or Bio repository for storage.
sample_collection_procedure string false none Indicates the sample source of the sample shipped.
sample_collection_procedure_other string¦null false none Additional information when Other is specified for sample_collection_procedure.
sample_id string false none Identifier assigned by biorepository or lab.
sample_manifest_type string false none The type of processing that was performed on the collected sample by the Biobank for storage. normal_blood_dna is deprecated. Use blood_nucleic_acid instead.
sample_shipping_condition string¦null false none Description of the sample shipping condition.
sample_shipping_condition_other string¦null false none Description describing the use of the other field associated with sample_shipping_condition property.
sample_type string false none Type of sample.
sample_type_other string¦null false none Additional details when Other is selected for sample_type.
sample_uom string¦null false none Unit of measure associated with sample_quantity.
sample_volume_quantity number¦null false none The volume of the sample.
screening_participant_id string false none Participant Identifier.
screening_protocol_id string false none Protocol or Clinical Trial program.
treatment_participant_id string¦null false none Optional field for collecting treatment participant identifier.
treatment_protocol_id string¦null false none Optional field for collecting ID of treatment protocol.

Enumerated Values

Property Value
biological_sex Male
biological_sex Female
container_type ACD-A Tube
container_type ACD-B Tube
container_type Bag
container_type Box
container_type CellSave Tube
container_type Conical Tube
container_type Container
container_type CPT Citrate Tube
container_type CPT Heparin Tube
container_type Cryovial
container_type EDTA Tube
container_type Fecal Collection Container with NA Stabilizer
container_type FFPE Tissue Cassette
container_type Formalin Jar
container_type Image
container_type Lithium Heparin Tube
container_type OMNIgene
container_type OMNImet
container_type PAXgene DNA Tube
container_type PAXgene RNA Tube
container_type Plain Red Top Tube
container_type PPT Tube
container_type Saliva Tube
container_type Screw Top Jar
container_type Slide
container_type Slide Cassette
container_type Smart Tube
container_type Sodium Citrate Tube
container_type Sodium Heparin Tube
container_type SST Tube
container_type Streck Tube
container_type Other
cores_submitted Yes
cores_submitted No
description_of_sample Normal
description_of_sample Tumor
description_of_sample Unknown
description_of_tumor_sample Benign
description_of_tumor_sample In Situ
description_of_tumor_sample Malignant
description_of_tumor_sample Unknown
directionality Lateral
directionality Midline
fixation_stabilization_type Ficoll
fixation_stabilization_type Formalin Fixation
fixation_stabilization_type Formalin-Fixed Paraffin-Embedded (FFPE)
fixation_stabilization_type Frozen
fixation_stabilization_type 70% Ethanol
fixation_stabilization_type H&E
fixation_stabilization_type Liquid Nitrogen (Frozen)
fixation_stabilization_type OCT (Frozen)
fixation_stabilization_type Proteomic Stabilization
fixation_stabilization_type Thaw-Lyse
fixation_stabilization_type Not Reported
fixation_stabilization_type Other
laterality Left
laterality Right
laterality Bilateral
locational_tumor_malignancy_class Primary
locational_tumor_malignancy_class Metastasis
locational_tumor_malignancy_class Metastatic Lymph Node
locational_tumor_malignancy_class Unknown
number_cores_submitted 1
number_cores_submitted 2
number_cores_submitted 3
number_cores_submitted 4
number_cores_submitted 5
number_cores_submitted 6
number_cores_submitted 7
number_cores_submitted Not Reported
number_cores_submitted Other
processed_sample_derivative cfDNA
processed_sample_derivative ctDNA
processed_sample_derivative DNA
processed_sample_derivative Germline DNA
processed_sample_derivative Germline RNA
processed_sample_derivative Other
processed_sample_derivative RNA
processed_sample_derivative Protein Lysate
processed_sample_derivative Peptides
processed_sample_derivative Germline Nucleic Acid
processed_sample_derivative Nucleic Acid
processed_sample_type BAL Cells
processed_sample_type BAL Cell Supernatant
processed_sample_type BMMC
processed_sample_type BMMC Supernatant
processed_sample_type Bone Marrow Film
processed_sample_type Buccal Cells
processed_sample_type Buffy Coat
processed_sample_type cfDNA
processed_sample_type CSF Cell Supernatant
processed_sample_type CSF Cells
processed_sample_type CTC Cell Supernatant
processed_sample_type CTC Cells
processed_sample_type ctDNA
processed_sample_type Cytospin Film
processed_sample_type DNA
processed_sample_type FFPE Block
processed_sample_type FFPE Block Punch
processed_sample_type FFPE Section
processed_sample_type FFPE Tissue Core
processed_sample_type FFPE Tissue Curl
processed_sample_type FFPE Tissue Scroll
processed_sample_type Formalin Fixed Tissue
processed_sample_type Germline DNA
processed_sample_type Germline RNA
processed_sample_type Leukapheresis Cells
processed_sample_type Other
processed_sample_type PBMC
processed_sample_type PBMC Supernatant
processed_sample_type PBSC
processed_sample_type PBSC Supernatant
processed_sample_type Peritoneal Cell Supernatant
processed_sample_type Peritoneal Cells
processed_sample_type Plasma
processed_sample_type Pleural Cell Supernatant
processed_sample_type Pleural Cells
processed_sample_type RNA
processed_sample_type Serum
processed_sample_type Whole Blood Film
processed_sample_type Protein Lysate
processed_sample_type Peptides
processed_sample_type Germline Nucleic Acid
processed_sample_type Nucleic Acid
processed_sample_type H&E Fixed Tissue Slide
processed_sample_type Fixed Tissue Slide
processed_sample_type WBC
sample_collection_procedure Apheresis
sample_collection_procedure Bone Biopsy
sample_collection_procedure Bone Marrow Core Biopsy
sample_collection_procedure Bone Marrow Aspiration
sample_collection_procedure Bronchoalveolar Lavage
sample_collection_procedure Buccal Swab
sample_collection_procedure Core Biopsy
sample_collection_procedure Endoscopic Biopsy
sample_collection_procedure FFPE Block Punch Biopsy
sample_collection_procedure Fine Needle Aspiration
sample_collection_procedure Leukapheresis
sample_collection_procedure Lumbar Puncture
sample_collection_procedure Mid Stream Urine Collection
sample_collection_procedure Not Reported
sample_collection_procedure Peritoneal Lavage
sample_collection_procedure Peritoneal Paracentesis
sample_collection_procedure Phlebotomy
sample_collection_procedure Pleural Thoracentesis
sample_collection_procedure Saliva Collection
sample_collection_procedure Skin Biopsy
sample_collection_procedure Stool Collection
sample_collection_procedure Surgical Excision
sample_collection_procedure Surgical Incision
sample_collection_procedure Urine Voiding
sample_collection_procedure Other
sample_manifest_type blood_nucleic_acid
sample_manifest_type tissue_nucleic_acid
sample_manifest_type tissue_slides
sample_manifest_type tissue_h_and_e
sample_manifest_type biofluid_plasma
sample_manifest_type biofluid_cellular
sample_manifest_type biofluid_cellular_nucleic_acid
sample_manifest_type microbiome
sample_manifest_type interventional
sample_shipping_condition Frozen Shipper
sample_shipping_condition Frozen Dry Ice
sample_shipping_condition Ice/Cold Pack
sample_shipping_condition Ambient
sample_shipping_condition Not Reported
sample_shipping_condition Other
sample_type BAL Cells
sample_type BAL Cell Supernatant
sample_type BAL Fluid
sample_type BMMC
sample_type BMMC Supernatant
sample_type Bone Marrow Aspirate
sample_type Bone Marrow Core
sample_type Bone Marrow Film
sample_type Buccal Cells
sample_type Buffy Coat
sample_type CAR-T Cells
sample_type cfDNA
sample_type CSF
sample_type CSF Cells
sample_type CSF Cell Supernatant
sample_type CTC Cells
sample_type CTC Cell Supernatant
sample_type ctDNA
sample_type Cytospin Film
sample_type DNA
sample_type FFPE Block
sample_type FFPE Block Punch
sample_type FFPE Section
sample_type FFPE Tissue Core
sample_type FFPE Tissue Curl
sample_type FFPE Tissue Scroll
sample_type Fine Needle Aspirate
sample_type Fixed Tissue Slide
sample_type Formalin Fixed Tissue
sample_type Fresh Tissue
sample_type Fresh Tissue Core
sample_type Frozen Tissue
sample_type Frozen Tissue Block
sample_type Frozen Tissue Curl
sample_type Frozen Tissue Core
sample_type Frozen Tissue Section
sample_type Germline DNA
sample_type Germline Nucleic Acid
sample_type Germline RNA
sample_type H&E Fixed Tissue Slide
sample_type Leukapheresis Cells
sample_type Lymph Node Tissue
sample_type Nucleic Acid
sample_type OCT Frozen Tissue
sample_type OCT Frozen Tissue Block
sample_type OCT Frozen Tissue Core
sample_type OCT Frozen Tissue Curl
sample_type OCT Frozen Tissue Section
sample_type PBMC
sample_type PBMC Supernatant
sample_type PBSC
sample_type PBSC Supernatant
sample_type Peptides
sample_type Pericardial Fluid
sample_type Peritoneal Cells
sample_type Peritoneal Cell Supernatant
sample_type Peritoneal Fluid
sample_type Peritoneal Lavage Fluid
sample_type Plasma
sample_type Pleural Cells
sample_type Pleural Cell Supernatant
sample_type Pleural Fluid
sample_type Protein Lysate
sample_type RNA
sample_type Saliva
sample_type Serum
sample_type Skin Tissue
sample_type Stool
sample_type Synovial Fluid
sample_type Tissue Core
sample_type Urine
sample_type WBC
sample_type Whole Blood
sample_type Whole Blood Film
sample_type Other
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter
screening_protocol_id MYELOMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH

sample_manifest

[
  {
    "biological_sex": "Female",
    "biopsy_site": "C50.3",
    "collection_date": "2021-06-02",
    "collection_event_name": "Post-Treatment",
    "collection_time": "16:30 Hawaii-Aleutian",
    "container_type": "Other",
    "date_of_birth": "1970-11-30",
    "sample_collection_procedure": "Other",
    "sample_type": "Other",
    "screening_participant_id": "7bh45z",
    "screening_protocol_id": "MyeloMATCH",
    "a260_or_a230_value": 10,
    "a260_or_a280_value": 10,
    "blast_percentage": "1.2",
    "box_coordinates": "tile 22h",
    "comments": "This is a comment for the sample",
    "container_type_other": "Description of some other tube used.",
    "cores_submitted": "Yes",
    "csms_id": "mm_1234_jrh",
    "custodian_institution_id": "string",
    "description_of_sample": "Tumor",
    "description_of_tumor_sample": "Benign",
    "din_value": 10,
    "directionality": "Lateral",
    "dv200": "51.273",
    "event": "string",
    "fibrosis_percent_area": "21.2",
    "fixation_stabilization_type": "Ficoll",
    "laterality": "Right",
    "locational_tumor_malignancy_class": "Primary",
    "manifest_id": "20220729_jrh_65108327",
    "med_tin": "7.381999",
    "necrosis_percent_area": 100,
    "nitrogen_tank": "nx-tank1",
    "number_cores_submitted": "2",
    "operational_id": "E1000-A",
    "original_sample": "True",
    "parent_csms_id": "mm_1214_jrh",
    "parent_sample_id": "string",
    "percent_viability": "1.2",
    "processed_sample_derivative": "Germline DNA",
    "processed_sample_id": "string",
    "processed_sample_type": "Other",
    "rack_id": "rack_id_2204",
    "reason": "string",
    "replacement_sample_requested": "Replacement Not Requested",
    "rin_value": "0.29",
    "sample_collection_procedure_other": "Description of Other Procedure Used",
    "sample_id": "E1000-A",
    "sample_manifest_type": "interventional",
    "sample_qc_fail_reason": "Container Damaged",
    "sample_qc_fail_reason_other": "Incorrect handling of sample",
    "sample_qc_result": "QC Pass",
    "sample_shipping_condition": "Other",
    "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
    "sample_type_other": "Some other sample type",
    "sample_uom": "mL",
    "sample_volume_quantity": "1.237",
    "shelf": "string",
    "status": "in_lab",
    "storage_box_number": "box_76399",
    "storage_environment": "LN",
    "storage_room": "room bio-456",
    "storage_temperature": "5c",
    "storage_unit_type": "Refrigerator",
    "storage_unit_type_other": "Vault",
    "treatment_participant_id": "tp_99-45688",
    "treatment_protocol_id": "22-6789",
    "viable_stroma_percent_area": "4.82",
    "viable_tumor_percent_area": "81.2"
  }
]

Properties

Name Type Required Restrictions Description
anonymous [interventional_sample] false none [CSMS-Interventional JSON Schema for samples]

interventional_sample

{
  "biological_sex": "Female",
  "biopsy_site": "C50.3",
  "collection_date": "2021-06-02",
  "collection_event_name": "Post-Treatment",
  "collection_time": "16:30 Hawaii-Aleutian",
  "container_type": "Other",
  "date_of_birth": "1970-11-30",
  "sample_collection_procedure": "Other",
  "sample_type": "Other",
  "screening_participant_id": "7bh45z",
  "screening_protocol_id": "MyeloMATCH",
  "a260_or_a230_value": 10,
  "a260_or_a280_value": 10,
  "blast_percentage": "1.2",
  "box_coordinates": "tile 22h",
  "comments": "This is a comment for the sample",
  "container_type_other": "Description of some other tube used.",
  "cores_submitted": "Yes",
  "csms_id": "mm_1234_jrh",
  "custodian_institution_id": "string",
  "description_of_sample": "Tumor",
  "description_of_tumor_sample": "Benign",
  "din_value": 10,
  "directionality": "Lateral",
  "dv200": "51.273",
  "event": "string",
  "fibrosis_percent_area": "21.2",
  "fixation_stabilization_type": "Ficoll",
  "laterality": "Right",
  "locational_tumor_malignancy_class": "Primary",
  "manifest_id": "20220729_jrh_65108327",
  "med_tin": "7.381999",
  "necrosis_percent_area": 100,
  "nitrogen_tank": "nx-tank1",
  "number_cores_submitted": "2",
  "operational_id": "E1000-A",
  "original_sample": "True",
  "parent_csms_id": "mm_1214_jrh",
  "parent_sample_id": "string",
  "percent_viability": "1.2",
  "processed_sample_derivative": "Germline DNA",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "rack_id": "rack_id_2204",
  "reason": "string",
  "replacement_sample_requested": "Replacement Not Requested",
  "rin_value": "0.29",
  "sample_collection_procedure_other": "Description of Other Procedure Used",
  "sample_id": "E1000-A",
  "sample_manifest_type": "interventional",
  "sample_qc_fail_reason": "Container Damaged",
  "sample_qc_fail_reason_other": "Incorrect handling of sample",
  "sample_qc_result": "QC Pass",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "shelf": "string",
  "status": "in_lab",
  "storage_box_number": "box_76399",
  "storage_environment": "LN",
  "storage_room": "room bio-456",
  "storage_temperature": "5c",
  "storage_unit_type": "Refrigerator",
  "storage_unit_type_other": "Vault",
  "treatment_participant_id": "tp_99-45688",
  "treatment_protocol_id": "22-6789",
  "viable_stroma_percent_area": "4.82",
  "viable_tumor_percent_area": "81.2"
}

CSMS-Interventional JSON Schema for samples

Properties

Name Type Required Restrictions Description
biological_sex string true none biological sex for tissue samples.
biopsy_site string true none Biopsy site for tissue samples.
collection_date string true none Date the sample was collected.
collection_event_name string true none Categorical description of the time point at which the sample was taken.
collection_time string true none Estimated time when sample was devascularized--Ischemic Start Time.
container_type string true none Type of container used to transport sample.
date_of_birth string true none Participant date of birth.
sample_collection_procedure string true none Indicates the sample source of the sample shipped.
sample_type string true none Type of sample.
screening_participant_id string true none Participant Identifier.
screening_protocol_id string true none Protocol or Clinical Trial program.
a260_or_a230_value integer¦null false none An absorbance percentage ratio indicating presence of contaminants (values of 0 to 3).
a260_or_a280_value integer¦null false none An absorbance percentage ratio indicating purity of DNA (values of 0 to 2).
blast_percentage number¦null false none TBD
box_coordinates string¦null false none Coordinates describing the location of the box used for sample storage.
comments string false none comment to be added to the sample
container_type_other string¦null false none Additional details when Other is selected for container type.
cores_submitted string¦null false none Indicates whether cores are submitted with the sample.
csms_id string false none Sample identifier assigned by the CSMS-Interventional Network.
custodian_institution_id string false none Current institution ID in possession or the custodian of the sample.
description_of_sample string¦null false none Type of tissue associated with the sample.
description_of_tumor_sample string¦null false none Description of tumor sample.
din_value integer¦null false none Provides a DNA Integrity Number as an indication of extraction quality (values of 1-10).
directionality string¦null false none Directionality [Lateral, Midline].
dv200 number¦null false none Percentage of RNA fragments above 200 nucleotides.
event string¦null false none The update event performed.
fibrosis_percent_area number¦null false none Score the percentage area of fibrosis. QC field is editable by labs.
fixation_stabilization_type string¦null false none TBD
laterality string¦null false none Laterality [Left, Right, Bilateral].
locational_tumor_malignancy_class string¦null false none Location of the malignancy.
manifest_id string¦null false none The manifest ID. Include this value to associate the sample with a manifest. Use an empty string in a PATCH request to disassociate the sample from all manifests.
med_tin number¦null false none Median transcript integrity number to score RNA degradation.
necrosis_percent_area number¦null false none Score the percentage area of necrosis. QC field is editable by labs.
nitrogen_tank string¦null false none Describes the nitrogen tank where samples are stored long-term.
number_cores_submitted string¦null false none Number of cores submitted.
operational_id string¦null false none Identifier assigned by biorepository or lab.
original_sample boolean¦null false none True if the sample is created by an enrolling site.
parent_csms_id string false none CSMS identifier of the parent sample, if this sample is a child.
parent_sample_id string¦null false none Sample identifier assigned by the biorepository site.
percent_viability number¦null false none TBD
processed_sample_derivative string¦null false none The type of derivative or analyte extracted from the sample to be shipped for testing.
processed_sample_id string¦null false none Aliquot identifier assigned by the bio repository site.
processed_sample_type string¦null false none The type of processing that was performed on the collected sample by the Biobank or Bio repository for storage.
rack_id string¦null false none Describes the rack number where samples are stored long-term.
reason string¦null false none The reason for the update action.
replacement_sample_requested string¦null false none Indication if sample replacement is/was requested. QC field is editable by labs.
rin_value number¦null false none A numerical measure of RNA integrity (RNA Integrity Number).
sample_collection_procedure_other string¦null false none Additional information when Other is specified for sample_collection_procedure.
sample_id string false none Identifier assigned by biorepository or lab.
sample_manifest_type string false none The type of processing that was performed on the collected sample by the Biobank for storage. normal_blood_dna is deprecated. Use blood_nucleic_acid instead.
sample_qc_fail_reason string¦null false none Reason QC check failed.
sample_qc_fail_reason_other string¦null false none Additional detail when Other selected for sample_qc_fail_reason.
sample_qc_result string¦null false none Result of quality control review.
sample_shipping_condition string¦null false none Description of the sample shipping condition.
sample_shipping_condition_other string¦null false none Description describing the use of the other field associated with sample_shipping_condition property.
sample_type_other string¦null false none Additional details when Other is selected for sample_type.
sample_uom string¦null false none Unit of measure associated with sample_quantity.
sample_volume_quantity number¦null false none The volume of the sample.
shelf string¦null false none Describes the shelf where samples are stored long-term.
status string¦null false none Internal CSMS state of the sample. Manifest and sample status cannot both be changed in the same request.
storage_box_number string¦null false none Describes the box number where samples are stored long-term.
storage_environment string¦null false none Storage environment assigned to sample.
storage_room string¦null false none Describes the room location where samples are stored long-term.
storage_temperature string¦null false none Describes the long-term storage temperature.
storage_unit_type string¦null false none Equipment used to store the sample.
storage_unit_type_other string¦null false none Description of the other equipment being used for storage of the sample.
treatment_participant_id string¦null false none Optional field for collecting treatment participant identifier.
treatment_protocol_id string¦null false none Optional field for collecting ID of treatment protocol.
viable_stroma_percent_area number¦null false none Percent of the area that is viable stroma.
viable_tumor_percent_area number¦null false none Score the percentage of viable tumor cells comprising the tumor bed area. QC field is editable by labs.

Enumerated Values

Property Value
biological_sex Male
biological_sex Female
container_type ACD-A Tube
container_type ACD-B Tube
container_type Bag
container_type Box
container_type CellSave Tube
container_type Conical Tube
container_type Container
container_type CPT Citrate Tube
container_type CPT Heparin Tube
container_type Cryovial
container_type EDTA Tube
container_type Fecal Collection Container with NA Stabilizer
container_type FFPE Tissue Cassette
container_type Formalin Jar
container_type Image
container_type Lithium Heparin Tube
container_type OMNIgene
container_type OMNImet
container_type PAXgene DNA Tube
container_type PAXgene RNA Tube
container_type Plain Red Top Tube
container_type PPT Tube
container_type Saliva Tube
container_type Screw Top Jar
container_type Slide
container_type Slide Cassette
container_type Smart Tube
container_type Sodium Citrate Tube
container_type Sodium Heparin Tube
container_type SST Tube
container_type Streck Tube
container_type Other
sample_collection_procedure Apheresis
sample_collection_procedure Bone Biopsy
sample_collection_procedure Bone Marrow Core Biopsy
sample_collection_procedure Bone Marrow Aspiration
sample_collection_procedure Bronchoalveolar Lavage
sample_collection_procedure Buccal Swab
sample_collection_procedure Core Biopsy
sample_collection_procedure Endoscopic Biopsy
sample_collection_procedure FFPE Block Punch Biopsy
sample_collection_procedure Fine Needle Aspiration
sample_collection_procedure Leukapheresis
sample_collection_procedure Lumbar Puncture
sample_collection_procedure Mid Stream Urine Collection
sample_collection_procedure Not Reported
sample_collection_procedure Peritoneal Lavage
sample_collection_procedure Peritoneal Paracentesis
sample_collection_procedure Phlebotomy
sample_collection_procedure Pleural Thoracentesis
sample_collection_procedure Saliva Collection
sample_collection_procedure Skin Biopsy
sample_collection_procedure Stool Collection
sample_collection_procedure Surgical Excision
sample_collection_procedure Surgical Incision
sample_collection_procedure Urine Voiding
sample_collection_procedure Other
sample_type BAL Cells
sample_type BAL Cell Supernatant
sample_type BAL Fluid
sample_type BMMC
sample_type BMMC Supernatant
sample_type Bone Marrow Aspirate
sample_type Bone Marrow Core
sample_type Bone Marrow Film
sample_type Buccal Cells
sample_type Buffy Coat
sample_type CAR-T Cells
sample_type cfDNA
sample_type CSF
sample_type CSF Cells
sample_type CSF Cell Supernatant
sample_type CTC Cells
sample_type CTC Cell Supernatant
sample_type ctDNA
sample_type Cytospin Film
sample_type DNA
sample_type FFPE Block
sample_type FFPE Block Punch
sample_type FFPE Section
sample_type FFPE Tissue Core
sample_type FFPE Tissue Curl
sample_type FFPE Tissue Scroll
sample_type Fine Needle Aspirate
sample_type Fixed Tissue Slide
sample_type Formalin Fixed Tissue
sample_type Fresh Tissue
sample_type Fresh Tissue Core
sample_type Frozen Tissue
sample_type Frozen Tissue Block
sample_type Frozen Tissue Curl
sample_type Frozen Tissue Core
sample_type Frozen Tissue Section
sample_type Germline DNA
sample_type Germline Nucleic Acid
sample_type Germline RNA
sample_type H&E Fixed Tissue Slide
sample_type Leukapheresis Cells
sample_type Lymph Node Tissue
sample_type Nucleic Acid
sample_type OCT Frozen Tissue
sample_type OCT Frozen Tissue Block
sample_type OCT Frozen Tissue Core
sample_type OCT Frozen Tissue Curl
sample_type OCT Frozen Tissue Section
sample_type PBMC
sample_type PBMC Supernatant
sample_type PBSC
sample_type PBSC Supernatant
sample_type Peptides
sample_type Pericardial Fluid
sample_type Peritoneal Cells
sample_type Peritoneal Cell Supernatant
sample_type Peritoneal Fluid
sample_type Peritoneal Lavage Fluid
sample_type Plasma
sample_type Pleural Cells
sample_type Pleural Cell Supernatant
sample_type Pleural Fluid
sample_type Protein Lysate
sample_type RNA
sample_type Saliva
sample_type Serum
sample_type Skin Tissue
sample_type Stool
sample_type Synovial Fluid
sample_type Tissue Core
sample_type Urine
sample_type WBC
sample_type Whole Blood
sample_type Whole Blood Film
sample_type Other
screening_protocol_id MYELOMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH
cores_submitted Yes
cores_submitted No
description_of_sample Normal
description_of_sample Tumor
description_of_sample Unknown
description_of_tumor_sample Benign
description_of_tumor_sample In Situ
description_of_tumor_sample Malignant
description_of_tumor_sample Unknown
directionality Lateral
directionality Midline
fixation_stabilization_type Ficoll
fixation_stabilization_type Formalin Fixation
fixation_stabilization_type Formalin-Fixed Paraffin-Embedded (FFPE)
fixation_stabilization_type Frozen
fixation_stabilization_type 70% Ethanol
fixation_stabilization_type H&E
fixation_stabilization_type Liquid Nitrogen (Frozen)
fixation_stabilization_type OCT (Frozen)
fixation_stabilization_type Proteomic Stabilization
fixation_stabilization_type Thaw-Lyse
fixation_stabilization_type Not Reported
fixation_stabilization_type Other
laterality Left
laterality Right
laterality Bilateral
locational_tumor_malignancy_class Primary
locational_tumor_malignancy_class Metastasis
locational_tumor_malignancy_class Metastatic Lymph Node
locational_tumor_malignancy_class Unknown
number_cores_submitted 1
number_cores_submitted 2
number_cores_submitted 3
number_cores_submitted 4
number_cores_submitted 5
number_cores_submitted 6
number_cores_submitted 7
number_cores_submitted Not Reported
number_cores_submitted Other
processed_sample_derivative cfDNA
processed_sample_derivative ctDNA
processed_sample_derivative DNA
processed_sample_derivative Germline DNA
processed_sample_derivative Germline RNA
processed_sample_derivative Other
processed_sample_derivative RNA
processed_sample_derivative Protein Lysate
processed_sample_derivative Peptides
processed_sample_derivative Germline Nucleic Acid
processed_sample_derivative Nucleic Acid
processed_sample_type BAL Cells
processed_sample_type BAL Cell Supernatant
processed_sample_type BMMC
processed_sample_type BMMC Supernatant
processed_sample_type Bone Marrow Film
processed_sample_type Buccal Cells
processed_sample_type Buffy Coat
processed_sample_type cfDNA
processed_sample_type CSF Cell Supernatant
processed_sample_type CSF Cells
processed_sample_type CTC Cell Supernatant
processed_sample_type CTC Cells
processed_sample_type ctDNA
processed_sample_type Cytospin Film
processed_sample_type DNA
processed_sample_type FFPE Block
processed_sample_type FFPE Block Punch
processed_sample_type FFPE Section
processed_sample_type FFPE Tissue Core
processed_sample_type FFPE Tissue Curl
processed_sample_type FFPE Tissue Scroll
processed_sample_type Formalin Fixed Tissue
processed_sample_type Germline DNA
processed_sample_type Germline RNA
processed_sample_type Leukapheresis Cells
processed_sample_type Other
processed_sample_type PBMC
processed_sample_type PBMC Supernatant
processed_sample_type PBSC
processed_sample_type PBSC Supernatant
processed_sample_type Peritoneal Cell Supernatant
processed_sample_type Peritoneal Cells
processed_sample_type Plasma
processed_sample_type Pleural Cell Supernatant
processed_sample_type Pleural Cells
processed_sample_type RNA
processed_sample_type Serum
processed_sample_type Whole Blood Film
processed_sample_type Protein Lysate
processed_sample_type Peptides
processed_sample_type Germline Nucleic Acid
processed_sample_type Nucleic Acid
processed_sample_type H&E Fixed Tissue Slide
processed_sample_type Fixed Tissue Slide
processed_sample_type WBC
replacement_sample_requested Replacement Not Requested
replacement_sample_requested Replacement Requested
replacement_sample_requested Replacement Tested
replacement_sample_requested Not Reported
replacement_sample_requested Other
sample_manifest_type blood_nucleic_acid
sample_manifest_type tissue_nucleic_acid
sample_manifest_type tissue_slides
sample_manifest_type tissue_h_and_e
sample_manifest_type biofluid_plasma
sample_manifest_type biofluid_cellular
sample_manifest_type biofluid_cellular_nucleic_acid
sample_manifest_type microbiome
sample_manifest_type interventional
sample_qc_fail_reason Frozen
sample_qc_fail_reason Thawed
sample_qc_fail_reason Hemolysis
sample_qc_fail_reason Container Damaged
sample_qc_fail_reason Container Leaking
sample_qc_fail_reason Insufficient Material
sample_qc_fail_reason Insufficient Medium
sample_qc_fail_reason Other
sample_qc_result QC Pass
sample_qc_result Pass at Risk
sample_qc_result QC Failed
sample_qc_result QC Lost
sample_qc_result QC Not Shipped
sample_shipping_condition Frozen Shipper
sample_shipping_condition Frozen Dry Ice
sample_shipping_condition Ice/Cold Pack
sample_shipping_condition Ambient
sample_shipping_condition Not Reported
sample_shipping_condition Other
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter
status draft
status in_lab
status in_transit
status in_qc
status in_storage
status disposed
status missing
storage_environment Ambient
storage_environment RT
storage_environment 4 Celsius Degree
storage_environment -20 Degrees Celsius Or Minus 20 Degrees Celsius
storage_environment -80 Degrees Celsius Or Minus 80 Degrees Celsius
storage_environment -150 Degrees Celsius Or Minus 150 Degrees Celsius
storage_environment LN
storage_environment Dry Ice
storage_environment Not Reported
storage_environment Other
storage_unit_type Freezer
storage_unit_type Refrigerator
storage_unit_type Cabinet
storage_unit_type LNTank
storage_unit_type Other

parent_sample

{
  "csms_id": "mm_1234_jrh",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237"
}

Properties

Name Type Required Restrictions Description
csms_id string true none Sample identifier assigned by the CSMS-Interventional Network.
sample_uom string¦null true none Unit of measure associated with sample_quantity.
sample_volume_quantity number¦null true none The volume of the sample.

Enumerated Values

Property Value
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter

aliquots

[
  {
    "a260_or_a230_value": 10,
    "a260_or_a280_value": 10,
    "blast_percentage": "1.2",
    "container_type": "Other",
    "container_type_other": "Description of some other tube used.",
    "date_sample_processed": "2021-04-30",
    "din_value": 10,
    "dv200": "51.273",
    "fibrosis_percent_area": "21.2",
    "med_tin": "7.381999",
    "necrosis_percent_area": 100,
    "operational_id": "E1000-A",
    "percent_viability": "1.2",
    "processed_sample_id": "string",
    "processed_sample_type": "Other",
    "rin_value": "0.29",
    "sample_id": "E1000-A",
    "sample_shipping_condition": "Other",
    "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
    "sample_type": "Other",
    "sample_type_other": "Some other sample type",
    "sample_uom": "mL",
    "sample_volume_quantity": "1.237",
    "screening_participant_id": "7bh45z",
    "time_sample_processed": "16:30 Hawaii-Aleutian",
    "viable_stroma_percent_area": "4.82",
    "viable_tumor_percent_area": "81.2"
  }
]

Properties

Name Type Required Restrictions Description
anonymous [aliquot] false none none

aliquot

{
  "a260_or_a230_value": 10,
  "a260_or_a280_value": 10,
  "blast_percentage": "1.2",
  "container_type": "Other",
  "container_type_other": "Description of some other tube used.",
  "date_sample_processed": "2021-04-30",
  "din_value": 10,
  "dv200": "51.273",
  "fibrosis_percent_area": "21.2",
  "med_tin": "7.381999",
  "necrosis_percent_area": 100,
  "operational_id": "E1000-A",
  "percent_viability": "1.2",
  "processed_sample_id": "string",
  "processed_sample_type": "Other",
  "rin_value": "0.29",
  "sample_id": "E1000-A",
  "sample_shipping_condition": "Other",
  "sample_shipping_condition_other": "Describes a shipping condition not available in the predefined list.",
  "sample_type": "Other",
  "sample_type_other": "Some other sample type",
  "sample_uom": "mL",
  "sample_volume_quantity": "1.237",
  "screening_participant_id": "7bh45z",
  "time_sample_processed": "16:30 Hawaii-Aleutian",
  "viable_stroma_percent_area": "4.82",
  "viable_tumor_percent_area": "81.2"
}

Properties

Name Type Required Restrictions Description
a260_or_a230_value integer¦null false none An absorbance percentage ratio indicating presence of contaminants (values of 0 to 3).
a260_or_a280_value integer¦null false none An absorbance percentage ratio indicating purity of DNA (values of 0 to 2).
blast_percentage number¦null false none TBD
container_type string true none Type of container used to transport sample.
container_type_other string¦null false none Additional details when Other is selected for container type.
date_sample_processed string¦null true none Date when a resected/biopsied sample is moved into preservative or dry ice--Ischemic End Date.
din_value integer¦null false none Provides a DNA Integrity Number as an indication of extraction quality (values of 1-10).
dv200 number¦null false none Percentage of RNA fragments above 200 nucleotides.
fibrosis_percent_area number¦null false none Score the percentage area of fibrosis. QC field is editable by labs.
med_tin number¦null false none Median transcript integrity number to score RNA degradation.
necrosis_percent_area number¦null false none Score the percentage area of necrosis. QC field is editable by labs.
operational_id string¦null false none Identifier assigned by biorepository or lab.
percent_viability number¦null false none TBD
processed_sample_id string¦null false none Aliquot identifier assigned by the bio repository site.
processed_sample_type string¦null true none The type of processing that was performed on the collected sample by the Biobank or Bio repository for storage.
rin_value number¦null false none A numerical measure of RNA integrity (RNA Integrity Number).
sample_id string false none Identifier assigned by biorepository or lab.
sample_shipping_condition string¦null false none Description of the sample shipping condition.
sample_shipping_condition_other string¦null false none Description describing the use of the other field associated with sample_shipping_condition property.
sample_type string true none Type of sample.
sample_type_other string¦null false none Additional details when Other is selected for sample_type.
sample_uom string¦null true none Unit of measure associated with sample_quantity.
sample_volume_quantity number¦null true none The volume of the sample.
screening_participant_id string true none Participant Identifier.
time_sample_processed string¦null true none Estimated time when resected/biopsied sample is moved into preservative or dry ice--Ischemic End Time.
viable_stroma_percent_area number¦null false none Percent of the area that is viable stroma.
viable_tumor_percent_area number¦null false none Score the percentage of viable tumor cells comprising the tumor bed area. QC field is editable by labs.

Enumerated Values

Property Value
container_type ACD-A Tube
container_type ACD-B Tube
container_type Bag
container_type Box
container_type CellSave Tube
container_type Conical Tube
container_type Container
container_type CPT Citrate Tube
container_type CPT Heparin Tube
container_type Cryovial
container_type EDTA Tube
container_type Fecal Collection Container with NA Stabilizer
container_type FFPE Tissue Cassette
container_type Formalin Jar
container_type Image
container_type Lithium Heparin Tube
container_type OMNIgene
container_type OMNImet
container_type PAXgene DNA Tube
container_type PAXgene RNA Tube
container_type Plain Red Top Tube
container_type PPT Tube
container_type Saliva Tube
container_type Screw Top Jar
container_type Slide
container_type Slide Cassette
container_type Smart Tube
container_type Sodium Citrate Tube
container_type Sodium Heparin Tube
container_type SST Tube
container_type Streck Tube
container_type Other
processed_sample_type BAL Cells
processed_sample_type BAL Cell Supernatant
processed_sample_type BMMC
processed_sample_type BMMC Supernatant
processed_sample_type Bone Marrow Film
processed_sample_type Buccal Cells
processed_sample_type Buffy Coat
processed_sample_type cfDNA
processed_sample_type CSF Cell Supernatant
processed_sample_type CSF Cells
processed_sample_type CTC Cell Supernatant
processed_sample_type CTC Cells
processed_sample_type ctDNA
processed_sample_type Cytospin Film
processed_sample_type DNA
processed_sample_type FFPE Block
processed_sample_type FFPE Block Punch
processed_sample_type FFPE Section
processed_sample_type FFPE Tissue Core
processed_sample_type FFPE Tissue Curl
processed_sample_type FFPE Tissue Scroll
processed_sample_type Formalin Fixed Tissue
processed_sample_type Germline DNA
processed_sample_type Germline RNA
processed_sample_type Leukapheresis Cells
processed_sample_type Other
processed_sample_type PBMC
processed_sample_type PBMC Supernatant
processed_sample_type PBSC
processed_sample_type PBSC Supernatant
processed_sample_type Peritoneal Cell Supernatant
processed_sample_type Peritoneal Cells
processed_sample_type Plasma
processed_sample_type Pleural Cell Supernatant
processed_sample_type Pleural Cells
processed_sample_type RNA
processed_sample_type Serum
processed_sample_type Whole Blood Film
processed_sample_type Protein Lysate
processed_sample_type Peptides
processed_sample_type Germline Nucleic Acid
processed_sample_type Nucleic Acid
processed_sample_type H&E Fixed Tissue Slide
processed_sample_type Fixed Tissue Slide
processed_sample_type WBC
sample_shipping_condition Frozen Shipper
sample_shipping_condition Frozen Dry Ice
sample_shipping_condition Ice/Cold Pack
sample_shipping_condition Ambient
sample_shipping_condition Not Reported
sample_shipping_condition Other
sample_type BAL Cells
sample_type BAL Cell Supernatant
sample_type BAL Fluid
sample_type BMMC
sample_type BMMC Supernatant
sample_type Bone Marrow Aspirate
sample_type Bone Marrow Core
sample_type Bone Marrow Film
sample_type Buccal Cells
sample_type Buffy Coat
sample_type CAR-T Cells
sample_type cfDNA
sample_type CSF
sample_type CSF Cells
sample_type CSF Cell Supernatant
sample_type CTC Cells
sample_type CTC Cell Supernatant
sample_type ctDNA
sample_type Cytospin Film
sample_type DNA
sample_type FFPE Block
sample_type FFPE Block Punch
sample_type FFPE Section
sample_type FFPE Tissue Core
sample_type FFPE Tissue Curl
sample_type FFPE Tissue Scroll
sample_type Fine Needle Aspirate
sample_type Fixed Tissue Slide
sample_type Formalin Fixed Tissue
sample_type Fresh Tissue
sample_type Fresh Tissue Core
sample_type Frozen Tissue
sample_type Frozen Tissue Block
sample_type Frozen Tissue Curl
sample_type Frozen Tissue Core
sample_type Frozen Tissue Section
sample_type Germline DNA
sample_type Germline Nucleic Acid
sample_type Germline RNA
sample_type H&E Fixed Tissue Slide
sample_type Leukapheresis Cells
sample_type Lymph Node Tissue
sample_type Nucleic Acid
sample_type OCT Frozen Tissue
sample_type OCT Frozen Tissue Block
sample_type OCT Frozen Tissue Core
sample_type OCT Frozen Tissue Curl
sample_type OCT Frozen Tissue Section
sample_type PBMC
sample_type PBMC Supernatant
sample_type PBSC
sample_type PBSC Supernatant
sample_type Peptides
sample_type Pericardial Fluid
sample_type Peritoneal Cells
sample_type Peritoneal Cell Supernatant
sample_type Peritoneal Fluid
sample_type Peritoneal Lavage Fluid
sample_type Plasma
sample_type Pleural Cells
sample_type Pleural Cell Supernatant
sample_type Pleural Fluid
sample_type Protein Lysate
sample_type RNA
sample_type Saliva
sample_type Serum
sample_type Skin Tissue
sample_type Stool
sample_type Synovial Fluid
sample_type Tissue Core
sample_type Urine
sample_type WBC
sample_type Whole Blood
sample_type Whole Blood Film
sample_type Other
sample_uom Cells/Vial
sample_uom mL
sample_uom Microliter

bulk_id_post

{
  "count": "38",
  "institution_id": "BioRepository-East",
  "screening_protocol_id": "MyeloMATCH"
}

Properties

Name Type Required Restrictions Description
count number true none Number of sample IDs requested.
institution_id string true none Institution ID of Biorepository requesting the ids.
screening_protocol_id string true none Protocol or Clinical Trial program. Required field at sample creation.

Enumerated Values

Property Value
screening_protocol_id MyeloMATCH
screening_protocol_id EAY191
screening_protocol_id iMATCH

API Sandbox

To try out CSMS API methods in Swagger, refer to our Swagger documentation site.