Fuentio Proof API
The proof API from Fuentio — 3 operation(s) for proof.
Operations 3
GET
/v1/receipts/{receipt_id}
A receipt: by proof code (short or detailed), or a lookup's proof by request id
#
The proof API from Fuentio — 3 operation(s) for proof.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fuentio-com:fuentio-com-proof-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fuentio Proof API
summary: Verify any company in France, Spain or the United Kingdom in one call, with sources an auditor accepts.
description: 'Start here: the sandbox quickstart (curl examples, a Postman collection, MCP setup and companies to try). What each outcome means: /docs/outcomes. Errors: /docs/errors.'
version: 0.1.0
tags:
- name: proof
paths:
/v1/receipts/{receipt_id}:
get:
tags:
- proof
summary: 'A receipt: by proof code (short or detailed), or a lookup''s proof by request id'
description: '**A proof code** (`FUE-FR-20261015-DZ7TP9`, from a verification; any case, spaces allowed): the Fuentio receipt, `format=normal` (default; `summary` also works: outcome with reasons, status, legal form, registered office, insolvency with what was searched, source, check time, proof code, hash and the public link) or `format=detailed` (plus every check, the signals, changes, sources with fetch times, the full `data_sha256`, `unchanged` re-hashed now, `served_at` and the limits). The key that ran the verification also gets its `reference` and `verification_id`; anyone else gets the public view. `data.markdown` is the branded receipt to show as is, `data.text` the same in plain text. Same rate limit as the public proof check.
**A request id**: every lookup returns `meta.receipt` (`request_id`, `served_at`, `data_sha256`, `snapshot_id`). Fetch it with the **same key** to get the exact record served at that time, its provenance, and `verified: true` when re-hashing it gives the same `data_sha256` (SHA-256 of the canonical JSON of `data`: keys sorted, separators `,` and `:`, UTF-8). Kept 24 months by default. Free.'
operationId: get_receipt_v1_receipts__receipt_id__get
parameters:
- name: receipt_id
in: path
required: true
schema:
type: string
description: A proof code (FUE-…) or a lookup's `meta.receipt.request_id`.
title: Receipt Id
description: A proof code (FUE-…) or a lookup's `meta.receipt.request_id`.
- name: format
in: query
required: false
schema:
enum:
- normal
- summary
- detailed
type: string
description: 'For a proof code: `normal` (default; `summary` also works) or `detailed`.'
default: normal
title: Format
description: 'For a proof code: `normal` (default; `summary` also works) or `detailed`.'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Get Receipt V1 Receipts Receipt Id Get
examples:
normal:
summary: A proof code, format=normal
value:
data:
kind: verification_receipt
format: normal
proof_code: FUE-FR-20261015-DZ7TP9
header:
country: FR
id_type: SIREN
id: '345086177'
name: CAMAIEU INTERNATIONAL
outcome:
value: unverified
reasons:
- insolvency_liquidation
in_words:
- an open liquidation
status:
value: active
as_of: '2025-12-06'
label: Active
legal_form:
label: SAS, société par actions simplifiée
code: '5710'
registered_office: 211 AVENUE BRAME 59100 ROUBAIX
insolvency:
value: in_procedure
detail: 'in procedure: liquidation opened on 2021-04-14 (BODACC notices since 2008 searched)'
source:
name: Annuaire des Entreprises (API Recherche d'entreprises)
licence: Licence Ouverte / Etalab 2.0
url: https://recherche-entreprises.api.gouv.fr/search?q=345086177&per_page=1
checked_at: '2026-10-15T16:05:12+00:00'
hash: 3f1c0a9b7e52
check_url: https://api.fuentio.com/v1/public/proofs/FUE-FR-20261015-DZ7TP9
text: 'FUENTIO · Company check receipt
═══…
CAMAIEU INTERNATIONAL · FR · SIREN 345086177
───…
1. Outcome: UNVERIFIED (an open liquidation)
…'
markdown: '**FUENTIO** · Company check receipt
**CAMAIEU INTERNATIONAL** · FR · SIREN 345086177
1. **Outcome:** UNVERIFIED (an open liquidation)
…'
meta:
outcome: unverified
cost:
units: 0
detailed:
summary: A proof code, format=detailed (the extra fields)
value:
data:
kind: verification_receipt
format: detailed
proof_code: FUE-FR-20261015-DZ7TP9
header:
country: FR
id_type: SIREN
id: '345086177'
name: CAMAIEU INTERNATIONAL
outcome:
value: unverified
reasons:
- insolvency_liquidation
in_words:
- an open liquidation
status:
value: active
as_of: '2025-12-06'
label: Active
legal_form:
label: SAS, société par actions simplifiée
code: '5710'
registered_office: 211 AVENUE BRAME 59100 ROUBAIX
insolvency:
value: in_procedure
detail: 'in procedure: liquidation opened on 2021-04-14 (BODACC notices since 2008 searched)'
source:
name: Annuaire des Entreprises (API Recherche d'entreprises)
licence: Licence Ouverte / Etalab 2.0
url: https://recherche-entreprises.api.gouv.fr/search?q=345086177&per_page=1
checked_at: '2026-10-15T16:05:12+00:00'
hash: 3f1c0a9b7e52
check_url: https://api.fuentio.com/v1/public/proofs/FUE-FR-20261015-DZ7TP9
text: 'FUENTIO · Company check receipt
═══…
CAMAIEU INTERNATIONAL · FR · SIREN 345086177
───…
1. Outcome: UNVERIFIED (an open liquidation)
…'
markdown: '**FUENTIO** · Company check receipt
**CAMAIEU INTERNATIONAL** · FR · SIREN 345086177
1. **Outcome:** UNVERIFIED (an open liquidation)
…'
checks:
- check: no_open_insolvency
result: fail
detail: 'BODACC: liquidation opened on 2021-04-14, no closure published since.'
signals:
insolvency:
value: present
evidence:
- date: '2021-04-14'
data_sha256: 3f1c0a9b7e52…
unchanged: true
served_at: '2026-10-15T16:05:12+00:00'
limits: A registry check is not full KYB, UBO proof or sanctions clearance.
meta:
outcome: unverified
cost:
units: 0
'404':
content:
application/json:
example:
meta:
request_id: req_example
error:
code: not_found
message: No receipt 'FUE-FR-20261015-XXXXXX'.
hint: A proof code looks like FUE-FR-20261015-DZ7TP9 (from verify_company); codes are kept 24 months. A lookup's receipt takes its request_id, with the key that made the lookup.
docs_url: https://api.fuentio.com/docs/errors#not_found
description: Not Found
/receipts/{proof_code}:
get:
tags:
- proof
summary: 'A receipt as a page: the Fuentio card, for a person or a printout'
description: 'The receipt of a proof code as an HTML page in the fuentio.com card design: the public view (no key, reference or internal id). `format=detailed` adds every check, the signals, changes, sources and the full hash, re-checked now. Free; same rate limit as the public proof check.'
operationId: get_receipt_page_receipts__proof_code__get
parameters:
- name: proof_code
in: path
required: true
schema:
type: string
maxLength: 60
description: A proof code (FUE-…).
title: Proof Code
description: A proof code (FUE-…).
- name: format
in: query
required: false
schema:
enum:
- normal
- summary
- detailed
type: string
description: '`normal` (default) or `detailed`.'
default: normal
title: Format
description: '`normal` (default) or `detailed`.'
responses:
'200':
description: Successful Response
content:
text/html:
schema:
type: string
/v1/public/proofs/{proof_code}:
get:
tags:
- proof
summary: Check a proof code (public, no key)
description: 'Anyone a proof code was shared with can check it: the outcome, the company (name, ID, country), the checks done, the sources with links, when it was served and the stored `data_sha256`, plus `unchanged` (the stored answer still hashes to that value). Never who ran it: no key, email, reference or internal id. No key needed, free, 30 lookups a minute per address.'
operationId: get_public_proof_v1_public_proofs__proof_code__get
parameters:
- name: proof_code
in: path
required: true
schema:
type: string
maxLength: 40
description: A proof code, e.g. FUE-FR-20261011-K7Q2MX.
title: Proof Code
description: A proof code, e.g. FUE-FR-20261011-K7Q2MX.
- name: format
in: query
required: false
schema:
anyOf:
- enum:
- normal
- summary
- detailed
type: string
- type: 'null'
description: Leave out for today's answer; `normal` (or `summary`) or `detailed` for the Fuentio receipt (brief 009), public view.
title: Format
description: Leave out for today's answer; `normal` (or `summary`) or `detailed` for the Fuentio receipt (brief 009), public view.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Get Public Proof V1 Public Proofs Proof Code Get
'404':
content:
application/json:
example:
meta:
request_id: req_example
error:
code: not_found
message: No proof code 'FUE-FR-20261011-K7Q2MX'.
docs_url: https://api.fuentio.com/docs/errors#not_found
description: Not Found