Vai al contenuto

API pubblica

Accesso strutturato e di sola lettura ai report di compatibilità della community su mappe, bus, veicoli, mod, oggetti, plugin e strumenti eseguiti su openOMSI. Pensata per sviluppatori di openOMSI, strumenti di analisi, bot e integrazioni.

Questa NON è un'API per segnalare bug di openOMSI. I bug del motore stesso vanno segnalati sui canali ufficiali del progetto. Qui si legge solo ciò che la community ha testato.

⚠ LIMITE DI RICHIESTE DELL'API PUBBLICA

6 richieste per IP ogni 60 minuti

Questa API ha volutamente un limite di richieste molto rigido perché è pubblica e non richiede autenticazione.

  • Progetta le integrazioni in modo da memorizzare le risposte in cache in locale.
  • Non interrogare l'API in modo continuo.
  • Usa gli endpoint aggregati ogni volta che è possibile: una sola chiamata risponde alla maggior parte delle domande.

Il limite è condiviso da tutti gli endpoint pubblici e si applica solo ai consumatori esterni; il sito web stesso non usa questa quota.

Guida rapida

URL di base: https://openomsi.omsimods.com.br/api/public/v1. Tutto è JSON, solo GET, senza autenticazione. Inizia dall'endpoint meta per scoprire i valori esatti accettati dai filtri.

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 di richieste, header ed errori

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
}

Casi d'uso pratici

I valori di esempio sono indicativi; la struttura delle risposte è reale.

1. Grand Paris Moulon funziona su Windows?

Una sola chiamata restituisce il riepilogo per piattaforma, le categorie di problemi, la distribuzione degli FPS, le versioni testate e gli ultimi report. Leggi compatibility.by_platform.WINDOWS.

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

Risposta (abbreviata)

