POST /api/pro/work/:id/validate
Checks one part against its standard's headings and the review rules, and answers every finding with where it is. Changes nothing.
Surface: professional. Who may call: professional. Key: professional.work.part.validate.
Example request
curl -X POST https://caremcp.com/api/pro/work/7d1f0a0e-2c4b-4c7e-9a6e-000000000001/validate \
-H "Authorization: Bearer <session or access token>" \
-H "Content-Type: application/json" \
-d '{"profession":"personal-trainer","markdown":"# Summary\nThree runs and two dumbbell sessions a week; the wrist stays neutral under load. \n\n# Weeks\n## Week 1\n### Day 1: run\nRPE 3, 30 minutes, easy.\n\n### Day 3: strength\nRPE 7, 45 minutes. Dumbbell row 3 x 10 at 14 kg, rest 90 s. Goblet squat 3 x 10.\n\n# Progression\nAdd five minutes to each run while RPE stays at 3; add one set to the rows in week three.\n\n# Adaptations\nNeutral grip on every press; no push-ups on the palm until the wrist settles.\n\n# Referral\nNone."}'
Example input
{
"id": "7d1f0a0e-2c4b-4c7e-9a6e-000000000001",
"profession": "personal-trainer",
"markdown": "# Summary\nThree runs and two dumbbell sessions a week; the wrist stays neutral under load. \n\n# Weeks\n## Week 1\n### Day 1: run\nRPE 3, 30 minutes, easy.\n\n### Day 3: strength\nRPE 7, 45 minutes. Dumbbell row 3 x 10 at 14 kg, rest 90 s. Goblet squat 3 x 10.\n\n# Progression\nAdd five minutes to each run while RPE stays at 3; add one set to the rows in week three.\n\n# Adaptations\nNeutral grip on every press; no push-ups on the palm until the wrist settles.\n\n# Referral\nNone."
}
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"profession": {
"type": "string",
"minLength": 1,
"description": "Which part: the profession's key."
},
"markdown": {
"type": "string",
"maxLength": 30000
}
},
"required": [
"id",
"profession",
"markdown"
]
}
Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"path",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"ok",
"issues"
],
"additionalProperties": false
}