API REST pública v1
Certifica archivos con NOM-151 desde cualquier lenguaje
Una llamada HTTP basta para sellar un PDF, imagen, audio o video con sello de tiempo NOM-151 (RFC 3161) y anclaje en blockchain pública. Sin SDK, sin firma electrónica de por medio: prueba de existencia e integridad para tus integraciones.
Base URL: https://certificatepz.com
Bearer auth
JSON / multipart
OpenAPI 3
Una llamada
POST con tu archivo y listo. Sin webhooks complejos.
Validez legal
NOM-151 emitida por PSC acreditado en México.
Cualquier stack
cURL, Node, Python, PHP, Go, Ruby, .NET, Java.
OpenAPI 3
Importa en Postman, Insomnia, Scalar.
Ejemplos en 60 segundos
cURL — multipart
curl -X POST https://certificatepz.com/api/public/v1/certificates \
-H "Authorization: Bearer $TEPZ_API_KEY" \
-F "file=@./contrato.pdf" \
-F "title=Contrato 2026" \
-F "document_type=contrato"Node.js (fetch nativo)
import { readFileSync } from "node:fs";
const form = new FormData();
form.set("file", new Blob([readFileSync("contrato.pdf")]), "contrato.pdf");
form.set("title", "Contrato 2026");
const r = await fetch("https://certificatepz.com/api/public/v1/certificates", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.TEPZ_API_KEY}` },
body: form,
});
const { certificate } = await r.json();
console.log(certificate.id, certificate.qr_verification_url);Python (requests)
import os, requests
with open("contrato.pdf", "rb") as f:
r = requests.post(
"https://certificatepz.com/api/public/v1/certificates",
headers={"Authorization": f"Bearer {os.environ['TEPZ_API_KEY']}"},
files={"file": ("contrato.pdf", f, "application/pdf")},
data={"title": "Contrato 2026"},
)
print(r.json()["certificate"]["id"])PHP (cURL)
<?php
$ch = curl_init("https://certificatepz.com/api/public/v1/certificates");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("TEPZ_API_KEY")],
CURLOPT_POSTFIELDS => [
"file" => new CURLFile("contrato.pdf"),
"title" => "Contrato 2026",
],
]);
echo curl_exec($ch);Endpoints principales
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/public/v1/certificates | Sube y certifica un archivo |
| GET | /api/public/v1/certificates | Lista paginada |
| GET | /api/public/v1/certificates/{id} | Detalle de un certificado |
| GET | /api/public/v1/certificates/{id}/proof | Descarga NOM-151 / blockchain |
| GET | /api/public/v1/verify/{hash} | Verifica un SHA-256 |
Documentación completa en /docs/api o spec OpenAPI en /api/public/v1/openapi.
Casos de uso
- • Certificar contratos firmados desde tu ERP o CRM
- • Sellar expedientes de RH al momento de la contratación
- • Probar la integridad de evidencia en sistemas legales
- • Anclar versiones de código, datasets o modelos de IA
- • Conservar facturas, CFDI y soportes contables (NOM-151)
- • Sellar fotografías y video como evidencia periodística
Empieza con 5 certificados gratis
Crea tu cuenta, genera una API key en segundos y prueba la integración. Sin tarjeta.