# Latinfo operation contracts Generated from the same OpenAPI served by the API. Source lookup/search contracts derive from the EasyPipe serving registry; composed operations retain their own contracts. Read https://latinfo.dev/llms.txt for operating rules and limitations. Company lookups cover legal entities. Reference codebooks and non-person sanctions subjects have their own scope in source contracts. DNI and natural-person lookup are not supported. Read https://latinfo.dev/contracts/index.json for source contracts, field meanings, units, value domains, coverage and reuse conditions. Use /catalog for discovery and /sources for live availability and import status. Static documentation is not proof that a dataset is currently available. For MCP, discover the live tools with tools/list; REST operation IDs are not MCP tool names. Do not invent paths, schemas, evidence or coverage. Examples are illustrative, not live observations or compliance verdicts. Source-specific fields retain original terminology and units. If a field's meaning or unit is not documented, report that limitation rather than infer it. Freshness may be in REST headers rather than the body. Import time is not the government observation date. No record does not mean clearance. ## Universal LATAM company profile GET /v1/companies/{country}/{taxId} Start here for a company in Argentina, Bolivia, Brazil, Chile, Colombia, Ecuador, Paraguay or Peru. Choose the country and enter its local company tax ID (CUIT, CNPJ, RUT, NIT or RUC); Latinfo returns the same English, evidence-backed contract. Legacy country-specific routes remain unchanged. Contract: ```json { "summary": "Universal LATAM company profile", "description": "Start here for a company in Argentina, Bolivia, Brazil, Chile, Colombia, Ecuador, Paraguay or Peru. Choose the country and enter its local company tax ID (CUIT, CNPJ, RUT, NIT or RUC); Latinfo returns the same English, evidence-backed contract. Legacy country-specific routes remain unchanged.", "operationId": "getUniversalCompany", "tags": [ "Universal company API" ], "parameters": [ { "name": "country", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "AR", "BO", "BR", "CL", "CO", "EC", "PE", "PY" ] }, "description": "ISO 3166-1 alpha-2 country code: AR, BO, BR, CL, CO, EC, PE or PY.", "example": "CL" }, { "name": "taxId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "The company number used by the local government: CUIT in Argentina, NIT in Bolivia and Colombia, CNPJ in Brazil, RUT in Chile, or RUC in Ecuador, Paraguay and Peru. Punctuation is accepted.", "example": "89.862.200-2" } ], "responses": { "200": { "description": "Verified universal company profile", "headers": { "X-Data-As-Of": { "description": "Legacy import-time alias. Prefer the explicit freshness fields in sources[].", "schema": { "type": "string", "format": "date" } }, "X-Latinfo-Imported-At": { "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "schema": { "type": "string", "format": "date" } }, "X-Expected-Update-Frequency": { "schema": { "type": "string", "enum": [ "DAILY", "WEEKLY", "MONTHLY", "YEARLY", "MANUAL", "UNKNOWN" ] } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Verify-Live": { "schema": { "type": "string", "format": "uri" } }, "X-Credits-Cost": { "schema": { "type": "integer", "example": 1 } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UniversalCompanyProfileV1" } } } }, "400": { "description": "Invalid country-scoped tax identifier" }, "401": { "description": "Missing or invalid API key" }, "404": { "description": "Company not found" }, "429": { "description": "Rate limit exceeded" }, "501": { "description": "Country not yet promoted to the universal contract" }, "503": { "description": "Current semantic readiness receipt is unavailable or stale" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Lookup by RUC GET /pe/ruc/{ruc} Returns company data for a given RUC (11-digit tax ID). Response time ~80ms. Contract: ```json { "summary": "Lookup by RUC", "description": "Returns company data for a given RUC (11-digit tax ID). Response time ~80ms.", "operationId": "lookupRuc", "tags": [ "Peru" ], "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC number (11 digits)", "example": "20100047218" } ], "responses": { "200": { "description": "Company found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Company" }, "example": { "ruc": "20100047218", "razon_social": "BANCO DE CREDITO DEL PERU", "estado": "ACTIVO", "condicion": "HABIDO", "ubigeo": "150114", "tipo_via": "JR.", "nombre_via": "CENTENARIO", "numero": "156" } } } }, "400": { "description": "Invalid RUC format" }, "401": { "description": "Missing or invalid API key" }, "404": { "description": "RUC not found" }, "429": { "description": "Rate limit exceeded" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Search government procurement GET /pe/oece/tenders Search Peru government procurement data (OECE/SEACE). Returns OCDS 1.1 compiledRelease records. 888K+ records from Feb 2013 to present, updated daily. At least one filter parameter is required. Contract: ```json { "summary": "Search government procurement", "description": "Search Peru government procurement data (OECE/SEACE). Returns OCDS 1.1 compiledRelease records. 888K+ records from Feb 2013 to present, updated daily. At least one filter parameter is required.", "operationId": "searchLicitaciones", "tags": [ "Peru — Licitaciones" ], "parameters": [ { "name": "q", "in": "query", "schema": { "type": "string" }, "description": "Text search on title, description, and buyer name", "example": "construccion hospital" }, { "name": "category", "in": "query", "schema": { "type": "string", "enum": [ "goods", "services", "works" ] }, "description": "Procurement category" }, { "name": "min_amount", "in": "query", "schema": { "type": "number" }, "description": "Minimum amount in PEN", "example": 100000 }, { "name": "max_amount", "in": "query", "schema": { "type": "number" }, "description": "Maximum amount in PEN", "example": 5000000 }, { "name": "buyer", "in": "query", "schema": { "type": "string" }, "description": "Buyer name (substring match)", "example": "municipalidad" }, { "name": "method", "in": "query", "schema": { "type": "string" }, "description": "Procurement method (substring match)", "example": "Licitación Pública" }, { "name": "status", "in": "query", "schema": { "type": "string", "enum": [ "CONVOCADO", "CONTRATADO", "DESIERTO", "NULO", "CONSENTIDO" ] }, "description": "Tender status" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "default": 20, "maximum": 100 }, "description": "Max results to return" } ], "responses": { "200": { "description": "Array of OCDS 1.1 compiledRelease records", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Licitacion" }, "maxItems": 100 } } } }, "400": { "description": "No filter parameters provided" }, "401": { "description": "Missing or invalid API key" }, "429": { "description": "Rate limit exceeded" } }, "security": [ { "bearerAuth": [] } ] } ``` ## List government contracts by supplier RUC GET /pe/oece/tenders/ruc/{ruc} Returns OECE/SEACE procurement records where the given Peruvian legal-entity RUC appears as supplier. Use this for a company procurement history. Contract: ```json { "summary": "List government contracts by supplier RUC", "description": "Returns OECE/SEACE procurement records where the given Peruvian legal-entity RUC appears as supplier. Use this for a company procurement history.", "operationId": "getTendersByRuc", "tags": [ "Peru — Licitaciones" ], "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^20\\d{9}$" }, "description": "Peruvian legal-entity RUC (11 digits, starts with 20)", "example": "20100047218" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "default": 20, "minimum": 1, "maximum": 100 }, "description": "Max results to return" }, { "name": "offset", "in": "query", "schema": { "type": "integer", "default": 0, "minimum": 0 }, "description": "Pagination offset" } ], "responses": { "200": { "description": "Procurement history for the RUC", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TendersByRucResponse" } } } }, "400": { "description": "Invalid RUC format" }, "401": { "description": "Missing or invalid API key" }, "429": { "description": "Rate limit exceeded" }, "503": { "description": "Procurement index unavailable" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Recommended active tenders for a supplier RUC GET /pe/oece/tenders/recomendadas/{ruc} Returns active public procurement opportunities matched to the supplier profile inferred from its RUC and historical procurement activity. Contract: ```json { "summary": "Recommended active tenders for a supplier RUC", "description": "Returns active public procurement opportunities matched to the supplier profile inferred from its RUC and historical procurement activity.", "operationId": "getRecommendedTendersByRuc", "tags": [ "Peru — Licitaciones" ], "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^20\\d{9}$" }, "description": "Peruvian legal-entity RUC (11 digits, starts with 20)", "example": "20100047218" } ], "responses": { "200": { "description": "Recommended active tenders", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenderRecommendationsResponse" } } } }, "400": { "description": "Invalid RUC format" }, "401": { "description": "Missing or invalid API key" }, "429": { "description": "Rate limit exceeded" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Get a procurement record by OCID GET /pe/oece/tenders/ocid/{ocid} Returns a single OECE/SEACE OCDS compiledRelease record by Open Contracting ID. Contract: ```json { "x-latinfo-custom-route": true, "summary": "Get a procurement record by OCID", "description": "Returns a single OECE/SEACE OCDS compiledRelease record by Open Contracting ID.", "operationId": "getTenderByOcid", "tags": [ "Peru — Licitaciones" ], "parameters": [ { "name": "ocid", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Open Contracting ID", "example": "ocds-dgv273-seacev3-2026-273-3" } ], "responses": { "200": { "description": "OCDS 1.1 compiledRelease record", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Licitacion" } } } }, "400": { "description": "Invalid OCID" }, "401": { "description": "Missing or invalid API key" }, "404": { "description": "OCID not found" }, "429": { "description": "Rate limit exceeded" }, "503": { "description": "Procurement index unavailable" } }, "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-oece-tenders", "institution": "oece", "dataset": "tenders", "schedule": "daily", "scope": "Published OCDS procurement processes in the imported official snapshot.", "contract": "https://latinfo.dev/contracts/pe-oece-tenders.json", "fingerprint": "50a126c9c5c86f62f0112e377018e90c30496e4f7737f8a38c58518b76f4d2d7", "limitations": [ "Natural-person parties are removed by the API; document files remain external publisher links.", "Use the OCDS OpenAPI response schema. Process/budget amounts are not automatically supplier contract values.", "amount in the search index has no independently declared currency. The full OCDS amount/currency objects are authoritative." ] } } ``` ## Procurement data stats GET /pe/oece/tenders/info Returns total record count and data metadata. Contract: ```json { "summary": "Procurement data stats", "description": "Returns total record count and data metadata.", "operationId": "licitacionesInfo", "tags": [ "Peru — Licitaciones" ], "responses": { "200": { "description": "Data stats", "content": { "application/json": { "schema": { "type": "object", "properties": { "records": { "type": "integer", "description": "Total number of procurement records", "example": 888569 } } } } } }, "401": { "description": "Missing or invalid API key" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Deprecated alias for procurement search GET /pe/licitaciones Deprecated compatibility route. Use `/pe/oece/tenders`. Contract: ```json { "summary": "Deprecated alias for procurement search", "description": "Deprecated compatibility route. Use `/pe/oece/tenders`.", "operationId": "searchLicitacionesLegacy", "tags": [ "Peru — Licitaciones" ], "deprecated": true, "responses": { "301": { "description": "Redirects to /pe/oece/tenders" } } } ``` ## Search by company name GET /pe/search Full-text search on company names using TF-IDF scoring with phrase proximity detection. Handles LATAM abbreviations (S.A.C., E.I.R.L., S.R.L.). Returns up to 20 ranked results. Contract: ```json { "summary": "Search by company name", "description": "Full-text search on company names using TF-IDF scoring with phrase proximity detection. Handles LATAM abbreviations (S.A.C., E.I.R.L., S.R.L.). Returns up to 20 ranked results.", "operationId": "searchCompany", "tags": [ "Peru" ], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "type": "string", "minLength": 3 }, "description": "Search query (minimum 3 characters)", "example": "banco de credito" } ], "responses": { "200": { "description": "Search results (may be empty)", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Company" }, "maxItems": 20 } } } }, "400": { "description": "Query too short or only stop words" }, "401": { "description": "Missing or invalid API key" }, "429": { "description": "Rate limit exceeded" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Lookup by RUT (Chile) GET /cl/sii/padron/rut/{rut} A taxpayer registration with activity-start and termination dates. Coverage: Legal entities in the SII published-name list. Lookup by rut as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. ACTIVA is derived from absence of a termination date; it is not a credit or solvency assessment. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Chile" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "cl-sii-padron", "institution": "sii", "dataset": "padron", "schedule": "monthly", "scope": "Legal entities in the SII published-name list.", "contract": "https://latinfo.dev/contracts/cl-sii-padron.json", "fingerprint": "e308450a989e403db2c8d0f799585426a0a9d68ef75bc3e81553bb7284675dbd", "limitations": [ "ACTIVA is derived from absence of a termination date; it is not a credit or solvency assessment." ] }, "operationId": "lookupRutCl", "summary": "Lookup by RUT (Chile)", "description": "A taxpayer registration with activity-start and termination dates. Coverage: Legal entities in the SII published-name list. Lookup by rut as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. ACTIVA is derived from absence of a termination date; it is not a credit or solvency assessment. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "rut", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{7,8}[0-9K]$" }, "description": "RUT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "500093501" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "rut": { "type": "string", "description": "Lookup by rut as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "cod_subtipo": { "type": "string", "description": "SII legal-entity subtype code.", "x-latinfo-meaning": "code" }, "fecha_inicio_actividades": { "type": "string", "description": "Published fecha inicio actividades date. Format: DD-MM-YYYY.", "x-latinfo-meaning": "date" }, "fecha_termino_giro": { "type": "string", "description": "Published fecha termino giro date. Format: DD-MM-YYYY.", "x-latinfo-meaning": "date" }, "estado": { "type": "string", "description": "Derived ACTIVA when no termination date is supplied, otherwise TERMINADA.", "x-latinfo-meaning": "text" } }, "required": [ "rut", "razon_social", "cod_subtipo", "fecha_inicio_actividades", "fecha_termino_giro", "estado" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup by RUC (Paraguay) GET /py/dnit/registry/ruc/{ruc} A corporate RUC registration with verifier and legacy equivalence. Coverage: Series-80 corporate taxpayer registrations accepted by the importer. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Registration status is not evidence of tax clearance or beneficial ownership. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Paraguay" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "py-dnit-registry", "institution": "dnit", "dataset": "registry", "schedule": "monthly", "scope": "Series-80 corporate taxpayer registrations accepted by the importer.", "contract": "https://latinfo.dev/contracts/py-dnit-registry.json", "fingerprint": "8db912cef3d60b47fd9406077de5b30f48f75b1a80e1e8983cee399ca73ddee4", "limitations": [ "Registration status is not evidence of tax clearance or beneficial ownership." ] }, "operationId": "lookupRucPy", "summary": "Lookup by RUC (Paraguay)", "description": "A corporate RUC registration with verifier and legacy equivalence. Coverage: Series-80 corporate taxpayer registrations accepted by the importer. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Registration status is not evidence of tax clearance or beneficial ownership. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^80\\d{7}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "800097351" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text", "enum": [ "ACTIVO", "BLOQUEADO", "CANCELADO", "SUSPENSION TEMPORAL" ], "x-latinfo-vocabulary": { "id": "py.dnit.tax_status.v1", "scope": "TAX_REGISTRATION", "empty_policy": "reject", "values": { "ACTIVO": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "DNIT reports the taxpayer registration as active." }, "BLOQUEADO": { "code": "SUSPENDED", "label_en": "Blocked", "explanation_en": "DNIT reports the taxpayer registration as blocked." }, "CANCELADO": { "code": "CANCELLED", "label_en": "Cancelled", "explanation_en": "DNIT reports the taxpayer registration as cancelled." }, "SUSPENSION TEMPORAL": { "code": "SUSPENDED", "label_en": "Temporarily suspended", "explanation_en": "DNIT reports the taxpayer registration as temporarily suspended." } } } }, "check_digit": { "type": "string", "description": "Publisher identifier check digit.", "x-latinfo-meaning": "code" }, "previous_ruc": { "type": "string", "description": "Legacy RUC equivalence, when supplied.", "x-latinfo-meaning": "identifier" } }, "required": [ "ruc", "legal_name", "status", "check_digit", "previous_ruc" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup by NIT (Bolivia) GET /bo/seprec/registry/nit/{nit} A registered commercial company after deterministic NIT deduplication. Coverage: Commercial companies in the legal-form allowlist; sole proprietors are excluded. Lookup by nit as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Published registration status does not establish tax compliance or beneficial ownership. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Bolivia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "bo-seprec-registry", "institution": "seprec", "dataset": "registry", "schedule": "daily", "scope": "Commercial companies in the legal-form allowlist; sole proprietors are excluded.", "contract": "https://latinfo.dev/contracts/bo-seprec-registry.json", "fingerprint": "d1cca41a8fee274943be349f325e4e65b6d99929308d399923408ada22c49266", "limitations": [ "Published registration status does not establish tax compliance or beneficial ownership." ] }, "operationId": "lookupNitBo", "summary": "Lookup by NIT (Bolivia)", "description": "A registered commercial company after deterministic NIT deduplication. Coverage: Commercial companies in the legal-form allowlist; sole proprietors are excluded. Lookup by nit as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Published registration status does not establish tax compliance or beneficial ownership. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "nit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{12}$" }, "description": "NIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "1028349027" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "nit": { "type": "string", "description": "Lookup by nit as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text", "enum": [ "ACTIVO", "CANCELADO", "CREADO", "INACTIVO" ], "x-latinfo-vocabulary": { "id": "bo.seprec.registration_status.v1", "scope": "COMMERCIAL_REGISTRATION", "empty_policy": "reject", "values": { "ACTIVO": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "SEPREC reports the commercial registration as active." }, "CANCELADO": { "code": "CANCELLED", "label_en": "Cancelled", "explanation_en": "SEPREC reports the commercial registration as cancelled." }, "CREADO": { "code": "PENDING", "label_en": "Created", "explanation_en": "SEPREC reports the commercial registration as created." }, "INACTIVO": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "SEPREC reports the commercial registration as inactive." } } } }, "renewal_status": { "type": "string", "description": "Commercial registration renewal status: MATRICULA RENOVADA or MATRICULA NO RENOVADA.", "x-latinfo-meaning": "text", "enum": [ "MATRICULA RENOVADA", "MATRICULA NO RENOVADA" ], "x-latinfo-vocabulary": { "id": "bo.seprec.renewal_status.v1", "scope": "COMMERCIAL_REGISTRATION", "empty_policy": "reject", "values": { "MATRICULA RENOVADA": { "code": "ACTIVE", "label_en": "Registration renewed", "explanation_en": "SEPREC reports that the commercial registration has been renewed." }, "MATRICULA NO RENOVADA": { "code": "INACTIVE", "label_en": "Registration not renewed", "explanation_en": "SEPREC reports that the commercial registration has not been renewed." } } } }, "legal_type": { "type": "string", "description": "Registered legal form from the importer allowlist.", "x-latinfo-meaning": "text" }, "legal_type_code": { "type": "string", "description": "Publisher legal-form code.", "x-latinfo-meaning": "code" }, "previous_registration": { "type": "string", "description": "Previous commercial registration when published.", "x-latinfo-meaning": "identifier" }, "seprec_entity_id": { "type": "string", "description": "SEPREC surrogate entity identifier; used for deterministic deduplication.", "x-latinfo-meaning": "identifier" }, "original_nit": { "type": "string", "description": "NIT as published before padding for storage.", "x-latinfo-meaning": "identifier" } }, "required": [ "nit", "legal_name", "status", "renewal_status", "legal_type", "legal_type_code", "previous_registration", "seprec_entity_id", "original_nit" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup by Company number (United Kingdom) GET /gb/companies-house/register/company-number/{companyNumber} Returns basic company identity, status, type, incorporation date and SIC fields from the Companies House monthly all-live-companies snapshot. LP/NL partnerships without separate legal personality are excluded. Contract: ```json { "summary": "Lookup by Company number (United Kingdom)", "description": "Returns basic company identity, status, type, incorporation date and SIC fields from the Companies House monthly all-live-companies snapshot. LP/NL partnerships without separate legal personality are excluded.", "operationId": "lookupCompanyNumberGb", "tags": [ "United Kingdom" ], "parameters": [ { "name": "companyNumber", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^[A-Z0-9]{8}$" }, "description": "Eight-character Companies House Company number", "example": "00445790" } ], "responses": { "200": { "description": "Legal entity found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BritishCompany" } } } }, "400": { "description": "Invalid Company number format" }, "401": { "description": "Missing or invalid API key" }, "404": { "description": "Company number not found or outside legal-entity scope" } }, "security": [ { "bearerAuth": [] } ] } ``` ## Search United Kingdom companies GET /gb/companies-house/register/search Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "United Kingdom" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "gb-companies-house-register", "institution": "companies-house", "dataset": "register", "schedule": "monthly", "scope": "Corporate bodies in the Companies House basic-data product.", "contract": "https://latinfo.dev/contracts/gb-companies-house-register.json", "fingerprint": "96db7d02a93828b364971e549f9c8187ce3deee1c40671a63918c5fa7fcc220c", "limitations": [ "This dataset does not supply officers, shareholders or beneficial owners." ] }, "operationId": "searchCompaniesHouseGb", "summary": "Search United Kingdom companies", "description": "Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup by NIT (Colombia) GET /co/rues/registry/nit/{nit} A company registration; the legal-representative name is not ownership evidence. Coverage: Corporate commercial registrations in the published RUES snapshot. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Named representatives are published registration attributes; do not infer shareholder or beneficial-owner identities. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-rues", "institution": "rues", "dataset": "registry", "schedule": "monthly", "scope": "Corporate commercial registrations in the published RUES snapshot.", "contract": "https://latinfo.dev/contracts/co-rues.json", "fingerprint": "8cd020bbe0a1a9d1fd91c980beee2afc29446f43e7e8bb39e0b37304c8088acb", "limitations": [ "Named representatives are published registration attributes; do not infer shareholder or beneficial-owner identities." ] }, "operationId": "lookupNit", "summary": "Lookup by NIT (Colombia)", "description": "A company registration; the legal-representative name is not ownership evidence. Coverage: Corporate commercial registrations in the published RUES snapshot. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Named representatives are published registration attributes; do not infer shareholder or beneficial-owner identities. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "nit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{10}$" }, "description": "NIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "0890903938" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "nit": { "type": "string", "description": "Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string." }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "estado_matricula": { "type": "string", "description": "Commercial registration status, including ACTIVA, CANCELADA, SUSPENDIDA, DISOLUCION and LIQUIDACION.", "x-latinfo-meaning": "text", "enum": [ "ACTIVA", "CANCELADA", "MATRÍCULA CANCELADA POR TRASLADO DE DOMICILIO", "MATRÍCULA NUEVA, CONSTITUCIÓN POR TRASLADO", "SIN ESTADO", "NO ASIGNADO", "MATRÍCULA CANCELADA LEY 1429", "NO COMPETENCIA DE LA CAMARA", "MATRÍCULA CANCELADA POR FUSIÓN", "NO MATRICULADO", "MATRÍCULA CANCELADA POR RECONSTITUCIÓN.", "INACTIVA", "MATRICULA INACTIVA POR PERDIDA DE CALIDAD DE COMERCIANTE" ], "x-latinfo-vocabulary": { "id": "co.rues.registration_status.v1", "scope": "COMMERCIAL_REGISTRATION", "empty_policy": "map_to_unknown", "values": { "ACTIVA": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "The chamber of commerce reports this commercial registration as active." }, "CANCELADA": { "code": "CANCELLED", "label_en": "Cancelled", "explanation_en": "The chamber of commerce reports this commercial registration as cancelled." }, "MATRÍCULA CANCELADA POR TRASLADO DE DOMICILIO": { "code": "CANCELLED", "label_en": "Cancelled after registered-office transfer", "explanation_en": "This chamber registration was cancelled because the entity transferred its registered office to another jurisdiction." }, "MATRÍCULA NUEVA, CONSTITUCIÓN POR TRASLADO": { "code": "ACTIVE", "label_en": "New registration after registered-office transfer", "explanation_en": "This registration was created in the receiving jurisdiction after a transfer of the entity's registered office." }, "SIN ESTADO": { "code": "UNKNOWN", "label_en": "No status reported", "explanation_en": "RUES publishes the registration without a classified status." }, "NO ASIGNADO": { "code": "UNKNOWN", "label_en": "Not assigned", "explanation_en": "RUES publishes no assigned registration status." }, "MATRÍCULA CANCELADA LEY 1429": { "code": "CANCELLED", "label_en": "Cancelled under Law 1429", "explanation_en": "The commercial registration was cancelled under the procedure identified by RUES as Law 1429." }, "NO COMPETENCIA DE LA CAMARA": { "code": "UNKNOWN", "label_en": "Outside this chamber's jurisdiction", "explanation_en": "The reporting chamber indicates that this registration is outside its jurisdiction." }, "MATRÍCULA CANCELADA POR FUSIÓN": { "code": "CANCELLED", "label_en": "Cancelled after merger", "explanation_en": "The commercial registration was cancelled as a result of a merger." }, "NO MATRICULADO": { "code": "UNKNOWN", "label_en": "Not registered", "explanation_en": "RUES reports that this record is not commercially registered." }, "MATRÍCULA CANCELADA POR RECONSTITUCIÓN.": { "code": "CANCELLED", "label_en": "Cancelled after reconstitution", "explanation_en": "The commercial registration was cancelled in connection with a reconstitution event." }, "INACTIVA": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "The chamber of commerce reports this commercial registration as inactive." }, "MATRICULA INACTIVA POR PERDIDA DE CALIDAD DE COMERCIANTE": { "code": "INACTIVE", "label_en": "Inactive after loss of merchant status", "explanation_en": "The chamber of commerce reports this registration as inactive because the registrant lost merchant status." } } } }, "organizacion_juridica": { "type": "string", "description": "Registered legal form.", "x-latinfo-meaning": "text" }, "cod_ciiu_act_econ_pri": { "type": "string", "description": "Principal CIIU economic-activity code.", "x-latinfo-meaning": "code" }, "fecha_matricula": { "type": "string", "description": "Published fecha matricula date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "camara_comercio": { "type": "string", "description": "Published chamber of commerce name.", "x-latinfo-meaning": "text" }, "representante_legal": { "type": "string", "description": "Published legal-representative name; this is not shareholder or beneficial-owner evidence.", "x-latinfo-meaning": "text" }, "sigla": { "type": "string", "description": "Registered abbreviation.", "x-latinfo-meaning": "text" }, "tipo_sociedad": { "type": "string", "description": "Published company subtype.", "x-latinfo-meaning": "text" }, "fecha_renovacion": { "type": "string", "description": "Published fecha renovacion date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "cod_ciiu_act_econ_sec": { "type": "string", "description": "Secondary CIIU economic-activity code.", "x-latinfo-meaning": "code" }, "ultimo_ano_renovado": { "type": "string", "description": "Last renewed registration year.", "x-latinfo-meaning": "text" }, "fecha_cancelacion": { "type": "string", "description": "Published fecha cancelacion date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "fecha_actualizacion": { "type": "string", "description": "Publisher record-update timestamp, retained with its fractional precision. Format: YYYY/MM/DD HH:mm:ss[.fraction].", "x-latinfo-meaning": "datetime" }, "codigo_camara": { "type": "string", "description": "Published chamber of commerce code.", "x-latinfo-meaning": "code" }, "matricula": { "type": "string", "description": "Local commercial registration number.", "x-latinfo-meaning": "identifier" }, "codigo_tipo_sociedad": { "type": "string", "description": "Local company-type code.", "x-latinfo-meaning": "code" }, "codigo_categoria_matricula": { "type": "string", "description": "Local registration-category code.", "x-latinfo-meaning": "code" }, "categoria_matricula": { "type": "string", "description": "Local registration-category description.", "x-latinfo-meaning": "text" }, "digito_verificacion": { "type": "string", "description": "Published NIT check digit, separate from the lookup body.", "x-latinfo-meaning": "code" }, "identificador_origen": { "type": "string", "description": "Upstream column used to resolve the NIT.", "x-latinfo-meaning": "identifier", "enum": [ "nit", "numero_identificacion" ] }, "clase_identificacion": { "type": "string", "description": "Published identification class.", "x-latinfo-meaning": "text" } }, "required": [ "nit", "razon_social", "estado_matricula", "organizacion_juridica", "cod_ciiu_act_econ_pri", "fecha_matricula", "camara_comercio", "representante_legal", "sigla", "tipo_sociedad", "fecha_renovacion", "cod_ciiu_act_econ_sec", "ultimo_ano_renovado", "fecha_cancelacion", "fecha_actualizacion", "codigo_camara", "matricula", "codigo_tipo_sociedad", "codigo_categoria_matricula", "categoria_matricula", "digito_verificacion", "identificador_origen", "clase_identificacion" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search Colombian businesses GET /co/rues/registry/search Search the published razon_social index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-rues", "institution": "rues", "dataset": "registry", "schedule": "monthly", "scope": "Corporate commercial registrations in the published RUES snapshot.", "contract": "https://latinfo.dev/contracts/co-rues.json", "fingerprint": "8cd020bbe0a1a9d1fd91c980beee2afc29446f43e7e8bb39e0b37304c8088acb", "limitations": [ "Named representatives are published registration attributes; do not infer shareholder or beneficial-owner identities." ] }, "operationId": "searchColombia", "summary": "Search Colombian businesses", "description": "Search the published razon_social index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "estado_matricula": { "type": "string", "description": "Commercial registration status, including ACTIVA, CANCELADA, SUSPENDIDA, DISOLUCION and LIQUIDACION.", "x-latinfo-meaning": "text", "enum": [ "ACTIVA", "CANCELADA", "MATRÍCULA CANCELADA POR TRASLADO DE DOMICILIO", "MATRÍCULA NUEVA, CONSTITUCIÓN POR TRASLADO", "SIN ESTADO", "NO ASIGNADO", "MATRÍCULA CANCELADA LEY 1429", "NO COMPETENCIA DE LA CAMARA", "MATRÍCULA CANCELADA POR FUSIÓN", "NO MATRICULADO", "MATRÍCULA CANCELADA POR RECONSTITUCIÓN.", "INACTIVA", "MATRICULA INACTIVA POR PERDIDA DE CALIDAD DE COMERCIANTE" ], "x-latinfo-vocabulary": { "id": "co.rues.registration_status.v1", "scope": "COMMERCIAL_REGISTRATION", "empty_policy": "map_to_unknown", "values": { "ACTIVA": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "The chamber of commerce reports this commercial registration as active." }, "CANCELADA": { "code": "CANCELLED", "label_en": "Cancelled", "explanation_en": "The chamber of commerce reports this commercial registration as cancelled." }, "MATRÍCULA CANCELADA POR TRASLADO DE DOMICILIO": { "code": "CANCELLED", "label_en": "Cancelled after registered-office transfer", "explanation_en": "This chamber registration was cancelled because the entity transferred its registered office to another jurisdiction." }, "MATRÍCULA NUEVA, CONSTITUCIÓN POR TRASLADO": { "code": "ACTIVE", "label_en": "New registration after registered-office transfer", "explanation_en": "This registration was created in the receiving jurisdiction after a transfer of the entity's registered office." }, "SIN ESTADO": { "code": "UNKNOWN", "label_en": "No status reported", "explanation_en": "RUES publishes the registration without a classified status." }, "NO ASIGNADO": { "code": "UNKNOWN", "label_en": "Not assigned", "explanation_en": "RUES publishes no assigned registration status." }, "MATRÍCULA CANCELADA LEY 1429": { "code": "CANCELLED", "label_en": "Cancelled under Law 1429", "explanation_en": "The commercial registration was cancelled under the procedure identified by RUES as Law 1429." }, "NO COMPETENCIA DE LA CAMARA": { "code": "UNKNOWN", "label_en": "Outside this chamber's jurisdiction", "explanation_en": "The reporting chamber indicates that this registration is outside its jurisdiction." }, "MATRÍCULA CANCELADA POR FUSIÓN": { "code": "CANCELLED", "label_en": "Cancelled after merger", "explanation_en": "The commercial registration was cancelled as a result of a merger." }, "NO MATRICULADO": { "code": "UNKNOWN", "label_en": "Not registered", "explanation_en": "RUES reports that this record is not commercially registered." }, "MATRÍCULA CANCELADA POR RECONSTITUCIÓN.": { "code": "CANCELLED", "label_en": "Cancelled after reconstitution", "explanation_en": "The commercial registration was cancelled in connection with a reconstitution event." }, "INACTIVA": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "The chamber of commerce reports this commercial registration as inactive." }, "MATRICULA INACTIVA POR PERDIDA DE CALIDAD DE COMERCIANTE": { "code": "INACTIVE", "label_en": "Inactive after loss of merchant status", "explanation_en": "The chamber of commerce reports this registration as inactive because the registrant lost merchant status." } } } } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## SECOP II provider contacts by NIT (Colombia) GET /co/cce/secop-providers/nit/{nit} A published provider registration with declared organizational contact channels. Coverage: Corporate providers registered in SECOP II; not all Colombian companies. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Provider contact channels may identify named contacts; use only for the stated business purpose. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-cce-secop-providers", "institution": "cce", "dataset": "secop-providers", "schedule": "daily", "scope": "Corporate providers registered in SECOP II; not all Colombian companies.", "contract": "https://latinfo.dev/contracts/co-cce-secop-providers.json", "fingerprint": "4c2dd0d4f1483ec4a486e9f50dd8cfcdf493093123c139009e7b4b9f6c1cdbc9", "limitations": [ "Provider contact channels may identify named contacts; use only for the stated business purpose." ] }, "operationId": "lookupSecop2ProvidersByNit", "summary": "SECOP II provider contacts by NIT (Colombia)", "description": "A published provider registration with declared organizational contact channels. Coverage: Corporate providers registered in SECOP II; not all Colombian companies. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Provider contact channels may identify named contacts; use only for the stated business purpose. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "nit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{10}$" }, "description": "NIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "0890903938" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "nit": { "type": "string", "description": "Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string." }, "provider_code": { "type": "string", "description": "SECOP II provider registration identifier.", "x-latinfo-meaning": "identifier" }, "company_name": { "type": "string", "description": "Company name published by the authority.", "x-latinfo-meaning": "text" }, "active": { "type": "string", "description": "SECOP II provider-account status; not tax or legal-registration status.", "x-latinfo-meaning": "text", "enum": [ "Si", "No" ], "x-latinfo-vocabulary": { "id": "co.cce.secop_provider_status.v1", "scope": "PROCUREMENT_SUPPLIER_REGISTRATION", "empty_policy": "reject", "values": { "Si": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "Colombia Compra Eficiente reports this SECOP II provider account as active." }, "No": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "Colombia Compra Eficiente reports this SECOP II provider account as inactive." } } } }, "created_at": { "type": "string", "description": "Published created at date. Format: ISO 8601 source datetime.", "x-latinfo-meaning": "datetime" }, "category_code": { "type": "string", "description": "Main UNSPSC procurement category code, when supplied.", "x-latinfo-meaning": "code" }, "category_description": { "type": "string", "description": "Main procurement category description.", "x-latinfo-meaning": "text" }, "phone": { "type": "string", "description": "Provider-declared organization phone; not independently verified.", "x-latinfo-meaning": "text" }, "fax": { "type": "string", "description": "Provider-declared organization fax.", "x-latinfo-meaning": "text" }, "email": { "type": "string", "description": "Provider-declared contact channel; may identify a named contact.", "x-latinfo-meaning": "text" }, "address": { "type": "string", "description": "Provider-declared business address.", "x-latinfo-meaning": "text" }, "country": { "type": "string", "description": "Published country code.", "x-latinfo-meaning": "text" }, "department": { "type": "string", "description": "Published department name.", "x-latinfo-meaning": "text" }, "municipality": { "type": "string", "description": "Published municipality name.", "x-latinfo-meaning": "text" }, "website": { "type": "string", "description": "Provider-declared website; not independently verified.", "x-latinfo-meaning": "text" }, "company_type": { "type": "string", "description": "SECOP II company-type label.", "x-latinfo-meaning": "text" }, "is_sme": { "type": "string", "description": "SECOP II SME declaration.", "x-latinfo-meaning": "text" }, "location_code": { "type": "string", "description": "SECOP II location code.", "x-latinfo-meaning": "code" } }, "required": [ "nit", "provider_code", "company_name", "active", "created_at", "category_code", "category_description", "phone", "fax", "email", "address", "country", "department", "municipality", "website", "company_type", "is_sme", "location_code" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Sanctioned suppliers (Peru) GET /pe/osce/sanctioned/ruc/{ruc} A tribunal disqualification and its resolution/infraction attributes. Coverage: Published procurement disqualifications for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. An empty end date can represent a permanent disqualification; verify the original resolution. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru — Debtors" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-sanctioned", "institution": "osce", "dataset": "sanctioned", "schedule": "weekly", "scope": "Published procurement disqualifications for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-osce-sanctioned.json", "fingerprint": "2ec23fcb0f1180f5461ce83f20e48b43baf9279a99eaeadfd2e2bf28889d8b52", "limitations": [ "An empty end date can represent a permanent disqualification; verify the original resolution." ] }, "operationId": "lookupSanctioned", "summary": "Sanctioned suppliers (Peru)", "description": "A tribunal disqualification and its resolution/infraction attributes. Coverage: Published procurement disqualifications for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. An empty end date can represent a permanent disqualification; verify the original resolution. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100994128" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "date_start": { "type": "string", "description": "Published date start date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "date_end": { "type": "string", "description": "Published date end date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "resolution": { "type": "string", "description": "Published procurement tribunal resolution identifier.", "x-latinfo-meaning": "identifier" }, "infraction_code": { "type": "string", "description": "Publisher procurement infraction code.", "x-latinfo-meaning": "code" }, "detail": { "type": "string", "description": "Published infraction description.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "name", "date_start", "date_end", "resolution", "infraction_code", "detail" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Provider fines (Peru) GET /pe/osce/fines/ruc/{ruc} A procurement tribunal fine/resolution record. Coverage: Published procurement fines for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Fine amounts are PEN; absence of a row does not establish procurement clearance. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru — Debtors" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-fines", "institution": "osce", "dataset": "fines", "schedule": "weekly", "scope": "Published procurement fines for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-osce-fines.json", "fingerprint": "33dfdd9be2a8d9651405a41f2872a20f49976a0ad5d2056cb54de443138849bc", "limitations": [ "Fine amounts are PEN; absence of a row does not establish procurement clearance." ] }, "operationId": "lookupFines", "summary": "Provider fines (Peru)", "description": "A procurement tribunal fine/resolution record. Coverage: Published procurement fines for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Fine amounts are PEN; absence of a row does not establish procurement clearance. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20407764430" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "date_start": { "type": "string", "description": "Published date start date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "date_end": { "type": "string", "description": "Published date end date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "resolution": { "type": "string", "description": "Published procurement tribunal resolution identifier.", "x-latinfo-meaning": "identifier" }, "infraction_code": { "type": "string", "description": "Publisher procurement infraction code.", "x-latinfo-meaning": "code" }, "detail": { "type": "string", "description": "Published infraction description.", "x-latinfo-meaning": "text" }, "amount": { "type": "string", "description": "Published monetary amount. Unit: PEN.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "PEN" } }, "required": [ "ruc", "name", "date_start", "date_end", "resolution", "infraction_code", "detail", "amount" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Tax enforcement debtors (Peru) GET /pe/sunat/coactiva/ruc/{ruc} A published debt observation grouped by legal-entity taxpayer. Coverage: Legal-entity RUCs in the published enforceable-debt list. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Amounts are rounded integer PEN values; no listed debt is not a tax-clearance certificate. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru — Debtors" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-coactiva", "institution": "sunat", "dataset": "coactiva", "schedule": "weekly", "scope": "Legal-entity RUCs in the published enforceable-debt list.", "contract": "https://latinfo.dev/contracts/pe-sunat-coactiva.json", "fingerprint": "becda00959fde250e13f42127638f03adeb84c8152e75c08a49400fdae8508f0", "limitations": [ "Amounts are rounded integer PEN values; no listed debt is not a tax-clearance certificate." ] }, "operationId": "lookupCoactiva", "summary": "Tax enforcement debtors (Peru)", "description": "A published debt observation grouped by legal-entity taxpayer. Coverage: Legal-entity RUCs in the published enforceable-debt list. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Amounts are rounded integer PEN values; no listed debt is not a tax-clearance certificate. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20348858182" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "commercial_name": { "type": "string", "description": "Published trade name; may be absent.", "x-latinfo-meaning": "text" }, "dependency": { "type": "string", "description": "SUNAT office responsible for the published collection case.", "x-latinfo-meaning": "text" }, "amount": { "type": "string", "description": "Published enforceable debt amount, rounded to integer PEN. Unit: PEN.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "PEN" }, "rep_count": { "type": "string", "description": "Published number of legal representatives; Sin información means unavailable. Unit: representatives.", "x-latinfo-meaning": "quantity", "x-latinfo-unit": "representatives" } }, "required": [ "ruc", "name", "commercial_name", "dependency", "amount", "rep_count" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup rns · sociedades by CUIT GET /ar/rns/sociedades/cuit/{cuit} A registered company with fiscal/legal geography and principal economic activity. Coverage: Registered corporate CUITs in the published national companies snapshot. Lookup by cuit as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. AC/BD describes economic activity, not the legal existence or solvency of the company. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Argentina" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "ar-rns-sociedades", "institution": "rns", "dataset": "sociedades", "schedule": "monthly", "scope": "Registered corporate CUITs in the published national companies snapshot.", "contract": "https://latinfo.dev/contracts/ar-rns-sociedades.json", "fingerprint": "eadc6b2d9eec45e592e2a5e9f6525541b7b513c865584a832fd67bf0136b6222", "limitations": [ "AC/BD describes economic activity, not the legal existence or solvency of the company." ] }, "operationId": "ar_rns_sociedades_cuit", "summary": "Lookup rns · sociedades by CUIT", "description": "A registered company with fiscal/legal geography and principal economic activity. Coverage: Registered corporate CUITs in the published national companies snapshot. Lookup by cuit as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. AC/BD describes economic activity, not the legal existence or solvency of the company. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "cuit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(30|33|34)\\d{9}$" }, "description": "CUIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "30500000127" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "cuit": { "type": "string", "description": "Lookup by cuit as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Principal activity status: AC means active, BD means definitive deregistration; not legal company status.", "x-latinfo-meaning": "text", "enum": [ "AC", "BD" ], "x-latinfo-vocabulary": { "id": "ar.rns.activity_status.v1", "scope": "ACTIVITY", "empty_policy": "map_to_unknown", "values": { "AC": { "code": "ACTIVE", "label_en": "Active activity", "explanation_en": "ARCA reports the selected economic activity as active. This is not a legal-entity status." }, "BD": { "code": "CANCELLED", "label_en": "Activity definitively deregistered", "explanation_en": "ARCA reports the selected economic activity as definitively deregistered. This is not a legal-entity status." } } } }, "tipo_societario": { "type": "string", "description": "Registered legal form.", "x-latinfo-meaning": "text" }, "fecha_contrato": { "type": "string", "description": "Published fecha contrato date. Format: YYYY-MM-DD-HH:mm.", "x-latinfo-meaning": "date" }, "fecha_actualizacion": { "type": "string", "description": "Published fecha actualizacion date. Format: YYYY-MM-DD-HH:mm.", "x-latinfo-meaning": "date" }, "provincia_fiscal": { "type": "string", "description": "Province of the fiscal address.", "x-latinfo-meaning": "text" }, "localidad_fiscal": { "type": "string", "description": "Locality of the fiscal address.", "x-latinfo-meaning": "text" }, "domicilio_fiscal": { "type": "string", "description": "Street and number of the fiscal address.", "x-latinfo-meaning": "text" }, "cp_fiscal": { "type": "string", "description": "Fiscal postal code; retain leading zeros.", "x-latinfo-meaning": "code" }, "provincia_legal": { "type": "string", "description": "Province of the registered address.", "x-latinfo-meaning": "text" }, "localidad_legal": { "type": "string", "description": "Locality of the registered address.", "x-latinfo-meaning": "text" }, "actividad_codigo": { "type": "string", "description": "Published principal economic-activity code.", "x-latinfo-meaning": "code" }, "actividad_descripcion": { "type": "string", "description": "Published principal economic-activity description.", "x-latinfo-meaning": "text" } }, "required": [ "cuit", "razon_social", "estado", "tipo_societario", "fecha_contrato", "fecha_actualizacion", "provincia_fiscal", "localidad_fiscal", "domicilio_fiscal", "cp_fiscal", "provincia_legal", "localidad_legal", "actividad_codigo", "actividad_descripcion" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search seprec · registry GET /bo/seprec/registry/search Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Bolivia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "bo-seprec-registry", "institution": "seprec", "dataset": "registry", "schedule": "daily", "scope": "Commercial companies in the legal-form allowlist; sole proprietors are excluded.", "contract": "https://latinfo.dev/contracts/bo-seprec-registry.json", "fingerprint": "d1cca41a8fee274943be349f325e4e65b6d99929308d399923408ada22c49266", "limitations": [ "Published registration status does not establish tax compliance or beneficial ownership." ] }, "operationId": "bo_seprec_registry_search", "summary": "Search seprec · registry", "description": "Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text", "enum": [ "ACTIVO", "CANCELADO", "CREADO", "INACTIVO" ], "x-latinfo-vocabulary": { "id": "bo.seprec.registration_status.v1", "scope": "COMMERCIAL_REGISTRATION", "empty_policy": "reject", "values": { "ACTIVO": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "SEPREC reports the commercial registration as active." }, "CANCELADO": { "code": "CANCELLED", "label_en": "Cancelled", "explanation_en": "SEPREC reports the commercial registration as cancelled." }, "CREADO": { "code": "PENDING", "label_en": "Created", "explanation_en": "SEPREC reports the commercial registration as created." }, "INACTIVO": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "SEPREC reports the commercial registration as inactive." } } } } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup receita · cnpj by CNPJ GET /br/receita/cnpj/cnpj/{cnpj} An establishment, not necessarily the entire corporate group. Coverage: Published CNPJ legal-entity establishments. Lookup by cnpj as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Municipality values are Receita codes; resolve against the correct codebook before presenting names. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Brazil" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "br-receita-cnpj", "institution": "receita", "dataset": "cnpj", "schedule": "monthly", "scope": "Published CNPJ legal-entity establishments.", "contract": "https://latinfo.dev/contracts/br-receita-cnpj.json", "fingerprint": "ca297ea18bb5baaeac6de5c56fd4486f7df0ce9226cc03085973c2596aa23f4b", "limitations": [ "Municipality values are Receita codes; resolve against the correct codebook before presenting names." ] }, "operationId": "br_receita_cnpj_cnpj", "summary": "Lookup receita · cnpj by CNPJ", "description": "An establishment, not necessarily the entire corporate group. Coverage: Published CNPJ legal-entity establishments. Lookup by cnpj as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Municipality values are Receita codes; resolve against the correct codebook before presenting names. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "cnpj", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^[0-9A-Z]{12}\\d{2}$" }, "description": "CNPJ in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "00000000000191" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "cnpj": { "type": "string", "description": "Lookup by cnpj as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "razao_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "situacao": { "type": "string", "description": "Receita establishment status: ATIVA, BAIXADA, INAPTA, SUSPENSA or NULA.", "x-latinfo-meaning": "text", "enum": [ "ATIVA", "SUSPENSA", "INAPTA", "BAIXADA", "NULA" ], "x-latinfo-vocabulary": { "id": "br.receita.tax_status.v1", "scope": "TAX_REGISTRATION", "empty_policy": "reject", "values": { "ATIVA": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "Brazil's Federal Revenue reports the CNPJ registration as active." }, "SUSPENSA": { "code": "SUSPENDED", "label_en": "Suspended", "explanation_en": "Brazil's Federal Revenue reports the CNPJ registration as suspended." }, "INAPTA": { "code": "INACTIVE", "label_en": "Declared unfit", "explanation_en": "Brazil's Federal Revenue reports the CNPJ registration as unfit because the entity did not satisfy applicable registration obligations." }, "BAIXADA": { "code": "CANCELLED", "label_en": "Deregistered", "explanation_en": "Brazil's Federal Revenue reports the CNPJ registration as deregistered." }, "NULA": { "code": "CANCELLED", "label_en": "Null registration", "explanation_en": "Brazil's Federal Revenue reports the CNPJ registration as null." } } } }, "nome_fantasia": { "type": "string", "description": "Published trade name; may be absent.", "x-latinfo-meaning": "text" }, "uf": { "type": "string", "description": "Two-letter Brazilian state code.", "x-latinfo-meaning": "text" }, "municipio": { "type": "string", "description": "Receita municipality code, not a municipality name.", "x-latinfo-meaning": "text" }, "cnae_principal": { "type": "string", "description": "Principal CNAE activity code.", "x-latinfo-meaning": "code" } }, "required": [ "cnpj", "razao_social", "situacao", "nome_fantasia", "uf", "municipio", "cnae_principal" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search cce · secop-providers GET /co/cce/secop-providers/search Search the published company_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-cce-secop-providers", "institution": "cce", "dataset": "secop-providers", "schedule": "daily", "scope": "Corporate providers registered in SECOP II; not all Colombian companies.", "contract": "https://latinfo.dev/contracts/co-cce-secop-providers.json", "fingerprint": "4c2dd0d4f1483ec4a486e9f50dd8cfcdf493093123c139009e7b4b9f6c1cdbc9", "limitations": [ "Provider contact channels may identify named contacts; use only for the stated business purpose." ] }, "operationId": "co_cce_secop_providers_search", "summary": "Search cce · secop-providers", "description": "Search the published company_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "company_name": { "type": "string", "description": "Company name published by the authority.", "x-latinfo-meaning": "text" }, "active": { "type": "string", "description": "SECOP II provider-account status; not tax or legal-registration status.", "x-latinfo-meaning": "text", "enum": [ "Si", "No" ], "x-latinfo-vocabulary": { "id": "co.cce.secop_provider_status.v1", "scope": "PROCUREMENT_SUPPLIER_REGISTRATION", "empty_policy": "reject", "values": { "Si": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "Colombia Compra Eficiente reports this SECOP II provider account as active." }, "No": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "Colombia Compra Eficiente reports this SECOP II provider account as inactive." } } } } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup supersociedades · balance by NIT GET /co/supersociedades/balance/nit/{nit} One original financial line item per filing, reporting basis, concept and period. Coverage: Partial coverage of corporate financial reporting companies. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Amounts are thousands of COP. Preserve separate filings, reporting bases and comparative periods; do not sum indiscriminately. Reuse retains publisher attribution and CC BY-SA 4.0 license obligations; this dataset is not mapped to universal normalized financial metrics. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-supersociedades-balance", "institution": "supersociedades", "dataset": "balance", "schedule": "yearly", "scope": "Partial coverage of corporate financial reporting companies.", "contract": "https://latinfo.dev/contracts/co-supersociedades-balance.json", "fingerprint": "937c378945cf5607fd141737cfb9afe52ee68c7c66ee8850aac2fb9c6bb5a7c8", "limitations": [ "Amounts are thousands of COP. Preserve separate filings, reporting bases and comparative periods; do not sum indiscriminately.", "Reuse retains publisher attribution and CC BY-SA 4.0 license obligations; this dataset is not mapped to universal normalized financial metrics." ], "attribution": { "dataset": "balance", "label": "Estado de situación financiera", "source": "co-supersociedades-balance", "publisher": "Superintendencia de Sociedades", "attribution": "Fuente: Portal de Datos Abiertos www.datos.gov.co", "verification_url": "https://www.datos.gov.co/d/pfdp-zks5", "license": "CC-BY-SA-4.0", "license_url": "https://creativecommons.org/licenses/by-sa/4.0/", "currency": "COP", "unit": "THOUSANDS" } }, "operationId": "co_supersociedades_balance_nit", "summary": "Lookup supersociedades · balance by NIT", "description": "One original financial line item per filing, reporting basis, concept and period. Coverage: Partial coverage of corporate financial reporting companies. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Amounts are thousands of COP. Preserve separate filings, reporting bases and comparative periods; do not sum indiscriminately. Reuse retains publisher attribution and CC BY-SA 4.0 license obligations; this dataset is not mapped to universal normalized financial metrics. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "nit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^0[89]\\d{8}$" }, "description": "NIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "0900328533" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "nit": { "type": "string", "description": "Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string." }, "instance_code": { "type": "string", "description": "Publisher filing-instance code (codigo_instancia).", "x-latinfo-meaning": "text" }, "filing_number": { "type": "string", "description": "Publisher filing identifier (numero_radicado).", "x-latinfo-meaning": "identifier" }, "entry_point_id": { "type": "string", "description": "Reporting entry-point identifier.", "x-latinfo-meaning": "identifier" }, "entry_point": { "type": "string", "description": "NIIF reporting basis; individual, separate, consolidated and combined filings remain distinct.", "x-latinfo-meaning": "text" }, "taxonomy_id": { "type": "string", "description": "Reporting taxonomy identifier.", "x-latinfo-meaning": "identifier" }, "taxonomy": { "type": "string", "description": "Reporting taxonomy label.", "x-latinfo-meaning": "text" }, "cut_date": { "type": "string", "description": "Published cut date date. Format: YYYY-MM-DD.", "x-latinfo-meaning": "date" }, "concept": { "type": "string", "description": "Original financial line-item concept.", "x-latinfo-meaning": "text" }, "period": { "type": "string", "description": "Original reporting-period label; historical and comparative periods remain distinct.", "x-latinfo-meaning": "text" }, "amount": { "type": "string", "description": "Original signed financial value at unchanged precision, in thousands of COP; never sum across reporting bases. Unit: thousands of COP.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "thousands of COP" }, "currency": { "type": "string", "description": "COP: Colombian pesos.", "x-latinfo-meaning": "code" }, "unit": { "type": "string", "description": "THOUSANDS: figures are thousands of Colombian pesos.", "x-latinfo-meaning": "text" }, "entity_type": { "type": "string", "description": "LEGAL_ENTITY scope marker added by the importer.", "x-latinfo-meaning": "text" }, "row_hash": { "type": "string", "description": "SHA-256 of the ordered original source values; preserves distinctions between filings.", "x-latinfo-meaning": "identifier" } }, "required": [ "nit", "instance_code", "filing_number", "entry_point_id", "entry_point", "taxonomy_id", "taxonomy", "cut_date", "concept", "period", "amount", "currency", "unit", "entity_type", "row_hash" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup supersociedades · income by NIT GET /co/supersociedades/income/nit/{nit} One original income-statement line item per filing, reporting basis, concept and period. Coverage: Partial coverage of corporate financial reporting companies. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Amounts are thousands of COP. Preserve separate filings, reporting bases and comparative periods; do not sum indiscriminately. Reuse retains publisher attribution and CC BY-SA 4.0 license obligations; this dataset is not mapped to universal normalized financial metrics. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-supersociedades-income", "institution": "supersociedades", "dataset": "income", "schedule": "yearly", "scope": "Partial coverage of corporate financial reporting companies.", "contract": "https://latinfo.dev/contracts/co-supersociedades-income.json", "fingerprint": "3e840ca08d00991c0b4f535317c25bac7968fd8b0f843512aa94190e4c8b6315", "limitations": [ "Amounts are thousands of COP. Preserve separate filings, reporting bases and comparative periods; do not sum indiscriminately.", "Reuse retains publisher attribution and CC BY-SA 4.0 license obligations; this dataset is not mapped to universal normalized financial metrics." ], "attribution": { "dataset": "income", "label": "Estado de resultado integral", "source": "co-supersociedades-income", "publisher": "Superintendencia de Sociedades", "attribution": "Fuente: Portal de Datos Abiertos www.datos.gov.co", "verification_url": "https://www.datos.gov.co/d/prwj-nzxa", "license": "CC-BY-SA-4.0", "license_url": "https://creativecommons.org/licenses/by-sa/4.0/", "currency": "COP", "unit": "THOUSANDS" } }, "operationId": "co_supersociedades_income_nit", "summary": "Lookup supersociedades · income by NIT", "description": "One original income-statement line item per filing, reporting basis, concept and period. Coverage: Partial coverage of corporate financial reporting companies. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. Amounts are thousands of COP. Preserve separate filings, reporting bases and comparative periods; do not sum indiscriminately. Reuse retains publisher attribution and CC BY-SA 4.0 license obligations; this dataset is not mapped to universal normalized financial metrics. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "nit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^0[89]\\d{8}$" }, "description": "NIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "0900328533" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "nit": { "type": "string", "description": "Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string." }, "instance_code": { "type": "string", "description": "Publisher filing-instance code (codigo_instancia).", "x-latinfo-meaning": "text" }, "filing_number": { "type": "string", "description": "Publisher filing identifier (numero_radicado).", "x-latinfo-meaning": "identifier" }, "entry_point_id": { "type": "string", "description": "Reporting entry-point identifier.", "x-latinfo-meaning": "identifier" }, "entry_point": { "type": "string", "description": "NIIF reporting basis; individual, separate, consolidated and combined filings remain distinct.", "x-latinfo-meaning": "text" }, "taxonomy_id": { "type": "string", "description": "Reporting taxonomy identifier.", "x-latinfo-meaning": "identifier" }, "taxonomy": { "type": "string", "description": "Reporting taxonomy label.", "x-latinfo-meaning": "text" }, "cut_date": { "type": "string", "description": "Published cut date date. Format: YYYY-MM-DD.", "x-latinfo-meaning": "date" }, "concept": { "type": "string", "description": "Original financial line-item concept.", "x-latinfo-meaning": "text" }, "period": { "type": "string", "description": "Original reporting-period label; historical and comparative periods remain distinct.", "x-latinfo-meaning": "text" }, "amount": { "type": "string", "description": "Original signed financial value at unchanged precision, in thousands of COP; never sum across reporting bases. Unit: thousands of COP.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "thousands of COP" }, "currency": { "type": "string", "description": "COP: Colombian pesos.", "x-latinfo-meaning": "code" }, "unit": { "type": "string", "description": "THOUSANDS: figures are thousands of Colombian pesos.", "x-latinfo-meaning": "text" }, "entity_type": { "type": "string", "description": "LEGAL_ENTITY scope marker added by the importer.", "x-latinfo-meaning": "text" }, "row_hash": { "type": "string", "description": "SHA-256 of the ordered original source values; preserves distinctions between filings.", "x-latinfo-meaning": "identifier" } }, "required": [ "nit", "instance_code", "filing_number", "entry_point_id", "entry_point", "taxonomy_id", "taxonomy", "cut_date", "concept", "period", "amount", "currency", "unit", "entity_type", "row_hash" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup supersociedades · obligated by NIT GET /co/supersociedades/obligated/nit/{nit} A company observation at the reporting cut date with judicial notification attributes. Coverage: Companies in the published obligated/supervised entity list. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. The 2025 status/address repair is identified by upstream_layout; original cleaned columns remain available. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-supersociedades-obligated", "institution": "supersociedades", "dataset": "obligated", "schedule": "yearly", "scope": "Companies in the published obligated/supervised entity list.", "contract": "https://latinfo.dev/contracts/co-supersociedades-obligated.json", "fingerprint": "32ffbebfa723e00596936f0af216422a913d56cf4d538a88fe6366d01d493abb", "limitations": [ "The 2025 status/address repair is identified by upstream_layout; original cleaned columns remain available." ] }, "operationId": "co_supersociedades_obligated_nit", "summary": "Lookup supersociedades · obligated by NIT", "description": "A company observation at the reporting cut date with judicial notification attributes. Coverage: Companies in the published obligated/supervised entity list. Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string. The 2025 status/address repair is identified by upstream_layout; original cleaned columns remain available. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "nit", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{10}$" }, "description": "NIT in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "890200122" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "nit": { "type": "string", "description": "Use the NIT body without check digit. coNit normalizes accepted inputs to the zero-padded stored body; keep it as a string." }, "check_digit": { "type": "string", "description": "Publisher identifier check digit.", "x-latinfo-meaning": "code" }, "company_name": { "type": "string", "description": "Company name published by the authority.", "x-latinfo-meaning": "text" }, "supervision_status": { "type": "string", "description": "Published Supersociedades supervision status.", "x-latinfo-meaning": "text", "enum": [ "INSPECCIÓN", "VIGILANCIA", "NUEVA", "CAMARA COMERCIO INSPECCIÓN-VIGILANCIA-CONTROL", "CONTROL" ] }, "judicial_address": { "type": "string", "description": "Declared address for judicial notifications.", "x-latinfo-meaning": "text" }, "judicial_department": { "type": "string", "description": "Published judicial-notification department.", "x-latinfo-meaning": "text" }, "judicial_city": { "type": "string", "description": "Published judicial-notification city.", "x-latinfo-meaning": "text" }, "notification_email": { "type": "string", "description": "Company-declared judicial notification email; not independently verified.", "x-latinfo-meaning": "text" }, "cut_date": { "type": "string", "description": "Published cut date date. Format: YYYY-MM-DD.", "x-latinfo-meaning": "date" }, "upstream_layout": { "type": "string", "description": "STANDARD or STATUS_ADDRESS_SWAPPED; identifies the deterministic 2025 layout repair.", "x-latinfo-meaning": "text", "enum": [ "STANDARD", "STATUS_ADDRESS_SWAPPED" ] }, "raw_estado": { "type": "string", "description": "Cleaned original ESTADO column; retained separately from repaired supervision status.", "x-latinfo-meaning": "text" }, "raw_direccion_judicial": { "type": "string", "description": "Cleaned original judicial-address column; retained separately from repaired address.", "x-latinfo-meaning": "text" }, "entity_type": { "type": "string", "description": "LEGAL_ENTITY scope marker added by the importer.", "x-latinfo-meaning": "text" } }, "required": [ "nit", "check_digit", "company_name", "supervision_status", "judicial_address", "judicial_department", "judicial_city", "notification_email", "cut_date", "upstream_layout", "raw_estado", "raw_direccion_judicial", "entity_type" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search supersociedades · obligated GET /co/supersociedades/obligated/search Search the published company_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Colombia" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "co-supersociedades-obligated", "institution": "supersociedades", "dataset": "obligated", "schedule": "yearly", "scope": "Companies in the published obligated/supervised entity list.", "contract": "https://latinfo.dev/contracts/co-supersociedades-obligated.json", "fingerprint": "32ffbebfa723e00596936f0af216422a913d56cf4d538a88fe6366d01d493abb", "limitations": [ "The 2025 status/address repair is identified by upstream_layout; original cleaned columns remain available." ] }, "operationId": "co_supersociedades_obligated_search", "summary": "Search supersociedades · obligated", "description": "Search the published company_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "company_name": { "type": "string", "description": "Company name published by the authority.", "x-latinfo-meaning": "text" }, "supervision_status": { "type": "string", "description": "Published Supersociedades supervision status.", "x-latinfo-meaning": "text", "enum": [ "INSPECCIÓN", "VIGILANCIA", "NUEVA", "CAMARA COMERCIO INSPECCIÓN-VIGILANCIA-CONTROL", "CONTROL" ] } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup dgii · rnc-contribuyentes by RNC GET /do/dgii/rnc-contribuyentes/rnc/{rnc} A corporate taxpayer registration with declared activity and payment regime. Coverage: Corporate RNC registrations; personal taxpayer identifiers are excluded. Lookup by rnc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. A taxpayer registration is not a certificate of tax clearance. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Dominican Republic" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "do-dgii-rnc-contribuyentes", "institution": "dgii", "dataset": "rnc-contribuyentes", "schedule": "weekly", "scope": "Corporate RNC registrations; personal taxpayer identifiers are excluded.", "contract": "https://latinfo.dev/contracts/do-dgii-rnc-contribuyentes.json", "fingerprint": "b0bb56909eee6d0e2942c1bfad3dcb918ccc3f381a71c52a5951a877b008cef4", "limitations": [ "A taxpayer registration is not a certificate of tax clearance." ] }, "operationId": "do_dgii_rnc_contribuyentes_rnc", "summary": "Lookup dgii · rnc-contribuyentes by RNC", "description": "A corporate taxpayer registration with declared activity and payment regime. Coverage: Corporate RNC registrations; personal taxpayer identifiers are excluded. Lookup by rnc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. A taxpayer registration is not a certificate of tax clearance. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "rnc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^[14]\\d{8}$" }, "description": "RNC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "132159438" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "rnc": { "type": "string", "description": "Lookup by rnc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "economic_activity": { "type": "string", "description": "Declared economic-activity description.", "x-latinfo-meaning": "text" }, "operations_start_date": { "type": "string", "description": "Published operations start date date. Format: DD/MM/YYYY.", "x-latinfo-meaning": "date" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text" }, "payment_regime": { "type": "string", "description": "Official DGII payment regime.", "x-latinfo-meaning": "text" } }, "required": [ "rnc", "legal_name", "economic_activity", "operations_start_date", "status", "payment_regime" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search dgii · rnc-contribuyentes GET /do/dgii/rnc-contribuyentes/search Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Dominican Republic" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "do-dgii-rnc-contribuyentes", "institution": "dgii", "dataset": "rnc-contribuyentes", "schedule": "weekly", "scope": "Corporate RNC registrations; personal taxpayer identifiers are excluded.", "contract": "https://latinfo.dev/contracts/do-dgii-rnc-contribuyentes.json", "fingerprint": "b0bb56909eee6d0e2942c1bfad3dcb918ccc3f381a71c52a5951a877b008cef4", "limitations": [ "A taxpayer registration is not a certificate of tax clearance." ] }, "operationId": "do_dgii_rnc_contribuyentes_search", "summary": "Search dgii · rnc-contribuyentes", "description": "Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sri · padron by RUC GET /ec/sri/padron/ruc/{ruc} A taxpayer registration with principal-establishment geography and activity. Coverage: Corporate RUCs in the published SRI province files. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. The principal-establishment location is not a list of every branch. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Ecuador" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "ec-sri-padron", "institution": "sri", "dataset": "padron", "schedule": "monthly", "scope": "Corporate RUCs in the published SRI province files.", "contract": "https://latinfo.dev/contracts/ec-sri-padron.json", "fingerprint": "ba4baf9df5a1277b6f0f3ef21afed1f408d5fa7509f09f696260f981b3a56556", "limitations": [ "The principal-establishment location is not a list of every branch." ] }, "operationId": "ec_sri_padron_ruc", "summary": "Lookup sri · padron by RUC", "description": "A taxpayer registration with principal-establishment geography and activity. Coverage: Corporate RUCs in the published SRI province files. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. The principal-establishment location is not a list of every branch. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{13}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "1793025048001" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text", "enum": [ "ACTIVO", "PASIVO", "SUSPENDIDO" ], "x-latinfo-vocabulary": { "id": "ec.sri.tax_status.v1", "scope": "TAX_REGISTRATION", "empty_policy": "reject", "values": { "ACTIVO": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "SRI reports the taxpayer registration as active." }, "PASIVO": { "code": "INACTIVE", "label_en": "Inactive", "explanation_en": "SRI reports the taxpayer registration as passive, meaning it is not currently active." }, "SUSPENDIDO": { "code": "SUSPENDED", "label_en": "Suspended", "explanation_en": "SRI reports the taxpayer registration as suspended." } } } }, "nombre_fantasia": { "type": "string", "description": "Published trade name; may be absent.", "x-latinfo-meaning": "text" }, "actividad_economica": { "type": "string", "description": "Published economic-activity description.", "x-latinfo-meaning": "text" }, "codigo_ciiu": { "type": "string", "description": "Published CIIU economic-activity code.", "x-latinfo-meaning": "code" }, "fecha_inicio_actividades": { "type": "string", "description": "Published fecha inicio actividades date. Format: YYYY-MM-DD HH:mm:ss.", "x-latinfo-meaning": "date" }, "fecha_suspension": { "type": "string", "description": "Published fecha suspension date. Format: YYYY-MM-DD HH:mm:ss.", "x-latinfo-meaning": "date" }, "fecha_actualizacion": { "type": "string", "description": "Published fecha actualizacion date. Format: YYYY-MM-DD HH:mm:ss.", "x-latinfo-meaning": "date" }, "obligado_contabilidad": { "type": "string", "description": "S/N: whether accounting books are required.", "x-latinfo-meaning": "text" }, "agente_retencion": { "type": "string", "description": "S/N: published withholding-agent designation.", "x-latinfo-meaning": "text" }, "contribuyente_especial": { "type": "string", "description": "S/N: published special-taxpayer designation.", "x-latinfo-meaning": "text" }, "provincia": { "type": "string", "description": "Published province name.", "x-latinfo-meaning": "text" }, "canton": { "type": "string", "description": "Province subdivision of the principal establishment.", "x-latinfo-meaning": "text" }, "parroquia": { "type": "string", "description": "Parish of the principal establishment.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "razon_social", "estado", "nombre_fantasia", "actividad_economica", "codigo_ciiu", "fecha_inicio_actividades", "fecha_suspension", "fecha_actualizacion", "obligado_contabilidad", "agente_retencion", "contribuyente_especial", "provincia", "canton", "parroquia" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup companies-house · register by COMPANY-NUMBER GET /gb/companies-house/register/company-number/{company-number} A company registration with published category and SIC attributes. Coverage: Corporate bodies in the Companies House basic-data product. Lookup by company-number as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. This dataset does not supply officers, shareholders or beneficial owners. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "United Kingdom" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "gb-companies-house-register", "institution": "companies-house", "dataset": "register", "schedule": "monthly", "scope": "Corporate bodies in the Companies House basic-data product.", "contract": "https://latinfo.dev/contracts/gb-companies-house-register.json", "fingerprint": "96db7d02a93828b364971e549f9c8187ce3deee1c40671a63918c5fa7fcc220c", "limitations": [ "This dataset does not supply officers, shareholders or beneficial owners." ] }, "operationId": "gb_companies_house_register_company_number", "summary": "Lookup companies-house · register by COMPANY-NUMBER", "description": "A company registration with published category and SIC attributes. Coverage: Corporate bodies in the Companies House basic-data product. Lookup by company-number as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. This dataset does not supply officers, shareholders or beneficial owners. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "company-number", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^[A-Z0-9]{8}$" }, "description": "COMPANY-NUMBER in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "00445790" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "company-number": { "type": "string", "description": "Lookup by company-number as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "status": { "type": "string", "description": "Publisher status; not a Latinfo risk rating.", "x-latinfo-meaning": "text" }, "company_category": { "type": "string", "description": "Companies House corporate-body category.", "x-latinfo-meaning": "text" }, "incorporation_date": { "type": "string", "description": "Published incorporation date date. Format: DD/MM/YYYY.", "x-latinfo-meaning": "date" }, "sic_code_1": { "type": "string", "description": "First SIC code and description as published.", "x-latinfo-meaning": "text" }, "sic_code_2": { "type": "string", "description": "Second SIC code and description, if supplied.", "x-latinfo-meaning": "text" }, "sic_code_3": { "type": "string", "description": "Third SIC code and description, if supplied.", "x-latinfo-meaning": "text" }, "sic_code_4": { "type": "string", "description": "Fourth SIC code and description, if supplied.", "x-latinfo-meaning": "text" } }, "required": [ "company-number", "legal_name", "status", "company_category", "incorporation_date", "sic_code_1", "sic_code_2", "sic_code_3", "sic_code_4" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup multi · sanctions by RECORD_ID GET /intl/multi/sanctions/record_id/{record_id} One published sanctioned subject: entity, vessel or aircraft; individuals are excluded. Coverage: Non-person subjects from OFAC SDN, UN consolidated and EU consolidated sanctions lists. Use a list prefix OFAC, UNSC or EUFS followed by eleven padded digits. A name is not a record identifier. A name-search result is a candidate, not a confirmed sanctions match; verify identifier, aliases, list and reference. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "International" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "intl-sanctions-consolidated", "institution": "multi", "dataset": "sanctions", "schedule": "daily", "scope": "Non-person subjects from OFAC SDN, UN consolidated and EU consolidated sanctions lists.", "contract": "https://latinfo.dev/contracts/intl-sanctions-consolidated.json", "fingerprint": "f038d9820a44c7d60939505cf4ac2f11580361ebee9f336e4d6cc4f0374fd450", "limitations": [ "A name-search result is a candidate, not a confirmed sanctions match; verify identifier, aliases, list and reference." ] }, "operationId": "intl_multi_sanctions_record_id", "summary": "Lookup multi · sanctions by RECORD_ID", "description": "One published sanctioned subject: entity, vessel or aircraft; individuals are excluded. Coverage: Non-person subjects from OFAC SDN, UN consolidated and EU consolidated sanctions lists. Use a list prefix OFAC, UNSC or EUFS followed by eleven padded digits. A name is not a record identifier. A name-search result is a candidate, not a confirmed sanctions match; verify identifier, aliases, list and reference. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "record_id", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(OFAC|UNSC|EUFS)[0-9]{11}$" }, "description": "RECORD_ID in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "OFAC00000000036" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "record_id": { "type": "string", "description": "Use a list prefix OFAC, UNSC or EUFS followed by eleven padded digits. A name is not a record identifier." }, "source": { "type": "string", "description": "Upstream sanctions list identifier.", "x-latinfo-meaning": "text" }, "type": { "type": "string", "description": "Sanctioned subject type: entity, vessel or aircraft; individuals are excluded at import.", "x-latinfo-meaning": "text" }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "aliases": { "type": "string", "description": "Semicolon-separated published aliases; searchable.", "x-latinfo-meaning": "text" }, "programs": { "type": "string", "description": "Pipe-separated sanctions-program codes.", "x-latinfo-meaning": "text" }, "listed_on": { "type": "string", "description": "Published listed on date. Format: YYYY-MM-DD.", "x-latinfo-meaning": "date" }, "reference": { "type": "string", "description": "Publisher-specific sanctions reference, when available.", "x-latinfo-meaning": "text" }, "dob": { "type": "string", "description": "Reserved personal-date field; not used for non-person subjects. Empty for non-person subjects; personal subjects are excluded during import.", "x-latinfo-meaning": "reserved" }, "pob": { "type": "string", "description": "Reserved birthplace field; not used for non-person subjects. Empty for non-person subjects; personal subjects are excluded during import.", "x-latinfo-meaning": "reserved" }, "nationality": { "type": "string", "description": "Reserved nationality field; not used for non-person subjects. Empty for non-person subjects; personal subjects are excluded during import.", "x-latinfo-meaning": "reserved" } }, "required": [ "record_id", "source", "type", "name", "aliases", "programs", "listed_on", "reference", "dob", "pob", "nationality" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search multi · sanctions GET /intl/multi/sanctions/search Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "International" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "intl-sanctions-consolidated", "institution": "multi", "dataset": "sanctions", "schedule": "daily", "scope": "Non-person subjects from OFAC SDN, UN consolidated and EU consolidated sanctions lists.", "contract": "https://latinfo.dev/contracts/intl-sanctions-consolidated.json", "fingerprint": "f038d9820a44c7d60939505cf4ac2f11580361ebee9f336e4d6cc4f0374fd450", "limitations": [ "A name-search result is a candidate, not a confirmed sanctions match; verify identifier, aliases, list and reference." ] }, "operationId": "intl_multi_sanctions_search", "summary": "Search multi · sanctions", "description": "Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "source": { "type": "string", "description": "Upstream sanctions list identifier.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sat · published by RFC GET /mx/sat/published/rfc/{rfc} A published list entry, retaining its list family, official status and dates. Coverage: Corporate RFC entries in SAT article 69/69-B publication lists; not a general corporate census. Lookup by rfc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. List status is source terminology; do not turn a publication into a broader legal conclusion. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Mexico" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "mx-sat-published", "institution": "sat", "dataset": "published", "schedule": "monthly", "scope": "Corporate RFC entries in SAT article 69/69-B publication lists; not a general corporate census.", "contract": "https://latinfo.dev/contracts/mx-sat-published.json", "fingerprint": "58733ee4d64954f6d0e01a8d24ba78d696c6e9cd2283e8eb57cbea4a23c4748b", "limitations": [ "List status is source terminology; do not turn a publication into a broader legal conclusion." ] }, "operationId": "mx_sat_published_rfc", "summary": "Lookup sat · published by RFC", "description": "A published list entry, retaining its list family, official status and dates. Coverage: Corporate RFC entries in SAT article 69/69-B publication lists; not a general corporate census. Lookup by rfc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. List status is source terminology; do not turn a publication into a broader legal conclusion. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "rfc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^[A-Z&Ñ]{3}[0-9]{6}[A-Z0-9]{3}$" }, "description": "RFC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "AAA080808HL8" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "rfc": { "type": "string", "description": "Lookup by rfc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "article": { "type": "string", "description": "CFF article/list family derived from the official file path.", "x-latinfo-meaning": "text" }, "publication_list": { "type": "string", "description": "Original SAT publication-list label.", "x-latinfo-meaning": "text" }, "official_status": { "type": "string", "description": "Original SAT status or premise; not reclassified as a Latinfo risk conclusion.", "x-latinfo-meaning": "text" }, "sat_publication_date": { "type": "string", "description": "Published sat publication date date. Format: DD/MM/YYYY.", "x-latinfo-meaning": "date" }, "dof_publication_date": { "type": "string", "description": "Published dof publication date date. Format: DD/MM/YYYY.", "x-latinfo-meaning": "date" }, "source_url": { "type": "string", "description": "Official source CSV URL containing the row.", "x-latinfo-meaning": "text" } }, "required": [ "rfc", "legal_name", "article", "publication_list", "official_status", "sat_publication_date", "dof_publication_date", "source_url" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search sat · published GET /mx/sat/published/search Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Mexico" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "mx-sat-published", "institution": "sat", "dataset": "published", "schedule": "monthly", "scope": "Corporate RFC entries in SAT article 69/69-B publication lists; not a general corporate census.", "contract": "https://latinfo.dev/contracts/mx-sat-published.json", "fingerprint": "58733ee4d64954f6d0e01a8d24ba78d696c6e9cd2283e8eb57cbea4a23c4748b", "limitations": [ "List status is source terminology; do not turn a publication into a broader legal conclusion." ] }, "operationId": "mx_sat_published_search", "summary": "Search sat · published", "description": "Search the published legal_name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "legal_name": { "type": "string", "description": "Registered name published by the authority.", "x-latinfo-meaning": "text" }, "official_status": { "type": "string", "description": "Original SAT status or premise; not reclassified as a Latinfo risk conclusion.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search oece · tenders GET /pe/oece/tenders/search Search the published description index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-oece-tenders", "institution": "oece", "dataset": "tenders", "schedule": "daily", "scope": "Published OCDS procurement processes in the imported official snapshot.", "contract": "https://latinfo.dev/contracts/pe-oece-tenders.json", "fingerprint": "50a126c9c5c86f62f0112e377018e90c30496e4f7737f8a38c58518b76f4d2d7", "limitations": [ "Natural-person parties are removed by the API; document files remain external publisher links.", "Use the OCDS OpenAPI response schema. Process/budget amounts are not automatically supplier contract values.", "amount in the search index has no independently declared currency. The full OCDS amount/currency objects are authoritative." ] }, "operationId": "pe_oece_tenders_search", "summary": "Search oece · tenders", "description": "Search the published description index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "description": { "type": "string", "description": "Published description.", "x-latinfo-meaning": "text" }, "estado": { "type": "string" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup oefa · sanctions by RUC GET /pe/oefa/sanctions/ruc/{ruc} A sanctioned-entity case/resolution; one company can have multiple records. Coverage: Published environmental enforcement cases for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. multa_expediente is in UIT, not PEN; narrative detail is truncated to 500 characters. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-oefa-sanctions", "institution": "oefa", "dataset": "sanctions", "schedule": "monthly", "scope": "Published environmental enforcement cases for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-oefa-sanctions.json", "fingerprint": "efee12fba9fba4a3dc326daa957b42d5b2bb385d6fd5c0eaefd8a2484cfbf0b5", "limitations": [ "multa_expediente is in UIT, not PEN; narrative detail is truncated to 500 characters." ] }, "operationId": "pe_oefa_sanctions_ruc", "summary": "Lookup oefa · sanctions by RUC", "description": "A sanctioned-entity case/resolution; one company can have multiple records. Coverage: Published environmental enforcement cases for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. multa_expediente is in UIT, not PEN; narrative detail is truncated to 500 characters. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20165230974" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "nombre": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "subsector": { "type": "string", "description": "Published economic subsector; a dash may represent unavailable data.", "x-latinfo-meaning": "text" }, "departamento": { "type": "string", "description": "Published department name.", "x-latinfo-meaning": "text" }, "nro_expediente": { "type": "string", "description": "Environmental enforcement case identifier.", "x-latinfo-meaning": "identifier" }, "nro_rd": { "type": "string", "description": "Directorate resolution identifier.", "x-latinfo-meaning": "identifier" }, "fecha_rd": { "type": "string", "description": "Published fecha rd date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "tipo_sancion": { "type": "string", "description": "Published sanction type, such as MULTA or AMONESTACION.", "x-latinfo-meaning": "text" }, "tipo_infraccion": { "type": "string", "description": "Published formal infraction severity; not a Latinfo score.", "x-latinfo-meaning": "text" }, "medida_dictada": { "type": "string", "description": "Published ordered measure.", "x-latinfo-meaning": "text" }, "detalle_infraccion": { "type": "string", "description": "Published infraction narrative; truncated to 500 characters by the importer.", "x-latinfo-meaning": "text" }, "multa_expediente": { "type": "string", "description": "Total fine for the environmental case, in UIT. Unit: UIT.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "UIT" } }, "required": [ "ruc", "nombre", "subsector", "departamento", "nro_expediente", "nro_rd", "fecha_rd", "tipo_sancion", "tipo_infraccion", "medida_dictada", "detalle_infraccion", "multa_expediente" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search oefa · sanctions GET /pe/oefa/sanctions/search Search the published nombre index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-oefa-sanctions", "institution": "oefa", "dataset": "sanctions", "schedule": "monthly", "scope": "Published environmental enforcement cases for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-oefa-sanctions.json", "fingerprint": "efee12fba9fba4a3dc326daa957b42d5b2bb385d6fd5c0eaefd8a2484cfbf0b5", "limitations": [ "multa_expediente is in UIT, not PEN; narrative detail is truncated to 500 characters." ] }, "operationId": "pe_oefa_sanctions_search", "summary": "Search oefa · sanctions", "description": "Search the published nombre index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "nombre": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "tipo_sancion": { "type": "string", "description": "Published sanction type, such as MULTA or AMONESTACION.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · cod-cuadernos by RUC_CONTRATISTA GET /pe/osce/cod-cuadernos/ruc_contratista/{ruc_contratista} A works notebook and contractor membership record. Coverage: Published construction notebooks associated with legal-entity contractors/consortium members. Lookup by ruc_contratista as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Repeated rows can describe consortium membership; they are not independent contracts. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-cod-cuadernos", "institution": "osce", "dataset": "cod-cuadernos", "schedule": "monthly", "scope": "Published construction notebooks associated with legal-entity contractors/consortium members.", "contract": "https://latinfo.dev/contracts/pe-osce-cod-cuadernos.json", "fingerprint": "c9ae9beb59868f5efd8c9d1bab1a5780641a900634a4326fa81f9beb66f95f74", "limitations": [ "Repeated rows can describe consortium membership; they are not independent contracts." ] }, "operationId": "pe_osce_cod_cuadernos_ruc_contratista", "summary": "Lookup osce · cod-cuadernos by RUC_CONTRATISTA", "description": "A works notebook and contractor membership record. Coverage: Published construction notebooks associated with legal-entity contractors/consortium members. Lookup by ruc_contratista as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Repeated rows can describe consortium membership; they are not independent contracts. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc_contratista", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC_CONTRATISTA in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20605501045" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc_contratista": { "type": "string", "description": "Lookup by ruc_contratista as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "contrato_id": { "type": "string", "description": "OSCE contract identifier.", "x-latinfo-meaning": "identifier" }, "razon_social_contratista": { "type": "string", "description": "Registered name of the principal contractor.", "x-latinfo-meaning": "text" }, "ruc_entidad": { "type": "string", "description": "RUC of the contracting public entity.", "x-latinfo-meaning": "identifier" }, "razon_social_entidad": { "type": "string", "description": "Name of the contracting public entity.", "x-latinfo-meaning": "text" }, "denominacion_obra": { "type": "string", "description": "Published works description.", "x-latinfo-meaning": "text" }, "cuaderno_id": { "type": "string", "description": "Works-notebook UUID.", "x-latinfo-meaning": "identifier" }, "ubigeo": { "type": "string", "description": "Six-digit INEI district code; retain leading zeros.", "x-latinfo-meaning": "code" }, "descripcion_ubigeo": { "type": "string", "description": "Published district description.", "x-latinfo-meaning": "text" }, "es_consorcio": { "type": "string", "description": "Si/No: whether a consortium executes the contract.", "x-latinfo-meaning": "text" }, "ruc_miembro": { "type": "string", "description": "Legal-entity RUC of a consortium member; natural-person RUCs are excluded.", "x-latinfo-meaning": "identifier" }, "nombre_miembro": { "type": "string", "description": "Registered consortium-member name.", "x-latinfo-meaning": "text" } }, "required": [ "ruc_contratista", "contrato_id", "razon_social_contratista", "ruc_entidad", "razon_social_entidad", "denominacion_obra", "cuaderno_id", "ubigeo", "descripcion_ubigeo", "es_consorcio", "ruc_miembro", "nombre_miembro" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · cod-cuadernos GET /pe/osce/cod-cuadernos/search Search the published razon_social_contratista index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-cod-cuadernos", "institution": "osce", "dataset": "cod-cuadernos", "schedule": "monthly", "scope": "Published construction notebooks associated with legal-entity contractors/consortium members.", "contract": "https://latinfo.dev/contracts/pe-osce-cod-cuadernos.json", "fingerprint": "c9ae9beb59868f5efd8c9d1bab1a5780641a900634a4326fa81f9beb66f95f74", "limitations": [ "Repeated rows can describe consortium membership; they are not independent contracts." ] }, "operationId": "pe_osce_cod_cuadernos_search", "summary": "Search osce · cod-cuadernos", "description": "Search the published razon_social_contratista index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "razon_social_contratista": { "type": "string", "description": "Registered name of the principal contractor.", "x-latinfo-meaning": "text" }, "razon_social_entidad": { "type": "string", "description": "Name of the contracting public entity.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · entidades by RUC GET /pe/osce/entidades/ruc/{ruc} A public buyer registration with administrative geography and internal codes. Coverage: Public contracting entities in the published OSCE directory. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Directory inclusion is not evidence of a specific procurement award. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-entidades", "institution": "osce", "dataset": "entidades", "schedule": "monthly", "scope": "Public contracting entities in the published OSCE directory.", "contract": "https://latinfo.dev/contracts/pe-osce-entidades.json", "fingerprint": "c21fc46274636336a3493c162a8376f1b064e11d349cf8c1fd655095034df6ee", "limitations": [ "Directory inclusion is not evidence of a specific procurement award." ] }, "operationId": "pe_osce_entidades_ruc", "summary": "Lookup osce · entidades by RUC", "description": "A public buyer registration with administrative geography and internal codes. Coverage: Public contracting entities in the published OSCE directory. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Directory inclusion is not evidence of a specific procurement award. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20290898685" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "nombre": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "departamento": { "type": "string", "description": "Published department name.", "x-latinfo-meaning": "text" }, "provincia": { "type": "string", "description": "Published province name.", "x-latinfo-meaning": "text" }, "distrito": { "type": "string", "description": "Published district name.", "x-latinfo-meaning": "text" }, "codigo_siaf": { "type": "string", "description": "SIAF entity code; retain leading zeros.", "x-latinfo-meaning": "code" }, "codigo_consucode": { "type": "string", "description": "OSCE internal entity code.", "x-latinfo-meaning": "identifier" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text" }, "ultima_actualizacion": { "type": "string", "description": "Published ultima actualizacion date. Format: DD/MM/YY.", "x-latinfo-meaning": "date" } }, "required": [ "ruc", "nombre", "departamento", "provincia", "distrito", "codigo_siaf", "codigo_consucode", "estado", "ultima_actualizacion" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · entidades GET /pe/osce/entidades/search Search the published nombre index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-entidades", "institution": "osce", "dataset": "entidades", "schedule": "monthly", "scope": "Public contracting entities in the published OSCE directory.", "contract": "https://latinfo.dev/contracts/pe-osce-entidades.json", "fingerprint": "c21fc46274636336a3493c162a8376f1b064e11d349cf8c1fd655095034df6ee", "limitations": [ "Directory inclusion is not evidence of a specific procurement award." ] }, "operationId": "pe_osce_entidades_search", "summary": "Search osce · entidades", "description": "Search the published nombre index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "nombre": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · fines GET /pe/osce/fines/search Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-fines", "institution": "osce", "dataset": "fines", "schedule": "weekly", "scope": "Published procurement fines for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-osce-fines.json", "fingerprint": "33dfdd9be2a8d9651405a41f2872a20f49976a0ad5d2056cb54de443138849bc", "limitations": [ "Fine amounts are PEN; absence of a row does not establish procurement clearance." ] }, "operationId": "pe_osce_fines_search", "summary": "Search osce · fines", "description": "Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · penalidades-legacy by RUC GET /pe/osce/penalidades-legacy/ruc/{ruc} A historical contract penalty; source dates retain two-digit years. Coverage: Historical contract penalties for legal-entity RUCs retained from legacy publications. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Historical coverage is not current compliance status; amounts use decimal commas in PEN. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-penalidades-legacy", "institution": "osce", "dataset": "penalidades-legacy", "schedule": "manual", "scope": "Historical contract penalties for legal-entity RUCs retained from legacy publications.", "contract": "https://latinfo.dev/contracts/pe-osce-penalidades-legacy.json", "fingerprint": "bf04ea7432afed1b9257945e7053ce3d57630b36f755420ff18da2cb47ce8b72", "limitations": [ "Historical coverage is not current compliance status; amounts use decimal commas in PEN." ] }, "operationId": "pe_osce_penalidades_legacy_ruc", "summary": "Lookup osce · penalidades-legacy by RUC", "description": "A historical contract penalty; source dates retain two-digit years. Coverage: Historical contract penalties for legal-entity RUCs retained from legacy publications. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Historical coverage is not current compliance status; amounts use decimal commas in PEN. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(C\\d{10}|L\\d{10}|\\d{11})$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20541511955" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "id_contrato": { "type": "string", "description": "OSCE contract identifier.", "x-latinfo-meaning": "identifier" }, "tipo_penalidad": { "type": "string", "description": "Published penalty category, including late delivery and other penalties.", "x-latinfo-meaning": "text" }, "objeto_contrato": { "type": "string", "description": "Published contract subject/category.", "x-latinfo-meaning": "text" }, "entidad_contratante": { "type": "string", "description": "Public buyer that applied the penalty; not the supplier name.", "x-latinfo-meaning": "text" }, "fecha_penalidad": { "type": "string", "description": "Published fecha penalidad date. Format: DD/MM/YY.", "x-latinfo-meaning": "date" }, "descripcion": { "type": "string", "description": "Published penalty reason.", "x-latinfo-meaning": "text" }, "monto": { "type": "string", "description": "Published contractual penalty amount; decimal commas are retained. Unit: PEN.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "PEN" } }, "required": [ "ruc", "id_contrato", "tipo_penalidad", "objeto_contrato", "entidad_contratante", "fecha_penalidad", "descripcion", "monto" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · penalidades-legacy GET /pe/osce/penalidades-legacy/search Search the published entidad_contratante index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-penalidades-legacy", "institution": "osce", "dataset": "penalidades-legacy", "schedule": "manual", "scope": "Historical contract penalties for legal-entity RUCs retained from legacy publications.", "contract": "https://latinfo.dev/contracts/pe-osce-penalidades-legacy.json", "fingerprint": "bf04ea7432afed1b9257945e7053ce3d57630b36f755420ff18da2cb47ce8b72", "limitations": [ "Historical coverage is not current compliance status; amounts use decimal commas in PEN." ] }, "operationId": "pe_osce_penalidades_legacy_search", "summary": "Search osce · penalidades-legacy", "description": "Search the published entidad_contratante index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "entidad_contratante": { "type": "string", "description": "Public buyer that applied the penalty; not the supplier name.", "x-latinfo-meaning": "text" }, "tipo_penalidad": { "type": "string", "description": "Published penalty category, including late delivery and other penalties.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · penalidades by RUC GET /pe/osce/penalidades/ruc/{ruc} A contract penalty, identified by contract and publication attributes. Coverage: Published contractual penalties for legal-entity suppliers. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Amounts are PEN strings and can use decimal commas; preserve contract context. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-penalidades", "institution": "osce", "dataset": "penalidades", "schedule": "weekly", "scope": "Published contractual penalties for legal-entity suppliers.", "contract": "https://latinfo.dev/contracts/pe-osce-penalidades.json", "fingerprint": "a562d9b1cecff6c1365298104bda4e9f49db516697cdb04f2d82766f5bffec97", "limitations": [ "Amounts are PEN strings and can use decimal commas; preserve contract context." ] }, "operationId": "pe_osce_penalidades_ruc", "summary": "Lookup osce · penalidades by RUC", "description": "A contract penalty, identified by contract and publication attributes. Coverage: Published contractual penalties for legal-entity suppliers. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Amounts are PEN strings and can use decimal commas; preserve contract context. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100017491" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "id_contrato": { "type": "string", "description": "OSCE contract identifier.", "x-latinfo-meaning": "identifier" }, "tipo_penalidad": { "type": "string", "description": "Published penalty category, including late delivery and other penalties.", "x-latinfo-meaning": "text" }, "objeto_contrato": { "type": "string", "description": "Published contract subject/category.", "x-latinfo-meaning": "text" }, "entidad_contratante": { "type": "string", "description": "Public buyer that applied the penalty; not the supplier name.", "x-latinfo-meaning": "text" }, "fecha_penalidad": { "type": "string", "description": "Published fecha penalidad date. Format: DD/MM/YY.", "x-latinfo-meaning": "date" }, "descripcion": { "type": "string", "description": "Published penalty reason.", "x-latinfo-meaning": "text" }, "monto": { "type": "string", "description": "Published contractual penalty amount; decimal commas are retained. Unit: PEN.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "PEN" } }, "required": [ "ruc", "id_contrato", "tipo_penalidad", "objeto_contrato", "entidad_contratante", "fecha_penalidad", "descripcion", "monto" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · penalidades GET /pe/osce/penalidades/search Search the published entidad_contratante index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-penalidades", "institution": "osce", "dataset": "penalidades", "schedule": "weekly", "scope": "Published contractual penalties for legal-entity suppliers.", "contract": "https://latinfo.dev/contracts/pe-osce-penalidades.json", "fingerprint": "a562d9b1cecff6c1365298104bda4e9f49db516697cdb04f2d82766f5bffec97", "limitations": [ "Amounts are PEN strings and can use decimal commas; preserve contract context." ] }, "operationId": "pe_osce_penalidades_search", "summary": "Search osce · penalidades", "description": "Search the published entidad_contratante index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "entidad_contratante": { "type": "string", "description": "Public buyer that applied the penalty; not the supplier name.", "x-latinfo-meaning": "text" }, "tipo_penalidad": { "type": "string", "description": "Published penalty category, including late delivery and other penalties.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · rnp-by-ruc by RUC GET /pe/osce/rnp-by-ruc/ruc/{ruc} An anonymous role and position associated with the company, with its effective-start date. Coverage: Governance/ownership-role categories for legal-entity providers in RNP publications. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Person names and document identifiers are excluded. These records cannot identify owners or beneficial owners. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-rnp-by-ruc", "institution": "osce", "dataset": "rnp-by-ruc", "schedule": "weekly", "scope": "Governance/ownership-role categories for legal-entity providers in RNP publications.", "contract": "https://latinfo.dev/contracts/pe-osce-rnp-by-ruc.json", "fingerprint": "d0445df8705a03ff5a8c98396511622888ba448301dd98bf06175472f87bdc67", "limitations": [ "Person names and document identifiers are excluded. These records cannot identify owners or beneficial owners." ] }, "operationId": "pe_osce_rnp_by_ruc_ruc", "summary": "Lookup osce · rnp-by-ruc by RUC", "description": "An anonymous role and position associated with the company, with its effective-start date. Coverage: Governance/ownership-role categories for legal-entity providers in RNP publications. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Person names and document identifiers are excluded. These records cannot identify owners or beneficial owners. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100000335" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "tipo_rol": { "type": "string", "description": "Published anonymous role category; no person name or document identifier is returned.", "x-latinfo-meaning": "text" }, "fecha_inicio_vigencia": { "type": "string", "description": "Published fecha inicio vigencia date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "forma_societaria": { "type": "string", "description": "Registered company legal form.", "x-latinfo-meaning": "text" }, "cargo": { "type": "string", "description": "Published governance position; empty when no matching position is supplied. No person identity is exposed.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "tipo_rol", "fecha_inicio_vigencia", "forma_societaria", "cargo" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · sancionados-legacy by RUC GET /pe/osce/sancionados-legacy/ruc/{ruc} A tribunal disqualification period and resolution. Coverage: Historical published disqualifications for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Historical publication does not establish that a disqualification is still in force; preserve dates and duration. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-sancionados-legacy", "institution": "osce", "dataset": "sancionados-legacy", "schedule": "weekly", "scope": "Historical published disqualifications for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-osce-sancionados-legacy.json", "fingerprint": "1fcf0661f7a012124ea48a21de12ce8f84eb0e7b8da1e0c3934250d7f9ef8a49", "limitations": [ "Historical publication does not establish that a disqualification is still in force; preserve dates and duration." ] }, "operationId": "pe_osce_sancionados_legacy_ruc", "summary": "Lookup osce · sancionados-legacy by RUC", "description": "A tribunal disqualification period and resolution. Coverage: Historical published disqualifications for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Historical publication does not establish that a disqualification is still in force; preserve dates and duration. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100994128" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "periodo": { "type": "string", "description": "Published duration or coverage-period label; interpret in this dataset.", "x-latinfo-meaning": "text" }, "date_start": { "type": "string", "description": "Published date start date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "date_end": { "type": "string", "description": "Published date end date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "resolution": { "type": "string", "description": "Published procurement tribunal resolution identifier.", "x-latinfo-meaning": "identifier" } }, "required": [ "ruc", "name", "periodo", "date_start", "date_end", "resolution" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · sancionados-legacy GET /pe/osce/sancionados-legacy/search Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-sancionados-legacy", "institution": "osce", "dataset": "sancionados-legacy", "schedule": "weekly", "scope": "Historical published disqualifications for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-osce-sancionados-legacy.json", "fingerprint": "1fcf0661f7a012124ea48a21de12ce8f84eb0e7b8da1e0c3934250d7f9ef8a49", "limitations": [ "Historical publication does not establish that a disqualification is still in force; preserve dates and duration." ] }, "operationId": "pe_osce_sancionados_legacy_search", "summary": "Search osce · sancionados-legacy", "description": "Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "periodo": { "type": "string", "description": "Published duration or coverage-period label; interpret in this dataset.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search osce · sanctioned GET /pe/osce/sanctioned/search Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-sanctioned", "institution": "osce", "dataset": "sanctioned", "schedule": "weekly", "scope": "Published procurement disqualifications for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-osce-sanctioned.json", "fingerprint": "2ec23fcb0f1180f5461ce83f20e48b43baf9279a99eaeadfd2e2bf28889d8b52", "limitations": [ "An empty end date can represent a permanent disqualification; verify the original resolution." ] }, "operationId": "pe_osce_sanctioned_search", "summary": "Search osce · sanctioned", "description": "Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup osce · valorizaciones by CONTRATO_ID GET /pe/osce/valorizaciones/contrato_id/{contrato_id} One valuation period for a contract; the identifier is not a company RUC. Coverage: Published construction valuations grouped by OSCE contract identifier. Lookup by contrato_id as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Amounts use decimal commas and the currency in tipo_moneda. Accumulated amounts must not be summed across periods. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-osce-valorizaciones", "institution": "osce", "dataset": "valorizaciones", "schedule": "monthly", "scope": "Published construction valuations grouped by OSCE contract identifier.", "contract": "https://latinfo.dev/contracts/pe-osce-valorizaciones.json", "fingerprint": "d124463bf7d186bd43f3fb4e077168fc5c3813b7aba8e44498206754930e0ed2", "limitations": [ "Amounts use decimal commas and the currency in tipo_moneda. Accumulated amounts must not be summed across periods." ] }, "operationId": "pe_osce_valorizaciones_contrato_id", "summary": "Lookup osce · valorizaciones by CONTRATO_ID", "description": "One valuation period for a contract; the identifier is not a company RUC. Coverage: Published construction valuations grouped by OSCE contract identifier. Lookup by contrato_id as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Amounts use decimal commas and the currency in tipo_moneda. Accumulated amounts must not be summed across periods. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "contrato_id", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{10}$" }, "description": "CONTRATO_ID in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "2261629" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "contrato_id": { "type": "string", "description": "Lookup by contrato_id as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "expediente_id": { "type": "string", "description": "Parent procurement file identifier.", "x-latinfo-meaning": "identifier" }, "valorizacion_id": { "type": "string", "description": "Valuation identifier.", "x-latinfo-meaning": "identifier" }, "codigo_valorizacion": { "type": "string", "description": "Formatted valuation code.", "x-latinfo-meaning": "identifier" }, "tipo_moneda": { "type": "string", "description": "Published currency label, including Soles and USD.", "x-latinfo-meaning": "text" }, "sistema_contratacion": { "type": "string", "description": "Published contracting system, including lump sum and unit prices.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text" }, "periodo": { "type": "string", "description": "Published duration or coverage-period label; interpret in this dataset.", "x-latinfo-meaning": "text" }, "avance_fisico_pct": { "type": "string", "description": "Accumulated executed physical progress; decimal commas are retained. Unit: percent.", "x-latinfo-meaning": "percentage", "x-latinfo-unit": "percent" }, "monto_valorizacion": { "type": "string", "description": "Valuation amount for this period; decimal commas are retained. Unit: currency from tipo_moneda.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "currency from tipo_moneda" }, "monto_a_pagar": { "type": "string", "description": "Net payable amount after deductions; decimal commas are retained. Unit: currency from tipo_moneda.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "currency from tipo_moneda" }, "monto_acumulado": { "type": "string", "description": "Cumulative valuation amount through this period; do not sum across periods. Unit: currency from tipo_moneda.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "currency from tipo_moneda" }, "fecha_registro": { "type": "string", "description": "Published fecha registro date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" } }, "required": [ "contrato_id", "expediente_id", "valorizacion_id", "codigo_valorizacion", "tipo_moneda", "sistema_contratacion", "estado", "periodo", "avance_fisico_pct", "monto_valorizacion", "monto_a_pagar", "monto_acumulado", "fecha_registro" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sbs · coopac by RUC GET /pe/sbs/coopac/ruc/{ruc} A cooperative registration with authorized modular and operations levels. Coverage: Legal-entity cooperatives listed in the SBS national COOPAC register. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Registration and authorized level are not a solvency assessment; modular thresholds are not actual asset amounts. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sbs-coopac", "institution": "sbs", "dataset": "coopac", "schedule": "monthly", "scope": "Legal-entity cooperatives listed in the SBS national COOPAC register.", "contract": "https://latinfo.dev/contracts/pe-sbs-coopac.json", "fingerprint": "a766a782415ae1604f726126d094f739dc066bfa03c2afea9ca1c52739a53d5b", "limitations": [ "Registration and authorized level are not a solvency assessment; modular thresholds are not actual asset amounts." ] }, "operationId": "pe_sbs_coopac_ruc", "summary": "Lookup sbs · coopac by RUC", "description": "A cooperative registration with authorized modular and operations levels. Coverage: Legal-entity cooperatives listed in the SBS national COOPAC register. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Registration and authorized level are not a solvency assessment; modular thresholds are not actual asset amounts. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20508118750" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "nombre": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "nro_registro": { "type": "string", "description": "SBS national COOPAC registration number.", "x-latinfo-meaning": "identifier" }, "fecha_registro": { "type": "string", "description": "Published fecha registro date. Format: DD/MM/YYYY.", "x-latinfo-meaning": "date" }, "nivel_modular": { "type": "string", "description": "Published modular level and asset-range thresholds in UIT; this is not the cooperative asset amount.", "x-latinfo-meaning": "text" }, "nivel_operaciones": { "type": "string", "description": "Published authorized operations level.", "x-latinfo-meaning": "text" }, "direccion": { "type": "string", "description": "Registered cooperative address.", "x-latinfo-meaning": "text" }, "referencia": { "type": "string", "description": "Published location reference, if supplied.", "x-latinfo-meaning": "text" }, "region": { "type": "string", "description": "Published Peruvian department name.", "x-latinfo-meaning": "text" }, "provincia": { "type": "string", "description": "Published province name.", "x-latinfo-meaning": "text" }, "distrito": { "type": "string", "description": "Published district name.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "nombre", "nro_registro", "fecha_registro", "nivel_modular", "nivel_operaciones", "direccion", "referencia", "region", "provincia", "distrito" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search sbs · coopac GET /pe/sbs/coopac/search Search the published nombre index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sbs-coopac", "institution": "sbs", "dataset": "coopac", "schedule": "monthly", "scope": "Legal-entity cooperatives listed in the SBS national COOPAC register.", "contract": "https://latinfo.dev/contracts/pe-sbs-coopac.json", "fingerprint": "a766a782415ae1604f726126d094f739dc066bfa03c2afea9ca1c52739a53d5b", "limitations": [ "Registration and authorized level are not a solvency assessment; modular thresholds are not actual asset amounts." ] }, "operationId": "pe_sbs_coopac_search", "summary": "Search sbs · coopac", "description": "Search the published nombre index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "nombre": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sunat · aduanet by RUC GET /pe/sunat/aduanet/ruc/{ruc} One goods series of an import/export declaration; a company can have many records. Coverage: Legal-entity declarations in the imported weekly official customs files. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. FOB is USD and net weight is kg. Do not sum repeated declarations without series/file deduplication. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-aduanet", "institution": "sunat", "dataset": "aduanet", "schedule": "weekly", "scope": "Legal-entity declarations in the imported weekly official customs files.", "contract": "https://latinfo.dev/contracts/pe-sunat-aduanet.json", "fingerprint": "d214ebefab6ebb10c88bbf7c708605e13a33448ae1660340eb19b482c7d3068b", "limitations": [ "FOB is USD and net weight is kg. Do not sum repeated declarations without series/file deduplication." ] }, "operationId": "pe_sunat_aduanet_ruc", "summary": "Lookup sunat · aduanet by RUC", "description": "One goods series of an import/export declaration; a company can have many records. Coverage: Legal-entity declarations in the imported weekly official customs files. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. FOB is USD and net weight is kg. Do not sum repeated declarations without series/file deduplication. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^20\\d{9}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20509208361" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "operation_type": { "type": "string", "description": "import for MA/MAM formats; export for X formats.", "x-latinfo-meaning": "text" }, "declaration": { "type": "string", "description": "Composite customs-office/year/declaration identifier.", "x-latinfo-meaning": "identifier" }, "customs_office": { "type": "string", "description": "ADUANET customs office code.", "x-latinfo-meaning": "code" }, "declaration_year": { "type": "string", "description": "Declaration year.", "x-latinfo-meaning": "text" }, "declaration_number": { "type": "string", "description": "Declaration number; retain leading zeros.", "x-latinfo-meaning": "identifier" }, "declaration_date": { "type": "string", "description": "Published declaration date date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "operation_date": { "type": "string", "description": "Published operation date date. Format: YYYYMMDD.", "x-latinfo-meaning": "date" }, "series": { "type": "string", "description": "Goods series within a declaration; not a distinct company.", "x-latinfo-meaning": "text" }, "hs_code": { "type": "string", "description": "Ten-digit national tariff/NANDINA code.", "x-latinfo-meaning": "code" }, "description": { "type": "string", "description": "Published description.", "x-latinfo-meaning": "text" }, "country": { "type": "string", "description": "Origin country for imports; destination country for exports.", "x-latinfo-meaning": "text" }, "fob_usd": { "type": "string", "description": "Published FOB value; no currency conversion is applied. Unit: USD.", "x-latinfo-meaning": "amount", "x-latinfo-unit": "USD" }, "net_weight_kg": { "type": "string", "description": "Published net goods weight. Unit: kg.", "x-latinfo-meaning": "quantity", "x-latinfo-unit": "kg" }, "source_file": { "type": "string", "description": "Original upstream weekly ZIP name for lineage.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "operation_type", "declaration", "customs_office", "declaration_year", "declaration_number", "declaration_date", "operation_date", "series", "hs_code", "description", "country", "fob_usd", "net_weight_kg", "source_file" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sunat · ciiu by RUC GET /pe/sunat/ciiu/ruc/{ruc} A taxpayer activity profile with declared workforce and principal geography. Coverage: Legal-entity RUCs in the published economic-activity padron. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-ciiu", "institution": "sunat", "dataset": "ciiu", "schedule": "monthly", "scope": "Legal-entity RUCs in the published economic-activity padron.", "contract": "https://latinfo.dev/contracts/pe-sunat-ciiu.json", "fingerprint": "64d6ff5b5f094bb2ab9cffb2d21e6cad8f597751e1913545850fa06c8ec7b2a1", "limitations": [ "Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code." ] }, "operationId": "pe_sunat_ciiu_ruc", "summary": "Lookup sunat · ciiu by RUC", "description": "A taxpayer activity profile with declared workforce and principal geography. Coverage: Legal-entity RUCs in the published economic-activity padron. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^20\\d{9}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100017491" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "tipo_contribuyente": { "type": "string", "description": "Published taxpayer-type label; not reliable by itself for legal/natural-person classification.", "x-latinfo-meaning": "text" }, "ciiu_principal": { "type": "string", "description": "Principal economic-activity description, Rev. 4 with Rev. 3 fallback; not a numeric activity code.", "x-latinfo-meaning": "text" }, "ciiu_r3_principal": { "type": "string", "description": "Original Rev. 3 principal economic-activity description.", "x-latinfo-meaning": "text" }, "ciiu_secundaria": { "type": "string", "description": "Original Rev. 3 secondary economic-activity description.", "x-latinfo-meaning": "text" }, "nro_trabajadores": { "type": "string", "description": "Declared workforce count, not independently verified. Unit: people.", "x-latinfo-meaning": "quantity", "x-latinfo-unit": "people" }, "comercio_exterior": { "type": "string", "description": "Published import/export activity designation.", "x-latinfo-meaning": "text" }, "sistema_contabilidad": { "type": "string", "description": "Published accounting system: manual, computerized or both.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text" }, "condicion": { "type": "string", "description": "Published fiscal-address condition; distinct from taxpayer status.", "x-latinfo-meaning": "text" }, "departamento": { "type": "string", "description": "Published department name.", "x-latinfo-meaning": "text" }, "provincia": { "type": "string", "description": "Published province name.", "x-latinfo-meaning": "text" }, "distrito": { "type": "string", "description": "Published district name.", "x-latinfo-meaning": "text" }, "ubigeo": { "type": "string", "description": "Six-digit INEI district code; retain leading zeros.", "x-latinfo-meaning": "code" } }, "required": [ "ruc", "tipo_contribuyente", "ciiu_principal", "ciiu_r3_principal", "ciiu_secundaria", "nro_trabajadores", "comercio_exterior", "sistema_contabilidad", "estado", "condicion", "departamento", "provincia", "distrito", "ubigeo" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search sunat · ciiu GET /pe/sunat/ciiu/search Search the published ciiu_principal index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-ciiu", "institution": "sunat", "dataset": "ciiu", "schedule": "monthly", "scope": "Legal-entity RUCs in the published economic-activity padron.", "contract": "https://latinfo.dev/contracts/pe-sunat-ciiu.json", "fingerprint": "64d6ff5b5f094bb2ab9cffb2d21e6cad8f597751e1913545850fa06c8ec7b2a1", "limitations": [ "Principal activity is text with Rev. 4/Rev. 3 fallback; a classification join is required before treating it as a code." ] }, "operationId": "pe_sunat_ciiu_search", "summary": "Search sunat · ciiu", "description": "Search the published ciiu_principal index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "ciiu_principal": { "type": "string", "description": "Principal economic-activity description, Rev. 4 with Rev. 3 fallback; not a numeric activity code.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search sunat · coactiva GET /pe/sunat/coactiva/search Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-coactiva", "institution": "sunat", "dataset": "coactiva", "schedule": "weekly", "scope": "Legal-entity RUCs in the published enforceable-debt list.", "contract": "https://latinfo.dev/contracts/pe-sunat-coactiva.json", "fingerprint": "becda00959fde250e13f42127638f03adeb84c8152e75c08a49400fdae8508f0", "limitations": [ "Amounts are rounded integer PEN values; no listed debt is not a tax-clearance certificate." ] }, "operationId": "pe_sunat_coactiva_search", "summary": "Search sunat · coactiva", "description": "Search the published name index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "Published entity name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string" } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sunat · locales by RUC GET /pe/sunat/locales/ruc/{ruc} One annex establishment address; a company can have several records. Coverage: Annex establishments published for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. departamento is an address/unit component, not the geographic department; resolve UBIGEO for geography. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-locales", "institution": "sunat", "dataset": "locales", "schedule": "daily", "scope": "Annex establishments published for legal-entity RUCs.", "contract": "https://latinfo.dev/contracts/pe-sunat-locales.json", "fingerprint": "35776ea82a7b1786456820e2735ef35ccf3d0d80839fc54ca894288bab2d6508", "limitations": [ "departamento is an address/unit component, not the geographic department; resolve UBIGEO for geography." ] }, "operationId": "pe_sunat_locales_ruc", "summary": "Lookup sunat · locales by RUC", "description": "One annex establishment address; a company can have several records. Coverage: Annex establishments published for legal-entity RUCs. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. departamento is an address/unit component, not the geographic department; resolve UBIGEO for geography. Returns all records as an array. Import time is not observation time; inspect freshness headers. Add limit (1–500) and offset to retrieve an explicit page; without them the complete original array is returned. X-Total-Count gives the exact row count; follow Link rel=next to retrieve all pages.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100047218" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 500 }, "description": "Optional page size. Supplying limit or offset enables explicit pagination; default page size is 100." }, { "name": "offset", "in": "query", "schema": { "type": "integer", "minimum": 0 }, "description": "Row offset, default 0. Keep the same source generation while collecting pages." }, { "name": "generation", "in": "query", "schema": { "type": "string" }, "description": "Opaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval." } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } }, "X-Total-Count": { "description": "Exact row count for this identifier when pagination is requested.", "schema": { "type": "integer" } }, "X-Page-Offset": { "schema": { "type": "integer" } }, "X-Page-Limit": { "schema": { "type": "integer" } }, "Link": { "description": "Next page URL, rel=next. Absent at the end.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "ubigeo": { "type": "string", "description": "Six-digit INEI district code; retain leading zeros.", "x-latinfo-meaning": "code" }, "tipo_via": { "type": "string", "description": "Published street-type abbreviation.", "x-latinfo-meaning": "text" }, "nombre_via": { "type": "string", "description": "Published street name.", "x-latinfo-meaning": "text" }, "codigo_zona": { "type": "string", "description": "Published zone-type abbreviation.", "x-latinfo-meaning": "text" }, "tipo_zona": { "type": "string", "description": "Published zone name.", "x-latinfo-meaning": "text" }, "numero": { "type": "string", "description": "External street number; not a count.", "x-latinfo-meaning": "text" }, "kilometro": { "type": "string", "description": "Address kilometer marker; not a measured company distance.", "x-latinfo-meaning": "text" }, "interior": { "type": "string", "description": "Interior/unit address component.", "x-latinfo-meaning": "text" }, "lote": { "type": "string", "description": "Address lot component.", "x-latinfo-meaning": "text" }, "departamento": { "type": "string", "description": "Apartment/unit address component; not the geographic department.", "x-latinfo-meaning": "text" }, "manzana": { "type": "string", "description": "Address block component.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "ubigeo", "tipo_via", "nombre_via", "codigo_zona", "tipo_zona", "numero", "kilometro", "interior", "lote", "departamento", "manzana" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "409": { "description": "Source generation changed during paginated retrieval. Restart from offset 0." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Lookup sunat · padron by RUC GET /pe/sunat/padron/ruc/{ruc} A taxpayer registration and fiscal-address components. Coverage: Legal-entity RUCs beginning with 20 in the reduced taxpayer padron. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. departamento is an apartment/unit component, not geography. Taxpayer status and fiscal-address condition are separate. Returns one record. Import time is not observation time; inspect freshness headers. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-padron", "institution": "sunat", "dataset": "padron", "schedule": "daily", "scope": "Legal-entity RUCs beginning with 20 in the reduced taxpayer padron.", "contract": "https://latinfo.dev/contracts/pe-sunat-padron.json", "fingerprint": "daea838a03ce143ee874125f304ac298b899c9aa791905454391533e71fcfe7d", "limitations": [ "departamento is an apartment/unit component, not geography. Taxpayer status and fiscal-address condition are separate." ] }, "operationId": "pe_sunat_padron_ruc", "summary": "Lookup sunat · padron by RUC", "description": "A taxpayer registration and fiscal-address components. Coverage: Legal-entity RUCs beginning with 20 in the reduced taxpayer padron. Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below. departamento is an apartment/unit component, not geography. Taxpayer status and fiscal-address condition are separate. Returns one record. Import time is not observation time; inspect freshness headers.", "parameters": [ { "name": "ruc", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d{11}$" }, "description": "RUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.", "example": "20100047218" } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "object", "properties": { "ruc": { "type": "string", "description": "Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below." }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text", "enum": [ "ACTIVO", "BAJA DEFINITIVA", "BAJA DE OFICIO", "BAJA NO ACTIV. SISEV", "BAJA PROVISIONAL", "BAJA PROV. POR OFICI", "BAJA MULT.INSCR. Y O", "SUSPENSION TEMPORAL", "ANUL.PROVI.-ACTO ILI", "ANULACION - ACTO ILI", "ANULACION - ERROR SU", "INHABILITADO-VENT.UN", "NUM. INTERNO IDENTIF", "OTROS OBLIGADOS", "PENDIENTE DE INI. DE" ], "x-latinfo-vocabulary": { "id": "pe.sunat.tax_status.v1", "scope": "TAX_REGISTRATION", "empty_policy": "reject", "values": { "ACTIVO": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "SUNAT reports the taxpayer registration as active." }, "BAJA DEFINITIVA": { "code": "CANCELLED", "label_en": "Definitively cancelled", "explanation_en": "SUNAT reports the taxpayer registration as definitively cancelled." }, "BAJA DE OFICIO": { "code": "CANCELLED", "label_en": "Cancelled by SUNAT", "explanation_en": "SUNAT reports that it cancelled the taxpayer registration on its own initiative." }, "BAJA NO ACTIV. SISEV": { "code": "CANCELLED", "label_en": "Cancelled for no activity in SISEV", "explanation_en": "SUNAT reports cancellation because no activity was recorded in the SISEV verification system." }, "BAJA PROVISIONAL": { "code": "SUSPENDED", "label_en": "Provisionally cancelled", "explanation_en": "SUNAT reports the taxpayer registration as provisionally cancelled." }, "BAJA PROV. POR OFICI": { "code": "SUSPENDED", "label_en": "Provisionally cancelled by SUNAT", "explanation_en": "SUNAT reports that it provisionally cancelled the taxpayer registration on its own initiative." }, "BAJA MULT.INSCR. Y O": { "code": "CANCELLED", "label_en": "Cancelled due to multiple registrations or another cause", "explanation_en": "SUNAT reports cancellation due to multiple registrations or another official cause." }, "SUSPENSION TEMPORAL": { "code": "SUSPENDED", "label_en": "Temporarily suspended", "explanation_en": "SUNAT reports the taxpayer registration as temporarily suspended." }, "ANUL.PROVI.-ACTO ILI": { "code": "SUSPENDED", "label_en": "Provisionally annulled for an unlawful act", "explanation_en": "SUNAT reports a provisional annulment associated with an unlawful act." }, "ANULACION - ACTO ILI": { "code": "CANCELLED", "label_en": "Annulled for an unlawful act", "explanation_en": "SUNAT reports annulment associated with an unlawful act." }, "ANULACION - ERROR SU": { "code": "CANCELLED", "label_en": "Annulled due to a SUNAT error", "explanation_en": "SUNAT reports that the taxpayer registration was annulled due to an authority error." }, "INHABILITADO-VENT.UN": { "code": "SUSPENDED", "label_en": "Disabled in the single-window system", "explanation_en": "SUNAT reports the taxpayer as disabled in the single-window system." }, "NUM. INTERNO IDENTIF": { "code": "UNKNOWN", "label_en": "Internal identification number", "explanation_en": "SUNAT classifies this record as an internal identification number; no active-state conclusion is made." }, "OTROS OBLIGADOS": { "code": "UNKNOWN", "label_en": "Other obligated party", "explanation_en": "SUNAT classifies this record as another type of obligated party; no active-state conclusion is made." }, "PENDIENTE DE INI. DE": { "code": "PENDING", "label_en": "Pending start of activities", "explanation_en": "SUNAT reports that the taxpayer is pending the start of activities." } } } }, "condicion": { "type": "string", "description": "Published fiscal-address condition; distinct from taxpayer status.", "x-latinfo-meaning": "text", "enum": [ "-", "HABIDO", "NO APLICABLE", "NO HABIDO", "NO HALLADO", "NO HALLADO CERRADO", "NO HALLADO DESTINATA", "NO HALLADO FALLECIO", "NO HALLADO NO EXISTE", "NO HALLADO NRO.PUERT", "NO HALLADO OTROS MOT", "NO HALLADO RECHAZADO", "NO HALLADO SE MUDO D", "PENDIENTE", "POR VERIFICAR" ] }, "ubigeo": { "type": "string", "description": "Six-digit INEI district code; retain leading zeros.", "x-latinfo-meaning": "code" }, "tipo_via": { "type": "string", "description": "Published street-type abbreviation.", "x-latinfo-meaning": "text" }, "nombre_via": { "type": "string", "description": "Published street name.", "x-latinfo-meaning": "text" }, "codigo_zona": { "type": "string", "description": "Published zone-type abbreviation.", "x-latinfo-meaning": "text" }, "tipo_zona": { "type": "string", "description": "Published zone name.", "x-latinfo-meaning": "text" }, "numero": { "type": "string", "description": "External street number; not a count.", "x-latinfo-meaning": "text" }, "interior": { "type": "string", "description": "Interior/unit address component.", "x-latinfo-meaning": "text" }, "lote": { "type": "string", "description": "Address lot component.", "x-latinfo-meaning": "text" }, "departamento": { "type": "string", "description": "Apartment/unit address component; not the geographic department.", "x-latinfo-meaning": "text" }, "manzana": { "type": "string", "description": "Address block component.", "x-latinfo-meaning": "text" }, "kilometro": { "type": "string", "description": "Address kilometer marker; not a measured company distance.", "x-latinfo-meaning": "text" } }, "required": [ "ruc", "razon_social", "estado", "condicion", "ubigeo", "tipo_via", "nombre_via", "codigo_zona", "tipo_zona", "numero", "interior", "lote", "departamento", "manzana", "kilometro" ], "additionalProperties": false } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Search sunat · padron GET /pe/sunat/padron/search Search the published razon_social index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence. Contract: ```json { "tags": [ "Peru" ], "security": [ { "bearerAuth": [] } ], "x-latinfo-source": { "name": "pe-sunat-padron", "institution": "sunat", "dataset": "padron", "schedule": "daily", "scope": "Legal-entity RUCs beginning with 20 in the reduced taxpayer padron.", "contract": "https://latinfo.dev/contracts/pe-sunat-padron.json", "fingerprint": "daea838a03ce143ee874125f304ac298b899c9aa791905454391533e71fcfe7d", "limitations": [ "departamento is an apartment/unit component, not geography. Taxpayer status and fiscal-address condition are separate." ] }, "operationId": "pe_sunat_padron_search", "summary": "Search sunat · padron", "description": "Search the published razon_social index. Results are candidates, not confirmed identity matches. Confirm the country and identifier before fetching a profile. An empty list is not proof of absence.", "parameters": [ { "name": "q", "in": "query", "required": true, "description": "Name query, 3–200 characters.", "schema": { "type": "string", "minLength": 3, "maxLength": 200 } } ], "responses": { "200": { "description": "Published source records. Missing data is not a clearance or a negative finding.", "headers": { "X-Latinfo-Imported-At": { "description": "Import time, not the date of the government observation.", "schema": { "type": "string", "format": "date-time" } }, "X-Source-Updated-At": { "description": "Publisher update time, when known.", "schema": { "type": "string", "format": "date-time" } }, "X-Latest-Observation-At": { "description": "Latest date in returned records, when known.", "schema": { "type": "string", "format": "date" } }, "X-Freshness-Status": { "schema": { "type": "string", "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] } }, "X-Credits-Cost": { "description": "Actual credits charged for this request.", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "razon_social": { "type": "string", "description": "Registered legal name.", "x-latinfo-meaning": "text" }, "estado": { "type": "string", "description": "Publisher status; interpret in the context of this dataset.", "x-latinfo-meaning": "text", "enum": [ "ACTIVO", "BAJA DEFINITIVA", "BAJA DE OFICIO", "BAJA NO ACTIV. SISEV", "BAJA PROVISIONAL", "BAJA PROV. POR OFICI", "BAJA MULT.INSCR. Y O", "SUSPENSION TEMPORAL", "ANUL.PROVI.-ACTO ILI", "ANULACION - ACTO ILI", "ANULACION - ERROR SU", "INHABILITADO-VENT.UN", "NUM. INTERNO IDENTIF", "OTROS OBLIGADOS", "PENDIENTE DE INI. DE" ], "x-latinfo-vocabulary": { "id": "pe.sunat.tax_status.v1", "scope": "TAX_REGISTRATION", "empty_policy": "reject", "values": { "ACTIVO": { "code": "ACTIVE", "label_en": "Active", "explanation_en": "SUNAT reports the taxpayer registration as active." }, "BAJA DEFINITIVA": { "code": "CANCELLED", "label_en": "Definitively cancelled", "explanation_en": "SUNAT reports the taxpayer registration as definitively cancelled." }, "BAJA DE OFICIO": { "code": "CANCELLED", "label_en": "Cancelled by SUNAT", "explanation_en": "SUNAT reports that it cancelled the taxpayer registration on its own initiative." }, "BAJA NO ACTIV. SISEV": { "code": "CANCELLED", "label_en": "Cancelled for no activity in SISEV", "explanation_en": "SUNAT reports cancellation because no activity was recorded in the SISEV verification system." }, "BAJA PROVISIONAL": { "code": "SUSPENDED", "label_en": "Provisionally cancelled", "explanation_en": "SUNAT reports the taxpayer registration as provisionally cancelled." }, "BAJA PROV. POR OFICI": { "code": "SUSPENDED", "label_en": "Provisionally cancelled by SUNAT", "explanation_en": "SUNAT reports that it provisionally cancelled the taxpayer registration on its own initiative." }, "BAJA MULT.INSCR. Y O": { "code": "CANCELLED", "label_en": "Cancelled due to multiple registrations or another cause", "explanation_en": "SUNAT reports cancellation due to multiple registrations or another official cause." }, "SUSPENSION TEMPORAL": { "code": "SUSPENDED", "label_en": "Temporarily suspended", "explanation_en": "SUNAT reports the taxpayer registration as temporarily suspended." }, "ANUL.PROVI.-ACTO ILI": { "code": "SUSPENDED", "label_en": "Provisionally annulled for an unlawful act", "explanation_en": "SUNAT reports a provisional annulment associated with an unlawful act." }, "ANULACION - ACTO ILI": { "code": "CANCELLED", "label_en": "Annulled for an unlawful act", "explanation_en": "SUNAT reports annulment associated with an unlawful act." }, "ANULACION - ERROR SU": { "code": "CANCELLED", "label_en": "Annulled due to a SUNAT error", "explanation_en": "SUNAT reports that the taxpayer registration was annulled due to an authority error." }, "INHABILITADO-VENT.UN": { "code": "SUSPENDED", "label_en": "Disabled in the single-window system", "explanation_en": "SUNAT reports the taxpayer as disabled in the single-window system." }, "NUM. INTERNO IDENTIF": { "code": "UNKNOWN", "label_en": "Internal identification number", "explanation_en": "SUNAT classifies this record as an internal identification number; no active-state conclusion is made." }, "OTROS OBLIGADOS": { "code": "UNKNOWN", "label_en": "Other obligated party", "explanation_en": "SUNAT classifies this record as another type of obligated party; no active-state conclusion is made." }, "PENDIENTE DE INI. DE": { "code": "PENDING", "label_en": "Pending start of activities", "explanation_en": "SUNAT reports that the taxpayer is pending the start of activities." } } } } } } } } } }, "400": { "description": "Invalid identifier or query. Correct the input before retrying." }, "401": { "description": "Missing or invalid API key. Authenticate before retrying." }, "404": { "description": "No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist." }, "429": { "description": "Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying." }, "503": { "description": "Source unavailable. Report unavailable, not an empty result." } } } ``` ## Shared response schemas Local $ref values in operation contracts resolve against these schemas. ```json { "UniversalCompanyProfileV1": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "activities": { "type": "array", "items": { "type": "object", "properties": { "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "international": { "anyOf": [ { "type": "object", "properties": { "code": { "type": "string" }, "description": { "type": "string" }, "level": { "enum": [ "CLASS", "DIVISION", "GROUP", "SECTION" ] }, "mapping_method": { "enum": [ "OFFICIAL_CROSSWALK", "REVIEWED_CROSSWALK" ] }, "mapping_relation": { "enum": [ "APPROXIMATE", "EXACT", "MANY_TO_ONE", "ONE_TO_MANY" ] }, "revision": { "const": "4" }, "system": { "const": "ISIC_REV4" } }, "required": [ "code", "description", "level", "mapping_method", "mapping_relation", "revision", "system" ], "additionalProperties": false }, { "type": "null" } ] }, "local": { "type": "object", "properties": { "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "revision": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "system": { "type": "string" } }, "required": [ "code", "description", "revision", "system" ], "additionalProperties": false }, "role": { "enum": [ "OTHER", "PRIMARY", "SECONDARY" ] } }, "required": [ "evidence_refs", "id", "international", "local", "role" ], "additionalProperties": false } }, "addresses": { "type": "array", "items": { "type": "object", "properties": { "administrative_area": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "country": { "enum": [ "AR", "BO", "BR", "CL", "CO", "EC", "PE", "PY" ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "full_address": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "id": { "type": "string" }, "line_1": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "line_2": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "local_subdivision_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "locality": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "postal_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "raw": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": { "enum": [ "FACILITY", "FISCAL", "OPERATING", "OTHER", "REGISTERED" ] } }, "required": [ "administrative_area", "country", "evidence_refs", "full_address", "id", "line_1", "line_2", "local_subdivision_code", "locality", "postal_code", "raw", "type" ], "additionalProperties": false } }, "company": { "type": "object", "properties": { "country": { "type": "object", "properties": { "code": { "enum": [ "AR", "BO", "BR", "CL", "CO", "EC", "PE", "PY" ] }, "name": { "type": "string" } }, "required": [ "code", "name" ], "additionalProperties": false }, "entity_type": { "enum": [ "GOVERNMENT_ENTITY", "LEGAL_ENTITY", "ORGANIZATION" ] }, "id": { "type": "string" }, "incorporation_date": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "legal_name": { "type": "string" }, "primary_status": { "anyOf": [ { "type": "object", "properties": { "code": { "enum": [ "ACTIVE", "CANCELLED", "DISSOLVED", "INACTIVE", "PENDING", "SUSPENDED", "UNKNOWN" ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "scope": { "enum": [ "COMMERCIAL_REGISTRATION", "FACILITY", "LEGAL_ENTITY", "PROCUREMENT_SUPPLIER_REGISTRATION", "REGULATORY_REGISTRATION", "TAX_REGISTRATION" ] } }, "required": [ "code", "evidence_refs", "scope" ], "additionalProperties": false }, { "type": "null" } ] }, "trade_names": { "type": "array", "items": { "type": "string" } } }, "required": [ "country", "entity_type", "id", "incorporation_date", "legal_name", "primary_status", "trade_names" ], "additionalProperties": false }, "contacts": { "type": "object", "properties": { "emails": { "type": "array", "items": { "type": "object", "properties": { "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "reporting_basis": { "enum": [ "COMPANY_DECLARED_TO_AUTHORITY", "LATINFO_DERIVED", "OFFICIAL_PUBLICATION", "OFFICIAL_REGISTRY", "THIRD_PARTY_DECLARED_TO_AUTHORITY" ] }, "role": { "enum": [ "COMPANY_CONTACT", "LEGAL_REPRESENTATIVE", "OTHER", "PROCUREMENT_CONTACT" ] }, "value": { "type": "string" }, "verification": { "enum": [ "NOT_INDEPENDENTLY_VERIFIED", "UNKNOWN", "VERIFIED" ] } }, "required": [ "evidence_refs", "id", "reporting_basis", "role", "value", "verification" ], "additionalProperties": false } }, "phones": { "type": "array", "items": { "type": "object", "properties": { "country_calling_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "format": { "enum": [ "E164", "LOCAL" ] }, "id": { "type": "string" }, "raw_value": { "type": "string" }, "reporting_basis": { "enum": [ "COMPANY_DECLARED_TO_AUTHORITY", "LATINFO_DERIVED", "OFFICIAL_PUBLICATION", "OFFICIAL_REGISTRY", "THIRD_PARTY_DECLARED_TO_AUTHORITY" ] }, "role": { "enum": [ "COMPANY_CONTACT", "LEGAL_REPRESENTATIVE", "OTHER", "PROCUREMENT_CONTACT" ] }, "type": { "enum": [ "LANDLINE", "MOBILE", "TOLL_FREE", "UNKNOWN" ] }, "value": { "type": "string" }, "verification": { "enum": [ "NOT_INDEPENDENTLY_VERIFIED", "UNKNOWN", "VERIFIED" ] } }, "required": [ "country_calling_code", "evidence_refs", "format", "id", "raw_value", "reporting_basis", "role", "type", "value", "verification" ], "additionalProperties": false } }, "websites": { "type": "array", "items": { "type": "object", "properties": { "domain": { "type": "string" }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "reporting_basis": { "enum": [ "COMPANY_DECLARED_TO_AUTHORITY", "LATINFO_DERIVED", "OFFICIAL_PUBLICATION", "OFFICIAL_REGISTRY", "THIRD_PARTY_DECLARED_TO_AUTHORITY" ] }, "url": { "type": "string" }, "verification": { "enum": [ "NOT_INDEPENDENTLY_VERIFIED", "UNKNOWN", "VERIFIED" ] } }, "required": [ "domain", "evidence_refs", "id", "reporting_basis", "url", "verification" ], "additionalProperties": false } } }, "required": [ "emails", "phones", "websites" ], "additionalProperties": false }, "coverage": { "type": "object", "properties": { "activities": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "addresses": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "contacts": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "customs": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "debts": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "extensions": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "facilities": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "identity": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "public_procurement": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "registrations": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "relationships": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "representatives": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "sanctions": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "statuses": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false }, "supervision": { "type": "object", "properties": { "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "sources_checked": { "type": "array", "items": { "type": "string" } }, "status": { "enum": [ "AVAILABLE", "NOT_REQUESTED", "NOT_SUPPORTED", "NO_RECORDS", "PARTIAL", "SOURCE_UNAVAILABLE" ] } }, "required": [ "data_as_of", "sources_checked", "status" ], "additionalProperties": false } }, "required": [ "activities", "addresses", "contacts", "customs", "debts", "extensions", "facilities", "identity", "public_procurement", "registrations", "relationships", "representatives", "sanctions", "statuses", "supervision" ], "additionalProperties": false }, "customs": { "type": "object", "properties": { "operations": { "type": "array", "items": { "type": "object", "properties": { "declaration": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "fob_usd": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "hs_code": { "type": "string" }, "id": { "type": "string" }, "net_weight_kg": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "operation_date": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "operation_type": { "enum": [ "EXPORT", "IMPORT" ] }, "partner_country": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "declaration", "description", "evidence_refs", "fob_usd", "hs_code", "id", "net_weight_kg", "operation_date", "operation_type", "partner_country" ], "additionalProperties": false } }, "summary": { "anyOf": [ { "type": "object", "properties": { "first_operation_date": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "last_operation_date": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "operation_count": { "type": "integer", "minimum": 0 }, "total_fob_usd": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "total_net_weight_kg": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "first_operation_date", "last_operation_date", "operation_count", "total_fob_usd", "total_net_weight_kg" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "operations", "summary" ], "additionalProperties": false }, "debts": { "type": "array", "items": { "type": "object", "properties": { "amount": { "anyOf": [ { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } }, "required": [ "amount", "currency" ], "additionalProperties": false }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "observed_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "status": { "enum": [ "PUBLISHED", "SETTLED", "UNKNOWN" ] }, "type": { "type": "string" } }, "required": [ "amount", "evidence_refs", "id", "observed_at", "status", "type" ], "additionalProperties": false } }, "evidence": { "type": "array", "items": { "type": "object", "properties": { "claims": { "type": "array", "items": { "type": "string", "pattern": "^[^\\[\\]]+$" } }, "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "id": { "type": "string" }, "license": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "publisher": { "type": "object", "properties": { "acronym": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "country": { "type": "string" }, "local_name": { "type": "string" } }, "required": [ "acronym", "country", "local_name" ], "additionalProperties": false }, "reporting_basis": { "enum": [ "COMPANY_DECLARED_TO_AUTHORITY", "LATINFO_DERIVED", "OFFICIAL_PUBLICATION", "OFFICIAL_REGISTRY", "THIRD_PARTY_DECLARED_TO_AUTHORITY" ] }, "retrieved_at": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$" }, "source_id": { "type": "string" }, "source_record": { "type": "object" }, "verification_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "claims", "data_as_of", "id", "license", "publisher", "reporting_basis", "retrieved_at", "source_id", "source_record", "verification_url" ], "additionalProperties": false } }, "extensions": { "type": "object" }, "facilities": { "type": "array", "items": { "type": "object", "properties": { "address": { "anyOf": [ { "type": "object", "properties": { "administrative_area": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "country": { "enum": [ "AR", "BO", "BR", "CL", "CO", "EC", "PE", "PY" ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "full_address": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "id": { "type": "string" }, "line_1": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "line_2": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "local_subdivision_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "locality": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "postal_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "raw": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": { "enum": [ "FACILITY", "FISCAL", "OPERATING", "OTHER", "REGISTERED" ] } }, "required": [ "administrative_area", "country", "evidence_refs", "full_address", "id", "line_1", "line_2", "local_subdivision_code", "locality", "postal_code", "raw", "type" ], "additionalProperties": false }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": { "type": "string" } }, "required": [ "address", "evidence_refs", "id", "name", "status", "type" ], "additionalProperties": false } }, "identifiers": { "type": "array", "items": { "type": "object", "properties": { "check_digit": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "country": { "enum": [ "AR", "BO", "BR", "CL", "CO", "EC", "PE", "PY" ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "formatted": { "type": "string" }, "local_name": { "type": "string" }, "scheme": { "enum": [ "AR_CUIT", "BO_NIT", "BR_CNPJ", "CL_RUT", "CO_NIT", "EC_RUC", "PE_RUC", "PY_RUC" ] }, "type": { "const": "TAX_ID" }, "value": { "type": "string" } }, "required": [ "check_digit", "country", "evidence_refs", "formatted", "local_name", "scheme", "type", "value" ], "additionalProperties": false } }, "meta": { "type": "object", "properties": { "credits_charged": { "type": "integer", "minimum": 0 }, "generated_at": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$" }, "locale": { "type": "string" }, "partial": { "type": "boolean" }, "request_id": { "type": "string" }, "requested_modules": { "type": "array", "items": { "type": "string" } } }, "required": [ "credits_charged", "generated_at", "locale", "partial", "request_id", "requested_modules" ], "additionalProperties": false }, "public_procurement": { "type": "object", "properties": { "processes": { "type": "array", "items": { "type": "object", "properties": { "amount": { "anyOf": [ { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } }, "required": [ "amount", "currency" ], "additionalProperties": false }, { "type": "null" } ] }, "date": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "role": { "enum": [ "BUYER", "CONSORTIUM_MEMBER", "OTHER", "SUPPLIER" ] }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "amount", "date", "evidence_refs", "id", "role", "status", "title" ], "additionalProperties": false } }, "supplier_registrations": { "type": "array", "items": { "type": "object", "properties": { "authority_name": { "type": "string" }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "local_name": { "type": "string" }, "registered_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "status": { "enum": [ "ACTIVE", "CANCELLED", "INACTIVE", "SUSPENDED", "UNKNOWN" ] } }, "required": [ "authority_name", "evidence_refs", "id", "local_name", "registered_at", "status" ], "additionalProperties": false } } }, "required": [ "processes", "supplier_registrations" ], "additionalProperties": false }, "registrations": { "type": "array", "items": { "type": "object", "properties": { "authority": { "type": "object", "properties": { "country": { "enum": [ "AR", "BO", "BR", "CL", "CO", "EC", "PE", "PY" ] }, "local_name": { "type": "string" }, "name": { "type": "string" } }, "required": [ "country", "local_name", "name" ], "additionalProperties": false }, "event": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "is_current": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "number": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "raw_status": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "registered_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "renewed_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "status": { "enum": [ "ACTIVE", "CANCELLED", "INACTIVE", "PENDING", "SUSPENDED", "UNKNOWN" ] }, "type": { "enum": [ "COMMERCIAL_REGISTRATION", "OTHER", "PUBLIC_PROCUREMENT_SUPPLIER", "REGULATORY_REGISTRATION", "TAX_REGISTRATION" ] } }, "required": [ "authority", "event", "evidence_refs", "id", "is_current", "number", "raw_status", "registered_at", "renewed_at", "status", "type" ], "additionalProperties": false } }, "relationships": { "type": "array", "items": { "type": "object", "properties": { "effective_from": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "effective_to": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "subject_identifier": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "subject_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": { "type": "string" } }, "required": [ "effective_from", "effective_to", "evidence_refs", "id", "subject_identifier", "subject_name", "type" ], "additionalProperties": false } }, "representatives": { "type": "array", "items": { "type": "object", "properties": { "effective_from": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "effective_to": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "is_current": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "name": { "type": "string" }, "role": { "type": "string" } }, "required": [ "effective_from", "effective_to", "evidence_refs", "id", "is_current", "name", "role" ], "additionalProperties": false } }, "sanctions": { "type": "array", "items": { "type": "object", "properties": { "amount": { "anyOf": [ { "type": "object", "properties": { "amount": { "type": "string" }, "currency": { "type": "string" } }, "required": [ "amount", "currency" ], "additionalProperties": false }, { "type": "null" } ] }, "authority_name": { "type": "string" }, "decision_date": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "decision_reference": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "effective_from": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "effective_to": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "raw_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "status": { "enum": [ "ACTIVE", "COMPLETED", "EXPIRED", "UNKNOWN" ] }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": { "type": "string" } }, "required": [ "amount", "authority_name", "decision_date", "decision_reference", "effective_from", "effective_to", "evidence_refs", "id", "raw_type", "status", "title", "type" ], "additionalProperties": false } }, "schema_version": { "const": "1.0" }, "sources": { "type": "array", "items": { "type": "object", "properties": { "coverage": { "type": "object", "properties": { "from": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "to": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] } }, "required": [ "from", "to" ], "additionalProperties": false }, "data_as_of": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "dataset_name": { "type": "string" }, "expected_update_frequency": { "enum": [ "DAILY", "MANUAL", "MONTHLY", "UNKNOWN", "WEEKLY", "YEARLY" ] }, "freshness": { "enum": [ "CURRENT", "DELAYED", "STALE", "UNKNOWN" ] }, "id": { "type": "string" }, "last_imported_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$" }, { "type": "null" } ] }, "latest_observation_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "publisher_name": { "type": "string" }, "reporting_basis": { "enum": [ "COMPANY_DECLARED_TO_AUTHORITY", "LATINFO_DERIVED", "OFFICIAL_PUBLICATION", "OFFICIAL_REGISTRY", "THIRD_PARTY_DECLARED_TO_AUTHORITY" ] }, "source_updated_at": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$" }, { "type": "null" } ] }, "verification_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "coverage", "data_as_of", "dataset_name", "expected_update_frequency", "freshness", "id", "last_imported_at", "latest_observation_at", "publisher_name", "reporting_basis", "source_updated_at", "verification_url" ], "additionalProperties": false } }, "statuses": { "type": "array", "items": { "type": "object", "properties": { "code": { "enum": [ "ACTIVE", "CANCELLED", "DISSOLVED", "INACTIVE", "PENDING", "SUSPENDED", "UNKNOWN" ] }, "effective_from": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "effective_to": { "anyOf": [ { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, { "type": "null" } ] }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "explanation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "id": { "type": "string" }, "label": { "type": "string" }, "raw": { "type": "object", "properties": { "language": { "type": "string" }, "value": { "type": "string" } }, "required": [ "language", "value" ], "additionalProperties": false }, "scope": { "enum": [ "COMMERCIAL_REGISTRATION", "FACILITY", "LEGAL_ENTITY", "PROCUREMENT_SUPPLIER_REGISTRATION", "REGULATORY_REGISTRATION", "TAX_REGISTRATION" ] } }, "required": [ "code", "effective_from", "effective_to", "evidence_refs", "explanation", "id", "label", "raw", "scope" ], "additionalProperties": false } }, "supervision": { "type": "array", "items": { "type": "object", "properties": { "authority_name": { "type": "string" }, "evidence_refs": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "registration_type": { "type": "string" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "authority_name", "evidence_refs", "id", "registration_type", "status" ], "additionalProperties": false } } }, "required": [ "activities", "addresses", "company", "contacts", "coverage", "customs", "debts", "evidence", "extensions", "facilities", "identifiers", "meta", "public_procurement", "registrations", "relationships", "representatives", "sanctions", "schema_version", "sources", "statuses", "supervision" ], "additionalProperties": false }, "ChileanCompany": { "type": "object", "description": "Source: SII Chile PUB_NOMBRES_PJ. Legal entities only.", "properties": { "rut": { "type": "string", "description": "RUT (body+DV, no dash)", "example": "500093501" }, "razon_social": { "type": "string", "description": "Company name as registered with SII", "example": "MENESES ARQUITECTOS ASOCIADOS LIMITADA" }, "cod_subtipo": { "type": "string", "description": "SII entity subtype code (211=SRL, 213=SAC, 223=SpA)", "example": "211" }, "fecha_inicio_actividades": { "type": "string", "description": "Activity start date (DD-MM-YYYY)", "example": "01-01-1993" }, "fecha_termino_giro": { "type": "string", "description": "Business termination date (DD-MM-YYYY), empty if active", "example": "" }, "estado": { "type": "string", "description": "ACTIVA or TERMINADA (derived from termination date)", "example": "ACTIVA" } } }, "ParaguayanCompany": { "type": "object", "description": "Source: DNIT Paraguay, Listado de RUC con sus equivalencias. Series-80 legal entities and legal structures only.", "properties": { "legal_name": { "type": "string", "description": "Registered name published by DNIT", "example": "ADMINISTRACION NACIONAL DE ELECTRICIDAD - ANDE" }, "status": { "type": "string", "enum": [ "ACTIVO", "BLOQUEADO", "CANCELADO", "SUSPENSION TEMPORAL" ], "example": "ACTIVO" }, "check_digit": { "type": "string", "pattern": "^\\d$", "example": "1" }, "previous_ruc": { "type": "string", "description": "Legacy RUC equivalence when published", "example": "ANEG647250M" } } }, "BritishCompany": { "type": "object", "description": "Source: Companies House Free Company Data Product. Legal-entity projection only.", "properties": { "legal_name": { "type": "string", "example": "TESCO PLC" }, "status": { "type": "string", "example": "Active" }, "company_category": { "type": "string", "example": "Public Limited Company" }, "incorporation_date": { "type": "string", "example": "27/11/1947" }, "sic_code_1": { "type": "string", "example": "47110 - Retail sale in non-specialised stores with food, beverages or tobacco predominating" }, "sic_code_2": { "type": "string" }, "sic_code_3": { "type": "string" }, "sic_code_4": { "type": "string" } }, "required": [ "legal_name", "status", "company_category", "incorporation_date", "sic_code_1", "sic_code_2", "sic_code_3", "sic_code_4" ] }, "BolivianCompany": { "type": "object", "description": "Source: SEPREC Bolivia, public Registro de Comercio directory. Closed legal-entity allowlist; Empresa Unipersonal excluded.", "properties": { "legal_name": { "type": "string", "description": "Registered company name", "example": "YPFB ANDINA S.A." }, "status": { "type": "string", "enum": [ "ACTIVO", "CANCELADO", "CREADO", "INACTIVO" ], "example": "ACTIVO" }, "renewal_status": { "type": "string", "enum": [ "MATRICULA RENOVADA", "MATRICULA NO RENOVADA" ], "example": "MATRICULA RENOVADA" }, "legal_type": { "type": "string", "example": "SOCIEDAD ANONIMA" }, "legal_type_code": { "type": "string", "pattern": "^\\d{2}$", "example": "07" }, "previous_registration": { "type": "string" }, "seprec_entity_id": { "type": "string" }, "original_nit": { "type": "string", "pattern": "^\\d{5,12}$", "example": "1028349027" } } }, "ColombianCompany": { "type": "object", "description": "Source: datos.gov.co / CONFECÁMARAS, CC BY-SA 4.0. Juridical entities only.", "properties": { "nit": { "type": "string", "description": "NIT (10 digits, zero-padded)", "example": "0860002964" }, "razon_social": { "type": "string", "description": "Business name", "example": "BANCO DE BOGOTA" }, "estado_matricula": { "type": "string", "description": "Registration status", "example": "ACTIVA" }, "organizacion_juridica": { "type": "string", "description": "Legal organization type", "example": "SOCIEDAD ANONIMA" }, "cod_ciiu_act_econ_pri": { "type": "string", "description": "Primary CIIU economic activity code", "example": "6412" }, "fecha_matricula": { "type": "string", "description": "Registration date (YYYYMMDD)", "example": "19841012" }, "camara_comercio": { "type": "string", "description": "Chamber of commerce code", "example": "08" }, "representante_legal": { "type": "string", "description": "Legal representative name" }, "sigla": { "type": "string", "description": "Registered acronym", "example": "ECP" }, "tipo_sociedad": { "type": "string", "description": "Company subtype", "example": "SOCIEDAD COMERCIAL" }, "fecha_renovacion": { "type": "string", "description": "Last renewal date (YYYYMMDD)", "example": "20250313" } } }, "ColombianSecop2Provider": { "type": "object", "description": "Juridical provider registration from Colombia Compra Eficiente SECOP II. Contact fields are organization channels declared by the provider and are not independently verified by Latinfo.", "properties": { "nit": { "type": "string", "description": "Canonical 10-digit NIT body", "example": "0890903938" }, "provider_code": { "type": "string", "example": "702504804" }, "company_name": { "type": "string", "example": "BANCOLOMBIA" }, "active": { "type": "string", "example": "Si" }, "created_at": { "type": "string", "format": "date-time", "example": "2017-08-28T00:00:00.000" }, "category_code": { "type": "string" }, "category_description": { "type": "string" }, "phone": { "type": "string", "example": "4881822" }, "fax": { "type": "string" }, "email": { "type": "string", "example": "CSEGOVIA@BANCOLOMBIA.COM.CO" }, "address": { "type": "string", "example": "CARRERA 7 NO. 6-39" }, "country": { "type": "string", "example": "CO" }, "department": { "type": "string", "example": "DISTRITO CAPITAL DE BOGOTA" }, "municipality": { "type": "string", "example": "BOGOTA" }, "website": { "type": "string" }, "company_type": { "type": "string", "example": "SOCIEDAD ANONIMA ABIERTA COLOMBIANA" }, "is_sme": { "type": "string", "example": "NO" }, "location_code": { "type": "string", "example": "CO-DC-11001" } } }, "Company": { "type": "object", "properties": { "ruc": { "type": "string", "description": "RUC number (11 digits)", "example": "20100047218" }, "razon_social": { "type": "string", "description": "Business name", "example": "BANCO DE CREDITO DEL PERU" }, "estado": { "type": "string", "description": "Tax status", "example": "ACTIVO" }, "condicion": { "type": "string", "description": "Domicile condition", "example": "HABIDO" }, "ubigeo": { "type": "string", "description": "Location code (6 digits)", "example": "150114" }, "tipo_via": { "type": "string", "description": "Street type", "example": "JR." }, "nombre_via": { "type": "string", "description": "Street name", "example": "CENTENARIO" }, "codigo_zona": { "type": "string", "description": "Zone code", "example": "URB." }, "tipo_zona": { "type": "string", "description": "Zone type", "example": "LADERAS DE MELGAREJO" }, "numero": { "type": "string", "description": "Street number", "example": "156" }, "interior": { "type": "string", "description": "Interior/apartment", "example": "-" }, "lote": { "type": "string", "description": "Lot", "example": "-" }, "departamento": { "type": "string", "description": "Department", "example": "-" }, "manzana": { "type": "string", "description": "Block", "example": "-" }, "kilometro": { "type": "string", "description": "Kilometer marker", "example": "-" } } }, "Licitacion": { "type": "object", "description": "OCDS 1.1 compiledRelease record with Latinfo-added url field", "properties": { "ocid": { "type": "string", "description": "Open Contracting ID", "example": "ocds-dgv273-seacev3-2026-273-3" }, "date": { "type": "string", "format": "date-time", "description": "Compilation date" }, "url": { "type": "string", "format": "uri", "description": "Link to official OECE portal", "example": "https://contratacionesabiertas.oece.gob.pe/proceso/ocds-dgv273-seacev3-2026-273-3" }, "buyer": { "type": "object", "properties": { "id": { "type": "string", "example": "PE-CONSUCODE-273" }, "name": { "type": "string", "example": "MUNICIPALIDAD DISTRITAL DE MORO" } } }, "tender": { "type": "object", "properties": { "title": { "type": "string", "description": "Short tender title" }, "description": { "type": "string", "description": "Full tender description" }, "datePublished": { "type": "string", "format": "date-time" }, "value": { "type": "object", "properties": { "amount": { "type": "number", "example": 64815.55 }, "currency": { "type": "string", "example": "PEN" } } }, "mainProcurementCategory": { "type": "string", "enum": [ "goods", "services", "works" ] }, "procurementMethodDetails": { "type": "string", "example": "Concurso Público Abreviado" }, "tenderPeriod": { "type": "object", "properties": { "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" } } }, "items": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": "string" }, "statusDetails": { "type": "string", "enum": [ "CONVOCADO", "CONTRATADO", "DESIERTO", "NULO", "CONSENTIDO" ] } } } }, "documents": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "url": { "type": "string", "format": "uri" } } } } } }, "awards": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string" }, "value": { "type": "object", "properties": { "amount": { "type": "number" }, "currency": { "type": "string" } } }, "suppliers": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" } } } } } } }, "contracts": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string" }, "value": { "type": "object", "properties": { "amount": { "type": "number" } } }, "period": { "type": "object", "properties": { "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" } } } } } }, "planning": { "type": "object", "properties": { "budget": { "type": "object", "properties": { "amount": { "type": "object", "properties": { "amount": { "type": "number" }, "currency": { "type": "string" } } } } } } } } }, "TendersByRucResponse": { "type": "object", "properties": { "ruc": { "type": "string", "example": "20100047218" }, "total": { "type": "integer", "description": "Total records associated with the RUC", "example": 128 }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/Licitacion" } } } }, "TenderRecommendationsResponse": { "type": "object", "properties": { "ruc": { "type": "string", "example": "20100047218" }, "count": { "type": "integer", "description": "Number of recommendations returned", "example": 15 }, "recos": { "type": "array", "items": { "type": "object", "properties": { "ocid": { "type": "string", "example": "ocds-dgv273-seacev3-1227219" }, "score": { "type": "number", "example": 0.844 }, "title": { "type": "string", "description": "Tender title" }, "deadline": { "type": "string", "format": "date", "example": "2026-07-01" } } } } } } } ```