---
title: "Api Certification Complete"
method: POST
path: "/api/certifications/{track_id}/complete"
tags: ["Education"]
---

# Api Certification Complete

`POST /api/certifications/{track_id}/complete`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/certifications/{track_id}/complete`
- Auth: none declared

Submit final assessment answers.

## Path parameters

- `track_id` string, required

## Response `200`

Successful Response

- CertificationCompleteResponse: `POST /api/certifications/{track_id}/complete` — final-assessment grading. Multi-shape response: `passed` includes certificate_id + full `results` (with answer keys); `not_passed` strips keys per the CISO submit-garbage-then-read-keys mitigation; `already certified` short-circuits with the existing cert info.
  - `status` string, nullable: 'passed' | 'not_passed'; absent on already-certified path.
  - `score` integer, nullable: 0-100 percent score on the assessment.
  - `passing_score` integer, nullable: Track's passing threshold.
  - `correct` integer, nullable: Count of correct answers.
  - `total` integer, nullable: Total questions.
  - `certificate_id` string, nullable: Issued cert id (passed + already-certified paths).
  - `results` object[], nullable: Per-question grading rows; answer keys stripped on not_passed.
  - `message` string, nullable: Human-readable message on not_passed.
  - `final_score` integer, nullable: Already-certified path: prior final_score.
  - `error` string, nullable: 'Already certified' on the short-circuit path.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
