Appearance
public-labs-brief
2 endpoints.
GET /api/v1/public/labs-brief
Get Labs Brief
The brief's enabled tabs, their questions, and this client's answers.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
token | query | yes | string | |
x-website-secret | header | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}POST /api/v1/public/labs-brief
Save Labs Brief
Autosave, and the final submit. Same route for both — submit only changes the status the brief lands on, never what is written, so a client who submits and then keeps typing does not lose the extra answers.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
x-website-secret | header | no |
Request body
json
{
"properties": {
"token": {
"type": "string",
"maxLength": 128,
"minLength": 16,
"title": "Token"
},
"answers": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Answers"
},
"submit": {
"type": "boolean",
"title": "Submit",
"default": false
}
},
"type": "object",
"required": [
"token"
],
"title": "LabsAnswersIn"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}