Saltar al contenido

API pública

Acceso estructurado y de solo lectura a los informes de compatibilidad de la comunidad sobre mapas, autobuses, vehículos, mods, objetos, plugins y herramientas que se ejecutan en openOMSI. Pensada para desarrolladores de openOMSI, herramientas de análisis, bots e integraciones.

Esta NO es una API para reportar errores de openOMSI. Los errores del propio motor corresponden a los canales oficiales del proyecto. Aquí solo se lee lo que la comunidad ha probado.

⚠ LÍMITE DE PETICIONES DE LA API PÚBLICA

6 peticiones por IP cada 60 minutos

Esta API tiene un límite de peticiones deliberadamente estricto porque es pública y no requiere autenticación.

  • Diseña las integraciones para almacenar las respuestas en caché localmente.
  • No consultes la API de forma continua.
  • Usa endpoints agregados siempre que sea posible: una sola llamada responde a la mayoría de las preguntas.

El límite se comparte entre todos los endpoints públicos y se aplica solo a consumidores externos; el propio sitio web no usa esta cuota.

Inicio rápido

URL base: https://openomsi.omsimods.com.br/api/public/v1. Todo es JSON, solo GET, sin autenticación. Empieza por el endpoint meta para descubrir los valores exactos que aceptan los filtros.

curl https://openomsi.omsimods.com.br/api/public/v1/meta
curl "https://openomsi.omsimods.com.br/api/public/v1/content?q=millennium&type=VEHICLE"

OpenAPI (JSON)

Límite de peticiones, cabeceras y errores

HTTP/1.1 429 Too Many Requests
Retry-After: 1234
RateLimit-Limit: 6
RateLimit-Remaining: 0
RateLimit-Reset: 1234

{
  "error": "rate_limit_exceeded",
  "message": "Public API limit reached. Try again later.",
  "retry_after": 1234
}

Casos de uso prácticos

Los valores de ejemplo son ilustrativos; la forma de las respuestas es real.

1. ¿Funciona Grand Paris Moulon en Windows?

Una sola llamada devuelve el resumen por plataforma, las categorías de problemas, la distribución de FPS, las versiones probadas y los últimos informes. Lee compatibility.by_platform.WINDOWS.

GET https://openomsi.omsimods.com.br/api/public/v1/content/grand-paris-moulon

Respuesta (abreviada)

{
  "compatibility": {
    "total_reports": 4,
    "works": 2,
    "works_with_issues": 2,
    "does_not_work": 0,
    "inconclusive": 0,
    "low_data": false,
    "by_platform": {
      "WINDOWS": {
        "reports": 4,
        "works": 2,
        "works_with_issues": 2,
        "does_not_work": 0,
        "inconclusive": 0,
        "latest_tested_openomsi_version": "0.1.126",
        "fps": {
          "samples": 3,
          "median": 38,
          "min": 28,
          "max": 60
        }
      }
    }
  },
  "issues": {
    "by_category": {
      "TEXTURES": 2,
      "SCRIPTS": 1
    },
    "reports_with_issues": 2
  },
  "performance": {
    "source": "user_reported",
    "fps": {
      "samples": 3,
      "median": 38,
      "min": 28,
      "max": 60
    },
    "load_time_seconds": {
      "samples": 2,
      "median": 95,
      "min": 80,
      "max": 110
    }
  },
  "latest_tested_openomsi_version": "0.1.126"
}

2. Listar los mapas probados en Android

Filtra por tipo y plataforma. Cada elemento ya incluye totales, plataformas probadas y la última versión de openOMSI probada.

GET https://openomsi.omsimods.com.br/api/public/v1/content?type=MAP&platform=ANDROID&sort=reports&limit=20

Respuesta (abreviada)

