POST /v1/admin/lab-catalog/markers
Service: clinical · operationId: (none)
Internal: batch upsert markers from the nightly Junction catalog-sync workflow. Requires admin:clinical.
Required scopes
(no scope declared — review service config)
Request body
{
"type": "object",
"properties": {
"markers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"junction_marker_id": {
"type": "string",
"minLength": 1
},
"slug": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": [
"string",
"null"
]
},
"biomarker_code": {
"type": [
"string",
"null"
]
},
"units": {
"type": [
"string",
"null"
]
},
"wholesale_cost": {
"type": [
"number",
"null"
]
},
"currency": {
"type": "string"
},
"source_lab_id": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"raw": {
"type": "object",
"additionalProperties": {}
},
"active": {
"type": "boolean"
}
},
"required": [
"junction_marker_id",
"slug",
"name"
]
},
"minItems": 1
}
},
"required": [
"markers"
]
}Responses
200 Upserted
{
"type": "object",
"properties": {
"upserted": {
"type": "integer"
}
},
"required": [
"upserted"
]
}Example
curl -X POST https://clinical.platform.loop.health/v1/admin/lab-catalog/markers \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'Related
services/clinical— service overview- All endpoints — directory across services
- Auth model — how scopes are enforced