---
title: "Public Certificate Verify"
method: POST
path: "/v1/certificate/verify"
---

# Public Certificate Verify

`POST /v1/certificate/verify`

## Request

- Base URL: `https://api.alphaassay.com`
- URL: `https://api.alphaassay.com/v1/certificate/verify`
- Auth: none declared

Public verifier (no auth; the unauth IP limiter applies): anyone can
paste a certificate + signature -- the homepage check box calls this.
Historical keys are selected from the externally rooted public bundle;
optional caller PEM is evidence, never a trust root.

## Request body

- CertificateVerifyRestRequest: Documentation envelope; the endpoint still validates the raw bytes.
  - `certificate` object, required
  - `signature_b64` string, required
  - `public_key_pem` string, nullable

## Response `200`

Successful Response

- CertificateVerifyRestResponse: REST adds a convenience disclaimer beyond the shared MCP result.
  - `_meta` PublicMeta, required
    - `engine_version` string, required
    - `api_version` string, required
    - `as_of` string, date-time, required
    - `input_digest` string, required
    - `request_digest` string, required
    - `tenant_scope` string, required
    - `tenant_scope_version` string, required
    - `request_id` string, nullable, required
    - `source_identity_digest` string, required
    - `operation` string, required
    - `statefulness` 'pure' | 'public_read' | 'tenant_read' | 'tenant_write', required
    - `not_financial_advice` true, required
    - `disclaimer` string, required
  - `valid` boolean, required
  - `signature_valid` boolean, required
  - `chain_valid` boolean, required
  - `revocation_chain_valid` boolean, required
  - `revoked` boolean, required
  - `status` 'invalid' | 'valid' | 'valid_but_revoked', required
  - `reason` string, required
  - `reason_code` string, required
  - `public_key_id` string, nullable
  - `public_key_fingerprint` string, nullable
  - `certificate_id` union
    - boolean
    - integer
    - number
    - string
    - JsonValue[]
    - object
  - `revocations` CertificateRevocation[], nullable
    - `sequence` integer, required
    - `scope` 'certificate_id' | 'engine_version' | 'key_id', required
    - `match_value` string, required
    - `reason` string, required
    - `revoked_at` string, required
    - `predecessor_entry_hash` string, required
    - `legacy_line_hash` string, nullable, required
    - `entry_hash` string, required
  - `trust_head_hash` string, nullable
  - `trust_head_sequence` integer, nullable
  - `disclaimer` string, required

## Other responses

- `413`: Request could not be completed
- `422`: Request could not be completed
- `429`: Request rate limit exceeded
- `500`: Internal execution failure
- `503`: Request could not be completed

---

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