Add your game to TYGER
Bringing TYGER's adaptive music engine into your game is a creative partnership, not just an API integration. We work closely with each studio to shape the experience around your title — which game events drive the music, what arrangements fit your tone, and how the SDK plugs into your runtime.
If that sounds like something you'd like to explore, drop us a line at contact@tygermedia.ai with a short note about your studio and the game you're working on. Someone from our partnerships team will be happy to set up a conversation and walk you through what's possible. We evaluate each potential partner carefully so we can deliver something great together.
Supported TYGER apps
The TYGER SDK works with both supported runtimes:
- Electron coming soon — standalone TYGER desktop app. Develop against this build — it returns real status codes and JSON error bodies.
- Native — TYGER Overwolf app. Production build for Overwolf users. Wire responses are always empty HTTP 200.
Developer Reference
Local game events REST API
The TYGER SDK uses a fire-and-forget REST contract: clients send game events to the local HTTP ingress and do not depend on the response for correct operation. Success is observable through the resulting in-app music behavior.
Base URL and port
The server binds to localhost. The first available port is chosen from this list:
- Default:
58931 - Fallbacks:
18081,18082,18083
Authentication
Every route except GET /tyger/health requires a per-game token. The TYGER team will generate and share your token when your game is onboarded.
Pass the token as a query parameter on every request:
- Query parameter:
?token=<your-token>
Session lifecycle
Endpoints
/tyger/health
Liveness check & port discovery
Purpose
Liveness check — confirms TYGER is up and locks in which port it bound to.
Example
curl "http://localhost:58931/tyger/health"
/tyger/v1.0/session/connect
Open external session
Purpose
Open an external session for the game your token belongs to. Replaces any previous session.
Example
curl -X POST "http://localhost:58931/tyger/v1.0/session/connect?token=YOUR_TOKEN"
Query parameters
| Field | Required | Type |
|---|---|---|
token | Yes | string |
Errors Electron only Dev only
401 unauthorized— token missing.403 forbidden— invalid token.409 session_conflict— another session is already active.
/tyger/v1.0/session/disconnect
Clear external session
Purpose
Clear the external session so further /tyger/v1.0/game-events calls fail until connect again.
Example
curl -X POST "http://localhost:58931/tyger/v1.0/session/disconnect?token=YOUR_TOKEN"
Query parameters
| Field | Required | Type |
|---|---|---|
token | Yes | string |
Errors Electron only Dev only
401 unauthorized— token missing.403 forbidden— invalid token.409 no_session— no active session for this token.
/tyger/v1.0/game-events
Submit game events
Purpose
Submit one or more GEP-shaped game events for the active external session.
Example
curl -X POST "http://localhost:58931/tyger/v1.0/game-events?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"events": [
{ "name": "kill" },
{ "name": "death", "data": { "killer": "player" } }
]
}'
Query parameters
| Field | Required | Type |
|---|---|---|
token | Yes | string |
Request fields
| Field | Required | Type |
|---|---|---|
events | Yes | array<object> |
events[].name | Yes | string |
events[].data | No | any |
Errors Electron only Dev only
401 unauthorized— token missing.403 forbidden— invalid token.409 no_session— no active session for this token. Call/tyger/v1.0/session/connectfirst.422 invalid_payload— request body is malformed JSON, missing required fields, or fails validation.
Global errors
Any endpoint can return the following:
404 not_found— the requested route does not exist.500 server_error— an unexpected server-side error while processing the request.