{
  "data": [
    {
      "id": "cm0millennium1",
      "slug": "mapa-brigadeiro-sampaio",
      "name": "Mapa Brigadeiro Sampaio",
      "type": "MAP",
      "author": null,
      "current_version": null,
      "url": "https://openomsi.omsimods.com.br/conteudo/caio-millennium-brt-i-o500u",
      "source_url": "https://omsimods.com.br/",
      "image_url": null,
      "omsimodsbr_verified": true,
      "reports": {
        "total": 3,
        "works": 0,
        "works_with_issues": 3,
        "does_not_work": 0,
        "inconclusive": 0,
        "by_platform": {
          "WINDOWS": {
            "reports": 3,
            "works": 0,
            "works_with_issues": 3,
            "does_not_work": 0,
            "inconclusive": 0
          }
        }
      },
      "reports_with_issues": 3,
      "latest_tested_openomsi_version": "0.1.126",
      "latest_test_at": "2026-09-29T15:20:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "pages": 1
  }
}

3. Como desarrollador de openOMSI, ver los problemas de texturas en la versión actual

Filtra los informes por versión de openOMSI y categoría de problema. Cada informe lista issue_categories estructurado junto con la descripción del tester.

GET https://openomsi.omsimods.com.br/api/public/v1/reports?openomsi_version=0.1.126&issue_category=TEXTURES&limit=50

Respuesta (abreviada)

{
  "data": [
    {
      "id": "cm0report0001",
      "content": {
        "id": "cm0grandparis01",
        "slug": "grand-paris-moulon",
        "name": "Grand Paris Moulon",
        "type": "MAP"
      },
      "content_version": null,
      "openomsi_version": "0.1.126",
      "platform": "WINDOWS",
      "architecture": "X64",
      "result": "WORKS_WITH_ISSUES",
      "fps": {
        "avg": 41,
        "min": 28,
        "max": 60
      },
      "load_time_seconds": 95,
      "device": {
        "label": "Desktop GTX 1060",
        "model": null,
        "os_version": "Windows 11",
        "cpu": "Ryzen 5 3600",
        "gpu": "GTX 1060 6GB",
        "ram_gb": 16
      },
      "issue_categories": [
        "TEXTURES"
      ],
      "issue_description": "Windows of some black buses render with wrong textures.",
      "notes": null,
      "tested_at": "2026-09-29T17:02:00.000Z",
      "screenshot_url": null,
      "author": {
        "display_name": "tester"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "pages": 1
  }
}

4. Detectar una posible regresión entre versiones

compare muestra un mismo contenido lado a lado en dos versiones; regressions lista todo el contenido que antes funcionaba y ahora reporta problemas. Los resultados son solo posibles regresiones, nunca confirmadas.

GET https://openomsi.omsimods.com.br/api/public/v1/compatibility/compare?content=grand-paris-moulon&from=0.1.121&to=0.1.126
GET https://openomsi.omsimods.com.br/api/public/v1/compatibility/regressions?from=0.1.121&to=0.1.126&type=BUS

Respuesta (abreviada)

{
  "changes": [
    {
      "platform": "WINDOWS",
      "from": {
        "works": 3,
        "works_with_issues": 0,
        "does_not_work": 0,
        "inconclusive": 0
      },
      "to": {
        "works": 1,
        "works_with_issues": 3,
        "does_not_work": 0,
        "inconclusive": 0
      },
      "from_reports": 3,
      "to_reports": 4,
      "possible_regression": true
    }
  ],
  "possible_regression": true
}

5. Alimentar un bot de Discord

Busca por nombre y construye la respuesta a partir del primer elemento: nombre, plataforma, resultado, última versión probada y número de informes. Guárdalo en caché por tu parte.

GET https://openomsi.omsimods.com.br/api/public/v1/content?q=grand%20paris&platform=WINDOWS&limit=1

Respuesta (abreviada)

{
  "data": [
    {
      "name": "Grand Paris Moulon",
      "reports": {
        "total": 4,
        "works": 2,
        "works_with_issues": 2
      },
      "latest_tested_openomsi_version": "0.1.126"
    }
  ]
}

Respuesta sugerida para el bot

Grand Paris Moulon
Windows
⚠ Funciona con problemas
Últimos probados: 0.1.126
Informes: 4

6. ¿Qué problemas se reportan más en Android?

El endpoint issues agrega las categorías con el número de informes y de contenidos distintos; el endpoint de plataforma añade los dispositivos más reportados y los FPS.

GET https://openomsi.omsimods.com.br/api/public/v1/issues?platform=ANDROID&openomsi_version=0.1.126
GET https://openomsi.omsimods.com.br/api/public/v1/platforms/android

Respuesta (abreviada)

{
  "data": [
    {
      "category": "TEXTURES",
      "reports": 31,
      "contents": 18
    },
    {
      "category": "PHYSICS",
      "reports": 22,
      "contents": 14
    }
  ]
}

7. Versión actual y descargas

releases/latest devuelve la versión, la fecha de publicación, la URL de GitHub y los recursos de descarga oficiales por plataforma y arquitectura.

GET https://openomsi.omsimods.com.br/api/public/v1/releases/latest

Respuesta (abreviada)

{
  "version": "0.1.126",
  "published_at": "2026-09-27T20:11:00.000Z",
  "github_url": "https://github.com/openOMSI-org/openOMSI/releases/tag/v0.1.126",
  "assets": [
    {
      "key": "android-arm64",
      "label": "Android ARM64",
      "platform": "ANDROID",
      "architecture": "ARM64",
      "type": "CLIENT",
      "name": "openOMSI-android-arm64.apk",
      "download_url": "https://github.com/openOMSI-org/openOMSI/releases/download/v0.1.126/openOMSI-android-arm64.apk",
      "size_bytes": 152043520
    }
  ]
}

8. Encontrar contenido que nadie ha probado aún

has_reports=false lista el contenido aprobado sin informes; combínalo con type o q.

GET https://openomsi.omsimods.com.br/api/public/v1/content?has_reports=false&type=MAP&limit=50

Respuesta (abreviada)

{
  "data": [
    {
      "name": "…",
      "type": "MAP",
      "reports": {
        "total": 0
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 312,
    "pages": 7
  }
}

Endpoints

Todas las rutas empiezan por https://openomsi.omsimods.com.br/api/public/v1. La descripción completa legible por máquina es el documento OpenAPI.

EndpointQué devuelve
GET /metaTaxonomías, límites y versión de la API.
GET /statusComprobación operativa (también limitada: no la consultes en bucle).
GET /contentBúsqueda de contenido con totales de informes, plataformas probadas y última versión probada por elemento.
GET /content/{slug}Un contenido en una sola llamada: fuentes, compatibilidad, problemas, rendimiento, versiones probadas, dispositivos y últimos informes.
GET /reportsInformes individuales con categorías de problemas estructuradas, FPS, hardware y fechas.
GET /compatibilityAgregado por versión de openOMSI, plataforma o tipo de contenido.
GET /compatibility/compareUn contenido comparado entre dos versiones de openOMSI.
GET /compatibility/regressionsPosibles regresiones entre versiones probadas consecutivas.
GET /issuesCategorías de problemas ordenadas por informes y contenidos afectados.
GET /platforms/{platform}Agregado de una plataforma (android, windows, linux, macos).
GET /devicesHardware introducido por los testers, agrupado y contabilizado.
GET /runtime-reportsPruebas de dispositivo del propio openOMSI (puede que la sesión nunca llegara a iniciarse): hardware, sistema operativo, hasta dónde llegó, API gráfica, texto de error sanitizado y un registro sanitizado opcional. Sin contenido de por medio.
GET /runtime-reports/{id}Una prueba de dispositivo, con su registro sanitizado cuando lo hay.
GET /releases/latestVersión actual y recursos de descarga oficiales.
GET /releasesHistorial de versiones paginado.

Las pruebas de dispositivo nunca exponen el registro original, las IP, los correos electrónicos, los nombres de usuario ni los identificadores de cuenta: solo datos técnicos y el registro sanitizado. Son observaciones de la comunidad, no un benchmark ni un requisito oficial.

Filtros, paginación, ordenación y campos

Parámetros

ParámetroDescripción
qBúsqueda de texto en los nombres y alias de los contenidos.
typeTipo de contenido. Se permite una lista separada por comas.
platformPlataforma del informe. Se permite una lista separada por comas.
resultResultado indicado por el tester. Se permite una lista separada por comas.
openomsi_versionVersión de openOMSI en la que se ejecutó la prueba.
issue_categoryCategoría de problema asociada al informe (AUDIO se acepta como alias de SOUND). Se permite una lista separada por comas.
authorAutor del contenido (coincidencia parcial).
has_reportstrue: solo contenido probado; false: solo contenido que nadie ha probado todavía.
sortCampo de ordenación.
orderSentido de la ordenación.
pageNúmero de página, empezando en 1.
limitElementos por página (máximo 50).
fieldsCampos de primer nivel separados por comas que se conservan en cada elemento (opcional; por defecto, el elemento completo).
contentSlug o id del contenido (exacto), o parte de su nombre.
architectureArquitectura de CPU del informe. Se permite una lista separada por comas.
deviceTexto contenido en el nombre del dispositivo.
has_fpsSolo informes con (true) o sin (false) valor de FPS.
fromreports: probado en esta fecha ISO o después. compare/regressions: versión anterior de openOMSI.
toreports: probado en esta fecha ISO o antes. compare/regressions: versión más reciente de openOMSI.
startup_stageHasta dónde llegó openOMSI en el dispositivo. Se permite una lista separada por comas.
graphics_backendAPI gráfica elegida por el tester. Se permite una lista separada por comas.
gpuTexto contenido en el nombre de la GPU.
cpuTexto contenido en el nombre de la CPU.
manufacturerFabricante del dispositivo (coincidencia parcial).
device_modelModelo del dispositivo (coincidencia parcial).
os_versionVersión del sistema operativo (coincidencia parcial).
media_indexing_observedAndroid: el tester indicó que la galería o el escáner de medios estaba indexando imágenes de OMSI (true) o no (false).
has_logSolo pruebas con (true) o sin (false) registro sanitizado.
include_logIncluye sanitized_log en cada elemento (por defecto false: la lista solo indica has_sanitized_log).

Enumerados / Taxonomías

Generado a partir de las propias listas de la aplicación. AUDIO se acepta como alias de SOUND en los filtros.

ContentType

ADDONMAPBUSVEHICLEMODSCENERYOBJECTSPLINEPLUGINTOOLOTHER

CompatibilityResult

WORKSWORKS_WITH_ISSUESDOES_NOT_WORKINCONCLUSIVE

Platform

ANDROIDWINDOWSLINUXMACOS

Architecture

X86X64ARM64UNKNOWN

IssueCategory

GRAPHICSTEXTURESPHYSICSSCRIPTSSOUNDCOLLISIONSPERFORMANCELOADINGCONTROLSMULTIPLAYERINTERFACECRASHOTHER

Datos de rendimiento

Los FPS y los tiempos de carga son datos REPORTADOS POR USUARIOS, no un benchmark controlado. Las estadísticas usan primero la mediana e incluyen siempre el tamaño de la muestra (samples), además de mín. y máx.

Caché, CORS y versionado

Directrices de integración

Acerca de los datos

Los informes de la comunidad son observaciones, no una certificación de compatibilidad con autoridad. Un solo informe no significa "este mod es compatible" ni "esto es un error de openOMSI". Ten en cuenta el número de muestras, la versión de openOMSI, la plataforma, el hardware, la versión del contenido, la categoría del problema y la coherencia entre informes.

Privacidad

Las respuestas nunca incluyen IDs de Discord, correos electrónicos, direcciones IP, sesiones, suscripciones a notificaciones, datos de moderación ni identificadores de dispositivo. Los informes muestran solo el nombre público y el hardware que el tester decidió publicar. En un informe, issue_categories es estructurado, mientras que issue_description es la única descripción de texto libre del tester para todo el informe.

https://openomsi.omsimods.com.br/api/openapi.json

Base comunitaria independiente mantenida por Portal OmsiModsBR. No representa una certificación oficial del proyecto openOMSI ni de los autores de los contenidos.

OMSI y openOMSI pertenecen a sus respectivos autores/titulares. Este sitio no redistribuye contenido propietario: los enlaces apuntan a las fuentes originales y los resultados son pruebas individuales enviadas por los usuarios.

API pública | openOMSI Compatibility