---
title: "Issue Certificate"
method: POST
path: "/v1/erasure/issue"
tags: ["Erasure Proof"]
---

# Issue Certificate

`POST /v1/erasure/issue`

## Request

- Base URL: `https://api.grafomem.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.grafomem.com/v1/erasure/issue`
- Auth: none declared

Issue a signed erasure certificate for a deleted fact.

Performs the full GDPR erasure workflow:
1. Scrubs the fact from all decision trail records
2. Computes a content hash (proof without retaining PII)
3. Ed25519-signs the certificate
4. Persists the certificate to the database

Returns the signed erasure certificate.

## Request body

- IssueErasureRequest: Request body for POST /v1/erasure/issue.
  - `fact_ref` integer, required
  - `fact_content` string, nullable
  - `memory_deleted` boolean
  - `legal_basis` string
  - `requested_by` string, nullable
  - `signing_key` string, nullable
  - `declared_subsystems` string[], nullable

## Response `200`

Successful Response

- CertificateResponse: Response model for an erasure certificate.
  - `certificate_id` string, required
  - `tenant_id` string, required
  - `fact_ref` integer, required
  - `fact_content_hash` string, nullable
  - `coverage` object, required
  - `scrubbed_decision_ids` string[]
  - `erasure_requested_at` string, required
  - `erasure_completed_at` string, required
  - `legal_basis` string, required
  - `requested_by` string, nullable
  - `signature` string, nullable
  - `public_key` string, nullable
  - `verified` boolean
  - `verification_note` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/grafomem/apis/grafomem-cloud.md) · [All operations](https://skmtc.dev/grafomem/apis/grafomem-cloud/llms.txt) · [OpenAPI document](https://skmtc.dev/grafomem/apis/grafomem-cloud/revisions/a472af705375?raw)
