---
title: "Certified extract: the value plus its full evidence chain, Ed25519-signed"
method: GET
path: "/v1/certified/{country}/{series}"
tags: ["Certified"]
---

# Certified extract: the value plus its full evidence chain, Ed25519-signed

`GET /v1/certified/{country}/{series}`

## Request

- Base URL: `https://mearef.dev`
- URL: `https://mearef.dev/v1/certified/{country}/{series}`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - API key in header `X-PAYMENT`
  - API key in header `X-API-Key`

Signed, dated evidence for one value: citation, sha256 of the archived source, last confirmation, limitations. Ed25519; free key: https://mearef.dev/certified/public-key. Refused free (422) if the source is unfingerprinted. Certifies the source supported the value then, not that nothing newer exists.

## Path parameters

- `country` 'ae' | 'bh' | 'il' | 'iq' | 'jo' | 'kw' | 'om' | 'qa' | 'sa', required
- `series` 'policy-rate' | 'vat' | 'vat-registration-threshold' | 'minimum-wage' | 'public-holidays' | 'cpi' | 'corporate-tax' | 'withholding-tax' | 'statutory-interest' | 'income-tax' | 'social-contributions' | 'filing-deadlines', required

## Response `200`

Signed certified extract

- CertifiedExtract: A signed series certified extract. Not an answer receipt (kind answer_receipt lives on paid answer responses). The signature covers the canonical JSON of certified_extract exactly as received.
  - `certified_extract` object
    - `format` 'afriref-certified-extract/1'
    - `issued_at` string, date-time
    - `extract_id` string: Stable id derived from the extract's own content
    - `issuer` object
    - `subject` object
      - `country` string
      - `series` string
    - `value` object: Value, unit, effective dates, confidence and staleness, plus confidence_label and coverage_label (signed)
    - `citation` object: Official source name and URL; includes the rule-vs-instances split for dated series
    - `source_document` object: The cited document as archived: sha256 over the retrieved bytes, size, content type, first and latest fingerprint dates, and whether a copy is held.
    - `verification` object: How and when the value was last confirmed, and - where the mechanical pass holds it - the value located in the archived document with surrounding context.
    - `limitations` string[]: What this extract does NOT certify. Always populated.
  - `signature` object
    - `alg` 'Ed25519'
    - `key_id` string
    - `public_key` string, uri
    - `signed_payload` string: How to reconstruct the signed bytes
    - `value` string: Base64 Ed25519 signature
  - `confidence_label` 'high' | 'medium' | 'low': Derived from source type, verification age, stale. Rules: /label-rules
  - `coverage_label` 'ready' | 'partial' | 'gap': ready=complete, partial=limited, gap=no number. Rules: /label-rules
  - `label_basis` object: Inputs and rule ids behind both labels

## Other responses

- `402`: Payment required - retry with PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1), or send X-API-Key.
- `404`: Unknown country or series
- `422`: Refused, with the reason. Validation refusals happen BEFORE payment and are never charged.

---

[API](https://skmtc.dev/mearef/apis/mearef-middle-eastern-government-reference-data.md) · [All operations](https://skmtc.dev/mearef/apis/mearef-middle-eastern-government-reference-data/llms.txt) · [OpenAPI document](https://skmtc.dev/mearef/apis/mearef-middle-eastern-government-reference-data/revisions/7b64e3502210?raw)
