SampleTracker API (1.0.0)

Download OpenAPI specification:

REST API for managing laboratory samples, processing steps, and observations

Samples

List samples

Returns a paginated list of samples with key metadata and counts

Authorizations:
bearerAuth
query Parameters
l
integer [ 1 .. 100 ]
Default: 20

Number of results to return (max: 100)

minId
integer

Pagination cursor - return samples with ID > minId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ],
  • "pagination": {
    }
}

Create sample

Creates a new sample in the system

Authorizations:
bearerAuth
Request Body schema: application/json
required
sampleId
string <= 255 characters
name
string <= 255 characters
description
string

Responses

Request samples

Content type
application/json
{
  • "sampleId": "string",
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get sample

Returns complete sample information including full history timeline

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Update sample

Updates sample metadata (name and/or description). Only the sample owner can update.

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Request Body schema: application/json
required
name
string <= 255 characters
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Delete sample

Deletes a sample and all its related data. Only the sample owner can delete.

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Processing Steps

List processing steps

Returns all processing steps for a sample

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Create processing step

Adds a processing step to a sample

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Request Body schema: application/json
required
name
required
string
description
string
performedBy
required
integer
performedAt
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "performedBy": 0,
  • "performedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get processing step

Returns a specific processing step with its parameters

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Update processing step

Updates an existing processing step

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

Request Body schema: application/json
required
name
required
string
description
string
performedAt
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "performedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Delete processing step

Deletes a processing step and all its parameters

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Parameters

List parameters

Returns all parameters for a processing step

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Create parameter

Adds a parameter to a processing step

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

Request Body schema: application/json
required
key
required
string
value
required
any
unit
string

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": null,
  • "unit": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get parameter

Returns a specific parameter

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

paramId
required
integer

Parameter ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Update parameter

Updates an existing parameter

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

paramId
required
integer

Parameter ID

Request Body schema: application/json
required
key
required
string
value
required
any
unit
string

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": null,
  • "unit": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Delete parameter

Deletes a parameter from a processing step

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

stepId
required
integer

Processing Step ID

paramId
required
integer

Parameter ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Observations

List observations

Returns all observations for a sample

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Create observation

Adds an observation to a sample

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

Request Body schema: application/json
required
content
required
string

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get observation

Returns a specific observation

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

obsId
required
integer

Observation ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Update observation

Updates an existing observation

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

obsId
required
integer

Observation ID

Request Body schema: application/json
required
content
required
string

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Delete observation

Deletes an observation from a sample

Authorizations:
bearerAuth
path Parameters
id
required
string

Sample ID

obsId
required
integer

Observation ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}