curl --request GET \
--url https://api.gotrebol.com/verifications/{verification-id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gotrebol.com/verifications/{verification-id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.gotrebol.com/verifications/{verification-id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gotrebol.com/verifications/{verification-id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gotrebol.com/verifications/{verification-id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gotrebol.com/verifications/{verification-id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gotrebol.com/verifications/{verification-id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "c8dc41fc-c477-404e-aff7-b9074f86d6d1",
"account_id": "99999999-9999-9999-9999-999999999999",
"status": "pending",
"created_at": "2025-04-28T20:10:06.840Z",
"updated_at": "2025-04-28T20:10:06.840Z",
"tag": "etiqueta",
"tax_id": "SAG160927GIA",
"business_name": "Trebol OPCO",
"friendly_name": "Empresa ACME S.A. de C.V.",
"flow_id": "documents-v2",
"details_url": "https://app.gotrebol.com/verifications/c8dc41fc-c477-404e-aff7-b9074f86d6d1",
"onboarding_url": "https://onboarding.gotrebol.com/verification/c8dc41fc...",
"items": [
{
"id": 25440,
"item_status": "pending",
"item_type": "csf_mx",
"item_value": {}
}
],
"findings": null
}Obtener una verificación por su ID
Retorna una verificación pública con sus items serializados.
Consulta la guía de estructuras de item_value por tipo en Respuestas por tipo de ítem.
Coordenadas de citas: agrega ?with_citations=true y los items de tipo acta incluirán un campo citations.url con la URL firmada al artifact de coordenadas de ese documento. Ver Coordenadas de citas.
Reporte de consultas públicas externas: cuando la verificación incluye consultas a fuentes externas (SAT, RENAPO, INE, SIGER), la respuesta agrega lookups_report con una URL firmada para descargar el reporte PDF de auditoría. El campo se omite si no hay reporte (verificaciones sin consultas externas, antiguas o de países aún no soportados). Ver Consultas públicas externas.
Síntesis de Dictamen (findings): la respuesta de este endpoint siempre incluye el campo findings con los hallazgos de la Síntesis de Dictamen. El listado GET /verifications no lo incluye.
El bloque completo es null mientras la revisión no se haya ejecutado para la verificación. Cuando existe, trae tres campos:
items: lista de hallazgos, cada uno conseverity(high,mediumolow),messagey, cuando aplica,missing_field. Una lista vacía significa que la revisión corrió y no encontró nada — distinto defindings: null.computed_at: fecha y hora ISO 8601 de la corrida que produjo los hallazgos. Esnullen verificaciones antiguas, anteriores a que se registrara este dato.source:provisionalofinal.
source indica en qué momento Trébol calcula la revisión. provisional: la calcula antes de completarse la verificación, con un modelo más rápido, y una corrida final puede reemplazarla — sus hallazgos pueden cambiar de severidad o desaparecer. final: la calcula al completarse la verificación.
curl --request GET \
--url https://api.gotrebol.com/verifications/{verification-id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gotrebol.com/verifications/{verification-id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.gotrebol.com/verifications/{verification-id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gotrebol.com/verifications/{verification-id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gotrebol.com/verifications/{verification-id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gotrebol.com/verifications/{verification-id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gotrebol.com/verifications/{verification-id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "c8dc41fc-c477-404e-aff7-b9074f86d6d1",
"account_id": "99999999-9999-9999-9999-999999999999",
"status": "pending",
"created_at": "2025-04-28T20:10:06.840Z",
"updated_at": "2025-04-28T20:10:06.840Z",
"tag": "etiqueta",
"tax_id": "SAG160927GIA",
"business_name": "Trebol OPCO",
"friendly_name": "Empresa ACME S.A. de C.V.",
"flow_id": "documents-v2",
"details_url": "https://app.gotrebol.com/verifications/c8dc41fc-c477-404e-aff7-b9074f86d6d1",
"onboarding_url": "https://onboarding.gotrebol.com/verification/c8dc41fc...",
"items": [
{
"id": 25440,
"item_status": "pending",
"item_type": "csf_mx",
"item_value": {}
}
],
"findings": null
}Authorizations
Path Parameters
El ID único de la verificación
Query Parameters
Si es true, cada item de tipo acta en items[] incluye citations.url: una URL firmada al artifact de coordenadas de ese documento. Ver Coordenadas de citas.
Response
Verificación recuperada exitosamente.
Hallazgos de la Síntesis de Dictamen.
Solo lo devuelve GET /verifications/{verification-id}, donde siempre está presente. El listado GET /verifications no incluye este campo: para leer los hallazgos de una verificación, consúltala por su ID.
Es null mientras la revisión no se haya ejecutado para esa verificación. Un items vacío es distinto: significa que la revisión sí corrió y no encontró nada.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Nombre descriptivo asignado por el usuario al crear la verificación. Permite identificar fácilmente la empresa o persona asociada a la verificación.
"Empresa ACME S.A. de C.V."
Show child attributes
Show child attributes
Reporte PDF de auditoría de las consultas públicas externas (SAT, RENAPO, INE, SIGER). Presente solo cuando existe un reporte para la verificación; se omite en caso contrario. Ver Consultas públicas externas.
Show child attributes
Show child attributes
public_verification, verification Was this page helpful?