---
title: "POST Generate training completion certificate PDF"
description: "Generates a PDF certificate for a member who has completed all training videos. Returns the PDF as a downloadable file."
last_updated: "2026-05-06T07:33:54.816681+00:00"
canonical_url: "https://www.doc0.dev/docs/49c89830-117b-4def-8edc-b5bcc50766e0/api/training/trainingcontroller-generatecertificate"
---

<APIEndpoint
  method={"POST"}
  path={"/training/generate-certificate"}
  summary={"Generate training completion certificate PDF"}
  description={"Generates a PDF certificate for a member who has completed all training videos. Returns the PDF as a downloadable file."}
  deprecated={false}
  baseUrl={""}
/>

## Parameters

<APIParameters parameters={[{"name":"x-internal-token","in":"header","required":true,"description":"Internal API token for service-to-service calls","schema":{"type":"string"}}]} />

## Request Body

<APIRequestBody
  contentType={"application/json"}
  required={true}
  schema={{"type":"object"}}
/>

## Responses

<APIResponse
  statusCode={"200"}
  description={"PDF certificate file"}
  contentType={"application/pdf"}
/>

<APIResponse
  statusCode={"400"}
  description={"Training not complete or member not found"}
  contentType={"application/json"}
/>

## Try It

<APIPlayground
  method={"POST"}
  path={"/training/generate-certificate"}
  parameters={[{"name":"x-internal-token","in":"header","required":true,"description":"Internal API token for service-to-service calls","schema":{"type":"string"}}]}
  requestBody={{"contentType":"application/json","required":true,"description":"","schema":{"type":"object"}}}
  baseUrl={""}
/>


## Sitemap

See the full [sitemap](https://www.doc0.dev/docs/49c89830-117b-4def-8edc-b5bcc50766e0/llms.txt) for all pages in this wiki.
