Ir para o conteúdo

API pública

Acesso estruturado e somente leitura aos testes comunitários de compatibilidade de mapas, ônibus, veículos, mods, objetos, plugins e ferramentas rodando no openOMSI. Feita para desenvolvedores do openOMSI, ferramentas de análise, bots e integrações.

Esta NÃO é uma API para reportar bugs do openOMSI. Bugs da própria engine pertencem aos canais oficiais do projeto. Aqui você apenas consulta o que a comunidade testou.

⚠ LIMITE DA API PÚBLICA

6 requisições por IP a cada 60 minutos

Esta API é propositalmente muito limitada porque é pública e não exige autenticação.

  • Projete as integrações para guardar as respostas em cache local.
  • Não consulte a API continuamente (polling).
  • Use endpoints agregados sempre que possível: uma chamada responde à maioria das perguntas.

O limite é compartilhado por todos os endpoints públicos e vale só para consumidores externos; o próprio site não usa essa cota.

Começando

URL base: https://openomsi.omsimods.com.br/api/public/v1. Tudo é JSON, apenas GET, sem autenticação. Comece pelo endpoint meta para descobrir os valores exatos aceitos pelos 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)

Limite, cabeçalhos e erros

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áticos

Os valores dos exemplos são ilustrativos; o formato das respostas é real.

1. O Grand Paris Moulon funciona no Windows?

Uma chamada devolve o resumo por plataforma, categorias de problema, distribuição de FPS, versões testadas e os relatórios mais recentes. Leia compatibility.by_platform.WINDOWS.

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

Resposta (resumida)

