curl --request GET \
--url https://api.gotrebol.com/v2/verifications/{verification-id}/corporate-history \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gotrebol.com/v2/verifications/{verification-id}/corporate-history"
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/v2/verifications/{verification-id}/corporate-history', 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/v2/verifications/{verification-id}/corporate-history",
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/v2/verifications/{verification-id}/corporate-history"
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/v2/verifications/{verification-id}/corporate-history")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gotrebol.com/v2/verifications/{verification-id}/corporate-history")
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{
"success": true,
"data": {
"schema_version": "1.0",
"verification_id": "018f2c7a-4b91-7d3e-a6f1-2c8d5e9b0a44",
"generated_at": "2026-08-27T15:04:00.000Z",
"coverage": {
"siger": {
"folios_queried": [
"N-2022032489"
],
"queried_at": "2026-04-14T19:47:03.000Z",
"entries_returned": 4,
"folios_returned": 1
},
"background": {
"extracted_from": [
"6869",
"103930",
"4262"
],
"records_unidentified": 0,
"unreadable_extractions": [],
"numbers_corrected": [
{
"cited_in": "6869",
"literal": "mil trescientos veintidós",
"reported": "1326",
"corrected": "1322"
}
]
},
"combined": {
"earliest_timeline_date": "1982-06-10",
"latest_timeline_date": "2024-05-13",
"no_acta_after": "2024-02-29"
}
},
"contribution": {
"total_actas": 5,
"in_siger": 2,
"in_background": 3,
"in_client_file": 2,
"only_in_siger": 1,
"only_in_background": 2,
"only_in_client_file": 1
},
"history": [
{
"acta_number": "4262",
"folios": [
"N-2022032489"
],
"item_id": 1626845,
"alias_numbers": [],
"acta_type": "aa_mx",
"assembly_type": "General",
"formalized_by": {
"type": "notario",
"name": "VILLALOBOS",
"number": "119",
"city": "México"
},
"assembly_date": "2014-12-15",
"instrument_date": "2019-10-16",
"registration_date": "2022-05-09",
"timeline_date": "2019-10-16",
"sources": [
"siger",
"background",
"client_file"
],
"proof_document": {
"item_id": 1626845,
"origin": "client_upload",
"url": "https://files.example/1626845.pdf"
},
"registry_entries": [
{
"folio": "N-2022032489",
"row": 2,
"page": 1,
"nci": "202200110421",
"label": "Cambio de domicilio social",
"form": "M2 - Asamblea",
"mode": "Inscripción vía web inmediata",
"admitted_at": "2022-05-09",
"registered_at": "2022-05-09",
"modifications": [
{
"type": "Acuerdo de disolución de la sociedad.",
"value": true
}
],
"proof_document_url": "https://files.example/4262_1_2_file.pdf"
},
{
"folio": "N-2022032489",
"row": 3,
"page": 1,
"nci": "202200110422",
"label": "Otros acuerdos que conforme a la Ley deban de registrarse",
"form": "M2 - Asamblea",
"mode": "Inscripción vía web inmediata",
"admitted_at": "2022-05-09",
"registered_at": "2022-05-09",
"modifications": [],
"proof_document_url": null
}
],
"cites": [
"18694"
],
"cited_by": [
"103930"
],
"changes": [
{
"event_type": "constitucion_modificacion_domicilio",
"description": "Cambio de domicilio social.",
"sources": [
"siger"
],
"reported_by": {
"registry_entries": [
{
"folio": "N-2022032489",
"row": 2
}
],
"citing_actas": []
}
},
{
"event_type": "aumento_capital",
"description": "Se aprueba un aumento de capital social por 700,000.00.",
"sources": [
"background"
],
"reported_by": {
"registry_entries": [],
"citing_actas": [
"103930"
]
}
}
],
"evidence": [
{
"cited_in": "103930",
"cited_in_date": "2023-12-14",
"page": "4",
"quote": "POR ESCRITURA PÚBLICA NÚMERO CUATRO MIL DOSCIENTOS SESENTA Y DOS..."
}
]
},
{
"acta_number": "18694",
"folios": [],
"item_id": null,
"alias_numbers": [],
"acta_type": null,
"assembly_type": "protocolización",
"formalized_by": {
"type": "notario",
"name": "Emmanuel Villicaña Estrada",
"number": "35",
"city": "Tlalnepantla, Estado de México"
},
"assembly_date": "1996-12-13",
"instrument_date": null,
"registration_date": null,
"timeline_date": "1996-12-13",
"sources": [
"background"
],
"proof_document": null,
"registry_entries": [],
"cites": [],
"cited_by": [
"103930",
"4262"
],
"changes": [
{
"event_type": "fusion",
"description": "Protocolización del convenio de fusión de INDESIN como sociedad fusionante con INTERPROS.",
"sources": [
"background"
],
"reported_by": {
"registry_entries": [],
"citing_actas": [
"103930",
"4262"
]
}
}
],
"evidence": [
{
"cited_in": "103930",
"cited_in_date": "2023-12-14",
"page": "3",
"quote": "POR ESCRITURA PÚBLICA NÚMERO DIECIOCHO MIL SEISCIENTOS NOVENTA Y CUATRO... DE FECHA TRECE DE DICIEMBRE DE MIL NOVECIENTOS NOVENTA Y SEIS..."
},
{
"cited_in": "4262",
"cited_in_date": "2014-12-15",
"page": "3",
"quote": "V.- ACTA DE ASAMBLEA.- POR ESCRITURA PÚBLICA NÚMERO DIECIOCHO MIL SEISCIENTOS NOVENTA Y CUATRO... DE FECHA TRECE DE SEPTIEMBRE DEL AÑO DE MIL NOVECIENTOS NOVENTA Y SIETE..."
}
]
}
],
"document_check": {
"summary": {
"actas_in_history": 5,
"client_uploaded": 2,
"not_uploaded_by_client": 3
}
}
},
"meta": {
"section": "corporate-history",
"verification": {
"id": "018f2c7a-4b91-7d3e-a6f1-2c8d5e9b0a44",
"tag": "indesin",
"status": "finished"
}
}
}{
"success": false,
"message": "Unauthorized",
"code": "UNAUTHORIZED",
"timestamp": "2025-01-01T12:34:56.000Z"
}{
"success": false,
"message": "Entity not found",
"code": "NOT_FOUND",
"timestamp": "2025-01-01T12:34:56.000Z"
}{
"success": false,
"message": "Internal server error",
"code": "INTERNAL_SERVER_ERROR",
"timestamp": "2025-01-01T12:34:56.000Z"
}Obtener historial corporativo conciliado
Retorna el historial de actas de una empresa, conciliado entre las tres fuentes que lo conocen, con una fila por acta y la trazabilidad de qué fuente aportó cada dato.
Ninguna fuente ve la empresa completa, y por eso el historial es el cruce:
siger— el folio mercantil. Es el registro de lo que se inscribió: fechas de inscripción, formas precodificadas y el acto tal como quedó asentado. No ve las actas que nunca se inscribieron, y empieza cuando la empresa se digitalizó.client_file— los documentos que el cliente subió. Prueba que el acta existe y que la tienen, nunca lo que se acordó en ella.background— los antecedentes que el fedatario narra al inicio de cada acta. Es la única fuente que ve actas que nadie subió y que el registro nunca inscribió, que suelen ser la mayoría de la historia de una empresa.
Cada acta declara en sources qué fuentes la conocen. Un acta que solo trae ["background"] existe porque otra acta la cita: llega con cited_by y con evidence, la cita textual que lo sostiene, y nunca se presenta como un hecho sin respaldo.
Se calcula al momento de la consulta, de forma determinística sobre los datos que ya están en la verificación. No hay copia almacenada, así que la respuesta nunca queda obsoleta — y si los datos son parciales, coverage lo dice en vez de que el resultado parezca completo.
Las tres fechas de un acta se distinguen porque se confunden con facilidad: assembly_date es cuándo se reunió la asamblea, instrument_date cuándo un fedatario la protocolizó y registration_date cuándo se inscribió el acta en el Registro público de comercio. timeline_date es la llave de orden, con precedencia declarada: instrumento, luego inscripción, luego asamblea. Cuando dos fuentes dan valores distintos para la misma fecha gana el expediente, luego el folio y al final los antecedentes: el expediente tiene el documento en mano, mientras que el folio y los antecedentes solo reportan una lectura de él. Si una misma fuente reporta el acta dos veces —un instrumento inscrito en dos folios— se toma la más antigua, solo para ordenarla.
Esta versión no reporta discrepancias entre fuentes. El valor elegido se entrega sin decir que otra fuente decía algo distinto. Cuando dos antecedentes fechan la misma acta de forma diferente, las dos citas quedan visibles en evidence, que es donde la diferencia se puede leer directamente.
coverage declara hasta dónde vemos, nunca que el historial esté completo. combined.no_acta_after es la fecha del acta más reciente del expediente: un cambio posterior a esa fecha no sería visible ni aunque hubiera ocurrido.
document_check es un conteo objetivo, sin ranking. Qué documento faltante importa es política de cada cliente, no una conclusión nuestra: el acta entrega sources, changes[].event_type y proof_document, y quien la lee aplica su propio criterio. La lista de faltantes se deriva del historial mismo, filtrando las actas cuyo sources no incluye client_file.
curl --request GET \
--url https://api.gotrebol.com/v2/verifications/{verification-id}/corporate-history \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gotrebol.com/v2/verifications/{verification-id}/corporate-history"
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/v2/verifications/{verification-id}/corporate-history', 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/v2/verifications/{verification-id}/corporate-history",
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/v2/verifications/{verification-id}/corporate-history"
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/v2/verifications/{verification-id}/corporate-history")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gotrebol.com/v2/verifications/{verification-id}/corporate-history")
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{
"success": true,
"data": {
"schema_version": "1.0",
"verification_id": "018f2c7a-4b91-7d3e-a6f1-2c8d5e9b0a44",
"generated_at": "2026-08-27T15:04:00.000Z",
"coverage": {
"siger": {
"folios_queried": [
"N-2022032489"
],
"queried_at": "2026-04-14T19:47:03.000Z",
"entries_returned": 4,
"folios_returned": 1
},
"background": {
"extracted_from": [
"6869",
"103930",
"4262"
],
"records_unidentified": 0,
"unreadable_extractions": [],
"numbers_corrected": [
{
"cited_in": "6869",
"literal": "mil trescientos veintidós",
"reported": "1326",
"corrected": "1322"
}
]
},
"combined": {
"earliest_timeline_date": "1982-06-10",
"latest_timeline_date": "2024-05-13",
"no_acta_after": "2024-02-29"
}
},
"contribution": {
"total_actas": 5,
"in_siger": 2,
"in_background": 3,
"in_client_file": 2,
"only_in_siger": 1,
"only_in_background": 2,
"only_in_client_file": 1
},
"history": [
{
"acta_number": "4262",
"folios": [
"N-2022032489"
],
"item_id": 1626845,
"alias_numbers": [],
"acta_type": "aa_mx",
"assembly_type": "General",
"formalized_by": {
"type": "notario",
"name": "VILLALOBOS",
"number": "119",
"city": "México"
},
"assembly_date": "2014-12-15",
"instrument_date": "2019-10-16",
"registration_date": "2022-05-09",
"timeline_date": "2019-10-16",
"sources": [
"siger",
"background",
"client_file"
],
"proof_document": {
"item_id": 1626845,
"origin": "client_upload",
"url": "https://files.example/1626845.pdf"
},
"registry_entries": [
{
"folio": "N-2022032489",
"row": 2,
"page": 1,
"nci": "202200110421",
"label": "Cambio de domicilio social",
"form": "M2 - Asamblea",
"mode": "Inscripción vía web inmediata",
"admitted_at": "2022-05-09",
"registered_at": "2022-05-09",
"modifications": [
{
"type": "Acuerdo de disolución de la sociedad.",
"value": true
}
],
"proof_document_url": "https://files.example/4262_1_2_file.pdf"
},
{
"folio": "N-2022032489",
"row": 3,
"page": 1,
"nci": "202200110422",
"label": "Otros acuerdos que conforme a la Ley deban de registrarse",
"form": "M2 - Asamblea",
"mode": "Inscripción vía web inmediata",
"admitted_at": "2022-05-09",
"registered_at": "2022-05-09",
"modifications": [],
"proof_document_url": null
}
],
"cites": [
"18694"
],
"cited_by": [
"103930"
],
"changes": [
{
"event_type": "constitucion_modificacion_domicilio",
"description": "Cambio de domicilio social.",
"sources": [
"siger"
],
"reported_by": {
"registry_entries": [
{
"folio": "N-2022032489",
"row": 2
}
],
"citing_actas": []
}
},
{
"event_type": "aumento_capital",
"description": "Se aprueba un aumento de capital social por 700,000.00.",
"sources": [
"background"
],
"reported_by": {
"registry_entries": [],
"citing_actas": [
"103930"
]
}
}
],
"evidence": [
{
"cited_in": "103930",
"cited_in_date": "2023-12-14",
"page": "4",
"quote": "POR ESCRITURA PÚBLICA NÚMERO CUATRO MIL DOSCIENTOS SESENTA Y DOS..."
}
]
},
{
"acta_number": "18694",
"folios": [],
"item_id": null,
"alias_numbers": [],
"acta_type": null,
"assembly_type": "protocolización",
"formalized_by": {
"type": "notario",
"name": "Emmanuel Villicaña Estrada",
"number": "35",
"city": "Tlalnepantla, Estado de México"
},
"assembly_date": "1996-12-13",
"instrument_date": null,
"registration_date": null,
"timeline_date": "1996-12-13",
"sources": [
"background"
],
"proof_document": null,
"registry_entries": [],
"cites": [],
"cited_by": [
"103930",
"4262"
],
"changes": [
{
"event_type": "fusion",
"description": "Protocolización del convenio de fusión de INDESIN como sociedad fusionante con INTERPROS.",
"sources": [
"background"
],
"reported_by": {
"registry_entries": [],
"citing_actas": [
"103930",
"4262"
]
}
}
],
"evidence": [
{
"cited_in": "103930",
"cited_in_date": "2023-12-14",
"page": "3",
"quote": "POR ESCRITURA PÚBLICA NÚMERO DIECIOCHO MIL SEISCIENTOS NOVENTA Y CUATRO... DE FECHA TRECE DE DICIEMBRE DE MIL NOVECIENTOS NOVENTA Y SEIS..."
},
{
"cited_in": "4262",
"cited_in_date": "2014-12-15",
"page": "3",
"quote": "V.- ACTA DE ASAMBLEA.- POR ESCRITURA PÚBLICA NÚMERO DIECIOCHO MIL SEISCIENTOS NOVENTA Y CUATRO... DE FECHA TRECE DE SEPTIEMBRE DEL AÑO DE MIL NOVECIENTOS NOVENTA Y SIETE..."
}
]
}
],
"document_check": {
"summary": {
"actas_in_history": 5,
"client_uploaded": 2,
"not_uploaded_by_client": 3
}
}
},
"meta": {
"section": "corporate-history",
"verification": {
"id": "018f2c7a-4b91-7d3e-a6f1-2c8d5e9b0a44",
"tag": "indesin",
"status": "finished"
}
}
}{
"success": false,
"message": "Unauthorized",
"code": "UNAUTHORIZED",
"timestamp": "2025-01-01T12:34:56.000Z"
}{
"success": false,
"message": "Entity not found",
"code": "NOT_FOUND",
"timestamp": "2025-01-01T12:34:56.000Z"
}{
"success": false,
"message": "Internal server error",
"code": "INTERNAL_SERVER_ERROR",
"timestamp": "2025-01-01T12:34:56.000Z"
}Was this page helpful?