---
title: "POST /api/admin/certification-rules"
method: POST
path: "/api/admin/certification-rules"
tags: ["Administration/Certification Rules"]
---

# POST /api/admin/certification-rules

`POST /api/admin/certification-rules`

## Request

- Base URL: `https://api.retraced.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.retraced.com/api/admin/certification-rules`
- Auth: none declared

Adds a certification rule and answers 201 with it as stored. `connectionType` is required (max 36 chars); `entityId` (the certification) and `rules` (the expression array) may be null or omitted. The certification is not checked to exist. Legacy answered 200 with the bare row; this answers the `{ data, metadata }` envelope.

## Request body

- object
  - `connectionType` string, required
  - `entityId` string, nullable
  - `rules` unknown[], nullable
    - unknown

## Response `201`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required: True when the request succeeded.
  - `data` object, required
    - `id` string, required
    - `connectionType` string, required
    - `entityId` string, nullable, required
    - `rules` unknown[], nullable, required
      - unknown
    - `version` number, nullable, required
    - `createdAt` string, nullable, required
    - `createdByImpersonateId` string, nullable, required
    - `createdByUserId` string, nullable, required
    - `createdByCompanyId` string, nullable, required
    - `createdByApiKeyId` string, nullable, required
    - `createdByApiKeyLabel` string, nullable, required
    - `updatedAt` string, nullable, required
    - `updatedByImpersonateId` string, nullable, required
    - `updatedByImpersonateName` string, nullable, required
    - `updatedByUserId` string, nullable, required
    - `updatedByUserName` string, nullable, required
    - `updatedByCompanyId` string, nullable, required
    - `updatedByCompanyName` string, nullable, required
    - `updatedByApiKeyId` string, nullable, required
    - `updatedByApiKeyLabel` string, nullable, required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response

## Changes

> 108 revisions in range; 2 not diffed.

- **2026-10-15** `c359ab349779`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/retraced/apis/api-reference/changes/api/admin/certification-rules/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.dev/retraced/apis/api-reference/revisions/83309c4abd20?raw)
