@inplayai/sdk
v1.0.5
Published
A thin, type-safe Node.js client for the InPlayAI event ingestion and metadata API.
Readme
InPlayAI Node SDK
A thin, type-safe Node.js client for the InPlayAI event ingestion and metadata API.
Installation
npm install @inplayai/sdkUsage
const { InPlayAI } = require('@inplayai/sdk');
// or, with TypeScript:
// import { InPlayAI } from '@inplayai/sdk';
const sdk = new InPlayAI({
apiKey: 'your-api-key',
apiUrl: 'https://api.inplay.ai', // or your API base URL
});
// Send a wager event
await sdk.wager({
wager_id: 'abc123',
user_id: 'user_456',
amount: 50.0,
payout: 92.0,
legs: [
{ market: '123:456:pregame', probability: 0.6, outcome: 'over', line: 26.5 },
{ market: '123:789:pregame', probability: 0.7, outcome: 'under', line: 28.0 }
],
timestamp: '2025-06-20T22:04:58Z'
});
// Send a settlement event
await sdk.settlement({
wager_id: 'abc123',
amount: 92.0,
timestamp: '2025-06-20T22:04:58Z',
outcomes: [
{ market: '123:456:pregame', result: 'W' },
{ market: '123:789:pregame', result: 'L' }
]
});
// Upsert user metadata
await sdk.user({
user_id: 'user_456',
first_name: 'John',
last_name: 'Doe'
});
// Upsert market metadata
await sdk.market({
market_id: '123:456:pregame',
game: { id: 789, name: 'Lakers vs Celtics' },
team: { id: 5, name: 'Lakers' },
league: { id: 10, name: 'NBA' },
category: 'points'
});
// Upsert target metadata
await sdk.target({
id: 'target1',
event_id: 'event1',
description: 'A target',
metadata: { foo: 'bar' },
timestamp: '2025-06-20T22:04:58Z'
});
// Upsert event metadata
await sdk.event({
id: 'event1',
team_ids: ['team1', 'team2'],
status: 'scheduled',
scheduled_at: '2025-06-20T22:04:58Z',
metadata: { foo: 'bar' },
timestamp: '2025-06-20T22:04:58Z'
});API
All methods return a Promise and throw on API errors.
wager(data)— POST/v1/events/wagersettlement(data)— POST/v1/events/settlementuser(data)— POST/v1/metadata/usermarket(data)— POST/v1/metadata/markettarget(data)— POST/v1/metadata/targetevent(data)— POST/v1/metadata/event
Error Handling
If the API returns an error, the SDK will throw the error response as-is.
License
MIT
