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
}