---
title: "Create a certificate on the company an answer request is about"
method: POST
path: "/api/questionnaires/requests/{requestId}/certificates"
tags: ["Questionnaire Responses"]
---

# Create a certificate on the company an answer request is about

`POST /api/questionnaires/requests/{requestId}/certificates`

Creates a certificate as the answer to a CERTIFICATE question, on the company the request is *about*. The target company comes from the request's `onBehalfOfCompanyId` and is deliberately **not** accepted in the body. Only the answering company may call it, and only while the brand that issued the request is still connected to it; anyone else gets 404 `request_not_found`. Replaces `POST /v3/claims` for this flow, which inserted the claim and copied its file into private storage and *then* read the row back through a network-scoped query — so a delegated answering party got a 404 after the write, leaving a claim no read path can see, and a duplicate check scoped to the caller that could not find it, so every retry wrote another. Here the read-back is unscoped and the duplicate check is scoped to the company the certificate is actually filed on. The certificate is created in REQUESTED state; `status` is not client-settable. Required and optional fields mirror `POST /api/claims`, so only the standard and the two dates are required; a file is optional and, when given, must belong to the caller. Responds 201.

## Path parameters

- `requestId` string, required

## Request body

- object
  - `standardId` string, required
  - `issueDate` string, required
  - `expirationDate` string, required
  - `fileId` string
  - `issuedBy` string
  - `documentNumber` string
  - `licenseNumber` string
  - `explanation` string

## Response `201`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required — True when the request succeeded.
  - `data` object, required
    - `id` string, required
    - `standardId` string, required
    - `companyId` string, required

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response
- `409` — Default Response

## Changes

> 21 revisions in range; 1 not diffed.

- **2026-08-24** `d1450ba9a75a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/questionnaires/requests/:requestId/certificates/post.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) · [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/retraced/api-reference/revisions/1df37791a1bb/schema)