{
  "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. Elencare le mappe testate su Android

Filtra per tipo e piattaforma. Ogni elemento include già i totali, le piattaforme testate e l'ultima versione di openOMSI testata.

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

Risposta (abbreviata)

{
  "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. Come sviluppatore di openOMSI, vedere i problemi di texture nella versione attuale

Filtra i report per versione di openOMSI e categoria di problema. Ogni report elenca issue_categories strutturato insieme alla descrizione del tester.

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

Risposta (abbreviata)

{
  "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. Rilevare una possibile regressione tra versioni

compare mostra uno stesso contenuto affiancato in due versioni; regressions elenca ogni contenuto che prima funzionava e ora segnala problemi. I risultati sono solo possibili regressioni, mai confermate.

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

Risposta (abbreviata)

{
  "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. Alimentare un bot Discord

Cerca per nome, poi costruisci la risposta dal primo elemento: nome, piattaforma, risultato, ultima versione testata e numero di report. Memorizzalo in cache dal tuo lato.

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

Risposta (abbreviata)

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

Risposta suggerita per il bot

Grand Paris Moulon
Windows
⚠ Funziona con problemi
Ultimi testati: 0.1.126
Report: 4

6. Quali problemi vengono segnalati più spesso su Android?

L'endpoint issues aggrega le categorie con il numero di report e di contenuti distinti; l'endpoint della piattaforma aggiunge i dispositivi più segnalati e gli 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

Risposta (abbreviata)

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

7. Rilascio attuale e download

releases/latest restituisce la versione, la data di pubblicazione, l'URL GitHub e gli asset di download ufficiali per piattaforma e architettura.

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

Risposta (abbreviata)

{
  "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. Trovare contenuti che nessuno ha ancora testato

has_reports=false elenca i contenuti approvati senza report; combinalo con type o q.

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

Risposta (abbreviata)

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

Endpoint

Tutti i percorsi iniziano con https://openomsi.omsimods.com.br/api/public/v1. La descrizione completa leggibile da macchina è il documento OpenAPI.

EndpointCosa restituisce
GET /metaTassonomie, limiti e versione dell'API.
GET /statusControllo operativo (anch'esso limitato: non interrogarlo ripetutamente).
GET /contentRicerca di contenuti con totali dei report, piattaforme testate e ultima versione testata per elemento.
GET /content/{slug}Un contenuto in una sola chiamata: fonti, compatibilità, problemi, prestazioni, versioni testate, dispositivi e ultimi report.
GET /reportsReport singoli con categorie di problemi strutturate, FPS, hardware e date.
GET /compatibilityAggregato per versione di openOMSI, piattaforma o tipo di contenuto.
GET /compatibility/compareUn contenuto confrontato tra due versioni di openOMSI.
GET /compatibility/regressionsPossibili regressioni tra versioni testate consecutive.
GET /issuesCategorie di problemi ordinate per report e contenuti interessati.
GET /platforms/{platform}Aggregato per una piattaforma (android, windows, linux, macos).
GET /devicesHardware inserito dai tester, raggruppato e conteggiato.
GET /runtime-reportsTest su dispositivo di openOMSI stesso (la sessione potrebbe non essere mai iniziata): hardware, sistema operativo, fino a dove è arrivato, API grafica, testo dell'errore sanitizzato e log sanitizzato facoltativo. Nessun contenuto coinvolto.
GET /runtime-reports/{id}Un test su dispositivo, con il suo log sanitizzato quando presente.
GET /releases/latestRilascio attuale e asset di download ufficiali.
GET /releasesCronologia dei rilasci paginata.

I test su dispositivo non espongono mai il log originale, gli indirizzi IP, le e-mail, i nomi utente né gli identificatori di account: solo dati tecnici e il log sanitizzato. Sono osservazioni della community, non un benchmark né un requisito ufficiale.

Filtri, paginazione, ordinamento e campi

Parametri

ParametroDescrizione
qRicerca testuale nei nomi e negli alias dei contenuti.
typeTipo di contenuto. È consentito un elenco separato da virgole.
platformPiattaforma del report. È consentito un elenco separato da virgole.
resultRisultato segnalato dal tester. È consentito un elenco separato da virgole.
openomsi_versionVersione di openOMSI su cui è stato eseguito il test.
issue_categoryCategoria di problema associata al report (AUDIO è accettato come alias di SOUND). È consentito un elenco separato da virgole.
authorAutore del contenuto (corrispondenza parziale).
has_reportstrue: solo contenuti testati; false: solo contenuti che nessuno ha ancora testato.
sortCampo di ordinamento.
orderDirezione di ordinamento.
pageNumero di pagina, a partire da 1.
limitElementi per pagina (massimo 50).
fieldsCampi di primo livello separati da virgole da mantenere in ogni elemento (facoltativo; per impostazione predefinita l'elemento completo).
contentSlug o id del contenuto (esatto), o parte del suo nome.
architectureArchitettura CPU del report. È consentito un elenco separato da virgole.
deviceTesto contenuto nel nome del dispositivo.
has_fpsSolo report con (true) o senza (false) valore FPS.
fromreports: testato in questa data ISO o dopo. compare/regressions: versione di openOMSI più vecchia.
toreports: testato in questa data ISO o prima. compare/regressions: versione di openOMSI più recente.
startup_stageFino a dove è arrivato openOMSI sul dispositivo. È consentito un elenco separato da virgole.
graphics_backendAPI grafica scelta dal tester. È consentito un elenco separato da virgole.
gpuTesto contenuto nel nome della GPU.
cpuTesto contenuto nel nome della CPU.
manufacturerProduttore del dispositivo (corrispondenza parziale).
device_modelModello del dispositivo (corrispondenza parziale).
os_versionVersione del sistema operativo (corrispondenza parziale).
media_indexing_observedAndroid: il tester ha segnalato che la galleria o lo scanner multimediale stava indicizzando le immagini di OMSI (true) oppure no (false).
has_logSolo test con (true) o senza (false) log sanitizzato.
include_logInclude sanitized_log in ogni elemento (predefinito false: l'elenco indica solo has_sanitized_log).

Enum / Tassonomie

Generato dalle liste della stessa applicazione. AUDIO è accettato come alias di SOUND nei filtri.

ContentType

ADDONMAPBUSVEHICLEMODSCENERYOBJECTSPLINEPLUGINTOOLOTHER

CompatibilityResult

WORKSWORKS_WITH_ISSUESDOES_NOT_WORKINCONCLUSIVE

Platform

ANDROIDWINDOWSLINUXMACOS

Architecture

X86X64ARM64UNKNOWN

IssueCategory

GRAPHICSTEXTURESPHYSICSSCRIPTSSOUNDCOLLISIONSPERFORMANCELOADINGCONTROLSMULTIPLAYERINTERFACECRASHOTHER

Dati sulle prestazioni

FPS e tempi di caricamento sono dati SEGNALATI DAGLI UTENTI, non un benchmark controllato. Le statistiche usano prima la mediana e includono sempre la dimensione del campione (samples), oltre a min e max.

Cache, CORS e versionamento

Linee guida per l'integrazione

Informazioni sui dati

I report della community sono osservazioni, non una certificazione di compatibilità autorevole. Un singolo report non significa "questa mod è compatibile" né "questo è un bug di openOMSI". Considera il numero di campioni, la versione di openOMSI, la piattaforma, l'hardware, la versione del contenuto, la categoria del problema e la coerenza tra i report.

Privacy

Le risposte non includono mai ID Discord, e-mail, indirizzi IP, sessioni, iscrizioni alle notifiche, dati di moderazione o identificatori di dispositivo. I report mostrano solo il nome pubblico e l'hardware che il tester ha scelto di pubblicare. In un report, issue_categories è strutturato mentre issue_description è l'unica descrizione a testo libero del tester per l'intero report.

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

Database comunitario indipendente gestito da Portal OmsiModsBR. Non rappresenta una certificazione ufficiale del progetto openOMSI né degli autori dei contenuti.

OMSI e openOMSI appartengono ai rispettivi autori/titolari. Questo sito non ridistribuisce contenuti proprietari: i link puntano alle fonti originali e i risultati sono test individuali inviati dagli utenti.

API pubblica | openOMSI Compatibility