---
title: "Certify Checkout"
method: POST
path: "/api/v1/certify/checkout"
tags: ["certify"]
---

# Certify Checkout

`POST /api/v1/certify/checkout`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/certify/checkout`
- Auth: none declared

Start a one-off $39 certification purchase (Badge-direct, mode:payment).

Gate order (each a hard stop): flag → ownership → EU waiver → integrity
(live capability) → Stripe config. In dev with no Stripe key, short-circuits
to a paid certification + dispatched deep screening so the flow is drivable
locally (the no-mock-cert guard in certify_service still holds).

## Request body

- CertifyCheckoutRequest
  - `agent_id` string, required
  - `accept_immediate_performance` boolean
  - `trigger_reason` 'architecture_staleness' | 'suite_rotation', nullable

## Response `200`

Successful Response

- union
  - CertifyCheckoutResponse
    - `checkout_url` string, required
    - `certification_id` string, required
  - CertifyDevGrantResponse
    - `dev_mode` boolean
    - `certification_id` string, required
    - `status` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
