Download OpenAPI specification:
REST API for managing laboratory samples, processing steps, and observations
Returns a paginated list of samples with key metadata and counts
| l | integer [ 1 .. 100 ] Default: 20 Number of results to return (max: 100) |
| minId | integer Pagination cursor - return samples with ID > minId |
{- "success": true,
- "data": [
- {
- "id": 1,
- "sampleId": "ABC123",
- "name": "Red Paint Batch A",
- "description": "Test sample",
- "ownerId": 1,
- "createdAt": "2024-01-15T10:30:00Z",
- "updatedAt": "2024-01-15T10:30:00Z",
- "stepCount": 5,
- "observationCount": 3
}
], - "pagination": {
- "limit": 20,
- "minId": null,
- "nextMinId": 25,
- "hasMore": true
}
}Creates a new sample in the system
| sampleId | string <= 255 characters |
| name | string <= 255 characters |
| description | string |
{- "sampleId": "string",
- "name": "string",
- "description": "string"
}{- "success": true,
- "data": {
- "id": 0,
- "sampleId": "string",
- "name": "string",
- "description": "string"
}
}Returns complete sample information including full history timeline
| id required | string Sample ID |
{- "success": true,
- "data": {
- "id": 0,
- "sampleId": "string",
- "name": "string",
- "description": "string",
- "ownerId": 0,
- "ownerEmail": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "history": [ ],
- "stats": {
- "stepCount": 0,
- "observationCount": 0
}
}
}Updates sample metadata (name and/or description). Only the sample owner can update.
| id required | string Sample ID |
| name | string <= 255 characters |
| description | string |
{- "name": "string",
- "description": "string"
}{- "success": true,
- "data": {
- "id": 0,
- "sampleId": "string",
- "name": "string",
- "description": "string"
}
}Returns all processing steps for a sample
| id required | string Sample ID |
{- "success": true,
- "data": [
- {
- "id": 0,
- "sampleId": 0,
- "name": "string",
- "description": "string",
- "performedBy": 0,
- "recordedBy": 0,
- "performedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parameters": [
- {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}
]
}Adds a processing step to a sample
| id required | string Sample ID |
| name required | string |
| description | string |
| performedBy required | integer |
| performedAt required | string <date-time> |
{- "name": "string",
- "description": "string",
- "performedBy": 0,
- "performedAt": "2019-08-24T14:15:22Z"
}{- "success": true,
- "data": {
- "id": 0,
- "sampleId": 0,
- "name": "string",
- "description": "string",
- "performedBy": 0,
- "recordedBy": 0,
- "performedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parameters": [
- {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}
}Returns a specific processing step with its parameters
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
{- "success": true,
- "data": {
- "id": 0,
- "sampleId": 0,
- "name": "string",
- "description": "string",
- "performedBy": 0,
- "recordedBy": 0,
- "performedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parameters": [
- {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}
}Updates an existing processing step
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
| name required | string |
| description | string |
| performedAt required | string <date-time> |
{- "name": "string",
- "description": "string",
- "performedAt": "2019-08-24T14:15:22Z"
}{- "success": true,
- "data": {
- "id": 0,
- "sampleId": 0,
- "name": "string",
- "description": "string",
- "performedBy": 0,
- "recordedBy": 0,
- "performedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "parameters": [
- {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}
}Deletes a processing step and all its parameters
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
{- "success": true,
- "data": {
- "message": "Deleted successfully"
}
}Returns all parameters for a processing step
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
{- "success": true,
- "data": [
- {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}Adds a parameter to a processing step
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
| key required | string |
| value required | any |
| unit | string |
{- "key": "string",
- "value": null,
- "unit": "string"
}{- "success": true,
- "data": {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
}Returns a specific parameter
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
| paramId required | integer Parameter ID |
{- "success": true,
- "data": {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
}Updates an existing parameter
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
| paramId required | integer Parameter ID |
| key required | string |
| value required | any |
| unit | string |
{- "key": "string",
- "value": null,
- "unit": "string"
}{- "success": true,
- "data": {
- "id": 0,
- "stepId": 0,
- "key": "string",
- "value": null,
- "unit": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
}Deletes a parameter from a processing step
| id required | string Sample ID |
| stepId required | integer Processing Step ID |
| paramId required | integer Parameter ID |
{- "success": true,
- "data": {
- "message": "Deleted successfully"
}
}Returns all observations for a sample
| id required | string Sample ID |
{- "success": true,
- "data": [
- {
- "id": 0,
- "sampleId": 0,
- "userId": 0,
- "content": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Adds an observation to a sample
| id required | string Sample ID |
| content required | string |
{- "content": "string"
}{- "success": true,
- "data": {
- "id": 0,
- "sampleId": 0,
- "userId": 0,
- "content": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}Returns a specific observation
| id required | string Sample ID |
| obsId required | integer Observation ID |
{- "success": true,
- "data": {
- "id": 0,
- "sampleId": 0,
- "userId": 0,
- "content": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}Updates an existing observation
| id required | string Sample ID |
| obsId required | integer Observation ID |
| content required | string |
{- "content": "string"
}{- "success": true,
- "data": {
- "id": 0,
- "sampleId": 0,
- "userId": 0,
- "content": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}