S1 Backend proxies and enriches responses from provider APIs. The gateway adds metadata fields —Documentation Index
Fetch the complete documentation index at: https://mintlify.com/PDNMX/s1_backend/llms.txt
Use this file to discover all available pages before exploring further.
supplier_name, supplier_id, levels, and endpoint_type — to every successful search response, and normalises errors into a consistent shape. This page documents the response structure for each endpoint.
Provider-level errors in
POST /v1/summary are returned inline within the
response array with HTTP status 200. Gateway-level errors (for example, a
missing or unknown supplier_id in POST /v1/search) use HTTP status 500.GET / Response
A simple liveness and version response returned when the root path is requested.Human-readable API name. Always
"API del Sistema 1".Current API version string. Currently
"1.0".GET /v1/providers Response
Returns an array of provider metadata objects — one entry per configured provider inendpoints.json. Credentials and internal URLs are never included.
Unique provider identifier (sourced from
endpoints.json).Full official name of the government institution.
Jurisdictional scope tags for this provider (e.g.
"federal", "estatal",
"municipal").Provider availability status as recorded in
endpoints.json. The gateway
surfaces this field as-is; it is not computed at request time.POST /v1/summary Response
Returns an array — one item per provider that was queried. Items are the resolved results of concurrentfetchData calls; a provider that fails will have an error item rather than a success item. The overall HTTP status is always 200 as long as the gateway itself is healthy.
Success Item
Returned whenfetchData resolves without error for a given provider.
Unique provider identifier.
Full official name of the government institution.
Jurisdictional scope tags from the provider’s configuration.
Pagination metadata forwarded from the provider’s own response. Typically
contains
totalRows, page, and pageSize, but the exact shape depends on
the provider implementation.Matching declaration records returned by the provider for this summary query.
For
/v1/summary the gateway always requests pageSize: 1, so this array
will typically contain at most one record.Error Item
Returned whenfetchData rejects or throws for a given provider. The overall
HTTP response is still 200; consumers must check for the presence of the
error field to detect per-provider failures.
Unique provider identifier.
Full official name of the government institution.
Jurisdictional scope tags from the provider’s configuration.
Human-readable error message. Always
"Algo salió mal." for summary-level
provider failures.Sentinel value indicating the count is unavailable. Always
"No disponible" when an error occurred.POST /v1/search Response
For a successful search, the gateway returns the provider’s response body enriched with the following four metadata fields added byfetchData in
rest_data.js.
Full official name of the government institution that provided the data.
Unique provider identifier.
Jurisdictional scope tags from the provider’s
endpoints.json entry.Protocol type of the provider endpoint, taken from the
type field in
endpoints.json. Currently always "REST".Provider-Level Error Response
When the provider returns a response body that contains acode field (indicating an application-level error), fetchData returns an error object instead of the raw provider data.
Present when the provider signals an application error via a
code field in
its response body.Gateway-Level HTTP 500 Errors
These errors are returned directly by the gateway before a provider is contacted, when the request itself is invalid. Missingsupplier_id — returned when supplier_id is not present in the
request body:
supplier_id — returned when no entry in endpoints.json matches
the supplied supplier_id:
POST /v1/logger Response
The logger endpoint accepts an array of client-side log entries and writes them to the server log. It always responds with HTTP200.
Acknowledgement string. Always
"ok" when the log entries were accepted.