{
  "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 mapas testados no Android

Filtre por tipo e plataforma. Cada item já traz totais, plataformas testadas e a última versão do openOMSI testada.

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

Resposta (resumida)

{
  "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. Sou desenvolvedor do openOMSI e quero ver problemas de textura na versão atual

Filtre os relatórios por versão do openOMSI e categoria de problema. Cada relatório traz issue_categories estruturado e a descrição do testador.

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

Resposta (resumida)

{
  "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 possível regressão entre versões

compare mostra um conteúdo lado a lado em duas versões; regressions lista todo conteúdo que funcionava antes e agora relata problemas. O resultado é apenas possível regressão, nunca confirmada.

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

Resposta (resumida)

{
  "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 um bot do Discord

Busque pelo nome e monte a resposta com o primeiro item: nome, plataforma, resultado, última versão testada e número de relatórios. Guarde em cache do seu lado.

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

Resposta (resumida)

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

Resposta sugerida para o bot

Grand Paris Moulon
Windows
⚠ Funciona com problemas
Última versão testada: 0.1.126
Relatórios: 4

6. Quais problemas mais aparecem no Android?

O endpoint issues agrega categorias com número de relatórios e de conteúdos distintos; o endpoint de plataforma acrescenta os aparelhos mais reportados e o 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

Resposta (resumida)

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

7. Release atual e downloads

releases/latest devolve a versão, a data de publicação, a URL do GitHub e os arquivos oficiais de download por plataforma e arquitetura.

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

Resposta (resumida)

{
  "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 conteúdos que ainda não foram testados

has_reports=false lista conteúdos aprovados sem relatórios; combine com type ou q.

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

Resposta (resumida)

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

Endpoints

Todos os caminhos começam com https://openomsi.omsimods.com.br/api/public/v1. A descrição completa, legível por máquina, é o documento OpenAPI.

EndpointO que devolve
GET /metaTaxonomias, limites e versão da API.
GET /statusVerificação operacional (também limitada: não use para polling).
GET /contentBusca de conteúdos com totais de relatórios, plataformas testadas e última versão testada por item.
GET /content/{slug}Um conteúdo em uma só chamada: fontes, compatibilidade, problemas, desempenho, versões testadas, aparelhos e últimos relatórios.
GET /reportsRelatórios individuais com categorias de problema estruturadas, FPS, hardware e datas.
GET /compatibilityAgregado por versão do openOMSI, plataforma ou tipo de conteúdo.
GET /compatibility/compareUm conteúdo comparado entre duas versões do openOMSI.
GET /compatibility/regressionsPossíveis regressões entre versões testadas consecutivas.
GET /issuesCategorias de problema ordenadas por relatórios e conteúdos afetados.
GET /platforms/{platform}Agregado de uma plataforma (android, windows, linux, macos).
GET /devicesHardware informado pelos testadores, agrupado e contado.
GET /runtime-reportsTestes de equipamento do próprio openOMSI (a sessão pode nunca ter começado): hardware, sistema, até onde chegou, API gráfica, texto de erro sanitizado e log sanitizado opcional. Sem conteúdo envolvido.
GET /runtime-reports/{id}Um teste de equipamento, com o log sanitizado quando houver.
GET /releases/latestRelease atual e arquivos oficiais de download.
GET /releasesHistórico paginado de releases.

Os testes de equipamento nunca expõem o log original, IPs, e-mails, nomes de usuário nem identificadores de conta: só dados técnicos e o log sanitizado. São observações da comunidade, e não benchmark nem requisito oficial.

Filtros, paginação, ordenação e campos

Parâmetros

ParâmetroDescrição
qBusca de texto em nomes e apelidos dos conteúdos.
typeTipo de conteúdo. Aceita lista separada por vírgulas.
platformPlataforma do relatório. Aceita lista separada por vírgulas.
resultResultado informado pelo testador. Aceita lista separada por vírgulas.
openomsi_versionVersão do openOMSI em que o teste foi feito.
issue_categoryCategoria de problema ligada ao relatório (AUDIO é aceito como apelido de SOUND). Aceita lista separada por vírgulas.
authorAutor do conteúdo (correspondência parcial).
has_reportstrue: só conteúdos testados; false: só conteúdos que ninguém testou ainda.
sortCampo de ordenação.
orderDireção da ordenação.
pageNúmero da página, a partir de 1.
limitItens por página (máximo 50).
fieldsCampos de primeiro nível, separados por vírgula, a manter em cada item (opcional; o padrão é o item completo).
contentSlug ou id do conteúdo (exato), ou parte do nome.
architectureArquitetura de CPU do relatório. Aceita lista separada por vírgulas.
deviceTexto contido no nome do aparelho.
has_fpsSó relatórios com (true) ou sem (false) valor de FPS.
fromreports: testados a partir desta data ISO. compare/regressions: versão mais antiga do openOMSI.
toreports: testados até esta data ISO. compare/regressions: versão mais nova do openOMSI.
startup_stageAté onde o openOMSI chegou no equipamento. Aceita lista separada por vírgulas.
graphics_backendAPI gráfica escolhida por quem testou. Aceita lista separada por vírgulas.
gpuTexto contido no nome da GPU.
cpuTexto contido no nome da CPU.
manufacturerFabricante do aparelho (busca parcial).
device_modelModelo do aparelho (busca parcial).
os_versionVersão do sistema (busca parcial).
media_indexing_observedAndroid: quem testou informou que a galeria ou o scanner de mídia estava indexando imagens do OMSI (true) ou não (false).
has_logSomente testes com (true) ou sem (false) log sanitizado.
include_logInclui sanitized_log em cada item (padrão false: a lista só informa has_sanitized_log).

Enums / Taxonomias

Gerado a partir das listas da própria aplicação. AUDIO é aceito nos filtros como apelido de SOUND.

ContentType

ADDONMAPBUSVEHICLEMODSCENERYOBJECTSPLINEPLUGINTOOLOTHER

CompatibilityResult

WORKSWORKS_WITH_ISSUESDOES_NOT_WORKINCONCLUSIVE

Platform

ANDROIDWINDOWSLINUXMACOS

Architecture

X86X64ARM64UNKNOWN

IssueCategory

GRAPHICSTEXTURESPHYSICSSCRIPTSSOUNDCOLLISIONSPERFORMANCELOADINGCONTROLSMULTIPLAYERINTERFACECRASHOTHER

Dados de desempenho

FPS e tempos de carregamento são dados INFORMADOS PELOS USUÁRIOS, não um benchmark controlado. As estatísticas usam a mediana como principal e sempre trazem o tamanho da amostra (samples), além de mínimo e máximo.

Cache, CORS e versionamento

Boas práticas para integrações

Sobre os dados

Relatórios da comunidade são observações, não certificação oficial de compatibilidade. Um único relatório não significa "este mod é compatível" nem "isto é um bug do openOMSI". Considere a quantidade de amostras, a versão do openOMSI, a plataforma, o hardware, a versão do conteúdo, a categoria do problema e a consistência entre relatórios.

Privacidade

As respostas nunca incluem IDs do Discord, e-mails, endereços IP, sessões, inscrições de notificação, dados de moderação nem identificadores de dispositivo. Os relatórios mostram apenas o nome público e o hardware que o testador escolheu publicar. Em um relatório, issue_categories é estruturado, enquanto issue_description é a descrição livre única do testador para o relatório inteiro.

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

Base comunitária independente mantida pelo Portal OmsiModsBR. Não representa certificação oficial do projeto openOMSI ou dos autores dos conteúdos.

OMSI e openOMSI pertencem aos seus respectivos autores/titulares. Este site não redistribui conteúdo proprietário: os links apontam para as fontes originais e os resultados são testes individuais enviados pelos usuários.

API pública | openOMSI Compatibility