Lookup osce · sancionados-legacy by RUC
https://api.latinfo.dev/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.
Source contract
- Publisher
- OSCE / OECE, Peru
- Coverage
- Historical published disqualifications for legal-entity RUCs.
- Record meaning
- A tribunal disqualification period and resolution.
- Identifier
- Lookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
- Accepted pattern
^\d{11}$- Cardinality
many- License
- Reuse permission has not been verified. Public access is not a reuse license.
Known limitations
- Historical publication does not establish that a disqualification is still in force; preserve dates and duration.
Parameters
rucstringpathrequiredRUC in the source's normalized format. Keep identifiers as strings; preserve leading zeros.
Example: 20100994128
limitintegerqueryOptional page size. Supplying limit or offset enables explicit pagination; default page size is 100.
offsetintegerqueryRow offset, default 0. Keep the same source generation while collecting pages.
generationstringqueryOpaque source-generation guard, automatically included in the next-page Link. A changed generation returns 409; restart retrieval.
Request example
curl https://api.latinfo.dev/pe/osce/sancionados-legacy/ruc/20100994128 \
-H "Authorization: Bearer $LATINFO_API_KEY"
Responses
200Published source records. Missing data is not a clearance or a negative finding.
Response headers
X-Latinfo-Imported-AtImport time, not the date of the government observation.
X-Source-Updated-AtPublisher update time, when known.
X-Latest-Observation-AtLatest date in returned records, when known.
X-Freshness-Statusstring
CURRENT · DELAYED · STALE · UNKNOWNX-Credits-CostActual credits charged for this request.
X-Source-GenerationOpaque immutable source generation. Follow the guarded next-page Link when collecting a history.
X-Total-CountExact row count for this identifier when pagination is requested.
X-Page-Offsetinteger
X-Page-Limitinteger
LinkNext page URL, rel=next. Absent at the end.
application/jsonResponse fields
[].ruc string requiredLookup by ruc as a string, preserving leading zeros. Accepted syntax and normalization are defined by the contract below.
[].name string requiredPublished entity name.
[].periodo string requiredPublished duration or coverage-period label; interpret in this dataset.
[].date_start string requiredPublished date start date. Format: YYYYMMDD.
[].date_end string requiredPublished date end date. Format: YYYYMMDD.
[].resolution string requiredPublished procurement tribunal resolution identifier.
Response 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
}
}400Invalid identifier or query. Correct the input before retrying.
401Missing or invalid API key. Authenticate before retrying.
404No published record, or identifier outside the legal-entity scope. Not proof that the company does not exist.
409Source generation changed during paginated retrieval. Restart from offset 0.
429Rate or credit limit exceeded. Inspect the response and rate-limit headers before retrying.
503Source unavailable. Report unavailable, not an empty result.
Example JSON
Illustrative schema example. This is not a live response.
[
{
"ruc": "string",
"name": "string",
"periodo": "string",
"date_start": "string",
"date_end": "string",
"resolution": "string"
}
]Provenance and limitations
Coverage varies by country and public source. A missing field is not evidence that the underlying fact does not exist. Public registries may be delayed or contain source errors; inspect the returned evidence and source date before relying on a result.