Skip to content

Commit c972f9e

Browse files
committed
feat(integrations): expand Kalshi, Luma, Rootly, Polymarket, Railway tools; regen docs
- Add and refine tools across Kalshi, Luma, Rootly, Polymarket, Railway, LaunchDarkly, and Sentry; register all new tools - Regenerate tool docs to match the updated source
1 parent b3eed5b commit c972f9e

88 files changed

Lines changed: 5847 additions & 343 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/docs/content/docs/en/tools/kalshi.mdx

Lines changed: 121 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,6 @@ Retrieve your open positions from Kalshi (V2 - exact API response)
243243
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
244244
| `ticker` | string | No | Filter by market ticker \(e.g., "KXBTC-24DEC31"\) |
245245
| `eventTicker` | string | No | Filter by event ticker, max 10 comma-separated \(e.g., "KXBTC-24DEC31,INX-25JAN03"\) |
246-
| `settlementStatus` | string | No | Filter by settlement status: "all", "unsettled", or "settled" \(default: "unsettled"\) |
247246
| `limit` | string | No | Number of results to return \(1-1000, default: 100\) |
248247
| `cursor` | string | No | Pagination cursor from previous response for fetching next page |
249248

@@ -282,7 +281,7 @@ Retrieve your orders from Kalshi with optional filtering (V2 with full API respo
282281
| `ticker` | string | No | Filter by market ticker \(e.g., "KXBTC-24DEC31"\) |
283282
| `eventTicker` | string | No | Filter by event ticker, max 10 comma-separated \(e.g., "KXBTC-24DEC31,INX-25JAN03"\) |
284283
| `status` | string | No | Filter by order status: "resting", "canceled", or "executed" |
285-
| `limit` | string | No | Number of results to return \(1-200, default: 100\) |
284+
| `limit` | string | No | Number of results to return \(1-1000, default: 100\) |
286285
| `cursor` | string | No | Pagination cursor from previous response for fetching next page |
287286

288287
#### Output
@@ -429,6 +428,28 @@ Retrieve OHLC candlestick data for a specific market (V2 - full API response)
429428
| `ticker` | string | Market ticker |
430429
| `candlesticks` | array | Array of OHLC candlestick data with nested bid/ask/price objects |
431430

431+
### `kalshi_get_event_candlesticks`
432+
433+
Retrieve OHLC candlestick data aggregated across all markets in an event (V2 - full API response)
434+
435+
#### Input
436+
437+
| Parameter | Type | Required | Description |
438+
| --------- | ---- | -------- | ----------- |
439+
| `seriesTicker` | string | Yes | Series ticker identifier \(e.g., "KXBTC", "INX", "FED-RATE"\) |
440+
| `eventTicker` | string | Yes | Event ticker identifier \(e.g., "KXBTC-24DEC31", "INX-25JAN03"\) |
441+
| `startTs` | number | Yes | Start timestamp in Unix seconds \(e.g., 1704067200\) |
442+
| `endTs` | number | Yes | End timestamp in Unix seconds \(e.g., 1704153600\) |
443+
| `periodInterval` | number | Yes | Period interval: 1 \(1 minute\), 60 \(1 hour\), or 1440 \(1 day\) |
444+
445+
#### Output
446+
447+
| Parameter | Type | Description |
448+
| --------- | ---- | ----------- |
449+
| `market_tickers` | array | Market tickers included in the aggregated candlesticks |
450+
| `adjusted_end_ts` | number | Adjusted end timestamp used for the candlestick range \(Unix seconds\) |
451+
| `market_candlesticks` | array | Array of event-level aggregated OHLC candlestick data with nested bid/ask/price |
452+
432453
### `kalshi_get_fills`
433454

434455
Retrieve your portfolio
@@ -441,8 +462,8 @@ Retrieve your portfolio
441462
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
442463
| `ticker` | string | No | Filter by market ticker \(e.g., "KXBTC-24DEC31"\) |
443464
| `orderId` | string | No | Filter by order ID \(e.g., "abc123-def456-ghi789"\) |
444-
| `minTs` | number | No | Minimum timestamp in Unix milliseconds \(e.g., 1704067200000\) |
445-
| `maxTs` | number | No | Maximum timestamp in Unix milliseconds \(e.g., 1704153600000\) |
465+
| `minTs` | number | No | Minimum timestamp in Unix seconds \(e.g., 1704067200\) |
466+
| `maxTs` | number | No | Maximum timestamp in Unix seconds \(e.g., 1704153600\) |
446467
| `limit` | string | No | Number of results to return \(1-1000, default: 100\) |
447468
| `cursor` | string | No | Pagination cursor from previous response for fetching next page |
448469

@@ -463,6 +484,41 @@ Retrieve your portfolio
463484
|`created_time` | string | Trade execution time \(ISO 8601\) |
464485
| `cursor` | string | Pagination cursor for fetching more results |
465486

487+
### `kalshi_get_settlements`
488+
489+
Retrieve your portfolio settlement history from Kalshi (V2 - exact API response)
490+
491+
#### Input
492+
493+
| Parameter | Type | Required | Description |
494+
| --------- | ---- | -------- | ----------- |
495+
| `keyId` | string | Yes | Your Kalshi API Key ID |
496+
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
497+
| `ticker` | string | No | Filter by market ticker \(e.g., "KXBTC-24DEC31"\) |
498+
| `eventTicker` | string | No | Filter by event ticker \(e.g., "KXBTC-24DEC31"\) |
499+
| `minTs` | number | No | Minimum settled timestamp in Unix seconds \(e.g., 1704067200\) |
500+
| `maxTs` | number | No | Maximum settled timestamp in Unix seconds \(e.g., 1704153600\) |
501+
| `limit` | string | No | Number of results to return \(1-1000, default: 100\) |
502+
| `cursor` | string | No | Pagination cursor from previous response for fetching next page |
503+
504+
#### Output
505+
506+
| Parameter | Type | Description |
507+
| --------- | ---- | ----------- |
508+
| `settlements` | array | Array of settlement objects with all API fields |
509+
|`ticker` | string | Market ticker |
510+
|`event_ticker` | string | Event ticker |
511+
|`market_result` | string | Settlement outcome \(yes, no, scalar\) |
512+
|`yes_count_fp` | string | Yes contracts owned \(fixed-point\) |
513+
|`yes_total_cost_dollars` | string | Yes cost basis in dollars |
514+
|`no_count_fp` | string | No contracts owned \(fixed-point\) |
515+
|`no_total_cost_dollars` | string | No cost basis in dollars |
516+
|`revenue` | number | Payout in cents |
517+
|`settled_time` | string | Settlement timestamp \(ISO 8601\) |
518+
|`fee_cost` | string | Fees in fixed-point dollars |
519+
|`value` | number | Single yes contract payout in cents |
520+
| `cursor` | string | Pagination cursor for fetching more results |
521+
466522
### `kalshi_get_series_by_ticker`
467523

468524
Retrieve details of a specific market series by ticker (V2 - exact API response)
@@ -493,6 +549,29 @@ Retrieve details of a specific market series by ticker (V2 - exact API response)
493549
|`volume` | number | Series volume |
494550
|`volume_fp` | number | Volume \(fixed-point\) |
495551

552+
### `kalshi_get_series_list`
553+
554+
Retrieve a list of market series from Kalshi with optional filtering (V2 - exact API response)
555+
556+
#### Input
557+
558+
| Parameter | Type | Required | Description |
559+
| --------- | ---- | -------- | ----------- |
560+
| `category` | string | No | Filter by category \(e.g., "Economics", "Politics", "Crypto"\) |
561+
| `tags` | string | No | Filter by comma-separated tags |
562+
563+
#### Output
564+
565+
| Parameter | Type | Description |
566+
| --------- | ---- | ----------- |
567+
| `series` | array | Array of series objects with all API fields |
568+
|`ticker` | string | Unique series ticker |
569+
|`title` | string | Series title |
570+
|`frequency` | string | Event frequency \(daily, weekly, etc.\) |
571+
|`category` | string | Series category |
572+
|`tags` | array | Series tags |
573+
|`contract_url` | string | Contract rules URL |
574+
496575
### `kalshi_get_exchange_status`
497576

498577
Retrieve the current status of the Kalshi exchange (V2 - exact API response)
@@ -510,6 +589,42 @@ Retrieve the current status of the Kalshi exchange (V2 - exact API response)
510589
| `trading_active` | boolean | Whether trading is active |
511590
| `exchange_estimated_resume_time` | string | Estimated time when exchange will resume \(if inactive\) |
512591

592+
### `kalshi_get_exchange_schedule`
593+
594+
Retrieve the Kalshi exchange trading schedule and maintenance windows (V2 - exact API response)
595+
596+
#### Input
597+
598+
| Parameter | Type | Required | Description |
599+
| --------- | ---- | -------- | ----------- |
600+
601+
#### Output
602+
603+
| Parameter | Type | Description |
604+
| --------- | ---- | ----------- |
605+
| `schedule` | object | Exchange schedule \(all times in ET\) |
606+
|`standard_hours` | array | Weekly schedules with per-day open/close trading sessions |
607+
|`maintenance_windows` | array | Scheduled maintenance windows with start_datetime and end_datetime |
608+
609+
### `kalshi_get_exchange_announcements`
610+
611+
Retrieve exchange-wide announcements from Kalshi (V2 - exact API response)
612+
613+
#### Input
614+
615+
| Parameter | Type | Required | Description |
616+
| --------- | ---- | -------- | ----------- |
617+
618+
#### Output
619+
620+
| Parameter | Type | Description |
621+
| --------- | ---- | ----------- |
622+
| `announcements` | array | Array of exchange announcement objects |
623+
|`type` | string | Announcement severity \(info, warning, error\) |
624+
|`message` | string | Announcement message |
625+
|`delivery_time` | string | Delivery time \(ISO 8601\) |
626+
|`status` | string | Announcement status \(active, inactive\) |
627+
513628
### `kalshi_create_order`
514629

515630
Create a new order on a Kalshi prediction market (V2 with full API response)
@@ -644,8 +759,8 @@ Modify the price or quantity of an existing order on Kalshi (V2 with full API re
644759
| `ticker` | string | Yes | Market ticker identifier \(e.g., "KXBTC-24DEC31", "INX-25JAN03-T4485.99"\) |
645760
| `side` | string | Yes | Side of the order: "yes" or "no" |
646761
| `action` | string | Yes | Action type: "buy" or "sell" |
647-
| `clientOrderId` | string | Yes | Original client-specified order ID |
648-
| `updatedClientOrderId` | string | Yes | New client-specified order ID after amendment |
762+
| `clientOrderId` | string | No | Original client-specified order ID |
763+
| `updatedClientOrderId` | string | No | New client-specified order ID after amendment |
649764
| `count` | string | No | Updated quantity for the order \(e.g., "10", "100"\) |
650765
| `yesPrice` | string | No | Updated yes price in cents \(1-99\) |
651766
| `noPrice` | string | No | Updated no price in cents \(1-99\) |

apps/docs/content/docs/en/tools/launchdarkly.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ List audit log entries from your LaunchDarkly account.
106106
| --------- | ---- | -------- | ----------- |
107107
| `apiKey` | string | Yes | LaunchDarkly API key |
108108
| `limit` | number | No | Maximum number of entries to return \(default 10, max 20\) |
109-
| `spec` | string | No | Resource specifier filter \(e.g. "resourceType:flag" for all flag changes, or "proj/default:env/production:flag/my-flag" for one flag in one environment\) |
109+
| `spec` | string | No | Resource specifier filter \(e.g. "proj/*:env/*:flag/*" for all flag changes, or "proj/default:env/production:flag/my-flag" for one flag in one environment\) |
110110

111111
#### Output
112112

apps/docs/content/docs/en/tools/luma.mdx

Lines changed: 108 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Whether you're running community meetups, conferences, or internal team events,
3030

3131
## Usage Instructions
3232

33-
Integrate Luma into the workflow. Can create events, update events, get event details, list calendar events, get guest lists, and add guests to events.
33+
Integrate Luma into the workflow. Can create, update, look up, and cancel events, list calendar events, manage guest lists (get one or many, add guests, send invites, and update approval status).
3434

3535

3636

@@ -217,6 +217,47 @@ List events from your Luma calendar with optional date range filtering, sorting,
217217
| `hasMore` | boolean | Whether more results are available for pagination |
218218
| `nextCursor` | string | Cursor to pass as paginationCursor to fetch the next page |
219219

220+
### `luma_lookup_event`
221+
222+
Look up an event by its public URL or event ID to resolve its canonical ID, API ID, and approval status.
223+
224+
#### Input
225+
226+
| Parameter | Type | Required | Description |
227+
| --------- | ---- | -------- | ----------- |
228+
| `apiKey` | string | Yes | Luma API key |
229+
| `url` | string | No | Public event URL on lu.ma \(provide this or an event ID\) |
230+
| `eventId` | string | No | Event ID to look up \(starts with evt-\). Provide this or a URL. |
231+
| `platform` | string | No | Event platform to look up: luma or external \(defaults to luma\) |
232+
233+
#### Output
234+
235+
| Parameter | Type | Description |
236+
| --------- | ---- | ----------- |
237+
| `found` | boolean | Whether a matching event was found |
238+
| `eventId` | string | Resolved event ID |
239+
| `apiId` | string | Resolved event API ID \(deprecated identifier\) |
240+
| `status` | string | Event approval status \(approved, pending, rejected\) |
241+
242+
### `luma_cancel_event`
243+
244+
Cancel a Luma event. This is irreversible and notifies all registered guests. Requires a cancellation token obtained from the Request Event Cancellation endpoint.
245+
246+
#### Input
247+
248+
| Parameter | Type | Required | Description |
249+
| --------- | ---- | -------- | ----------- |
250+
| `apiKey` | string | Yes | Luma API key |
251+
| `eventId` | string | Yes | Event ID to cancel \(starts with evt-\) |
252+
| `cancellationToken` | string | Yes | Cancellation token from the Request Event Cancellation endpoint \(POST /v1/event/cancel/request\) |
253+
| `shouldRefund` | boolean | No | Whether to refund paid guests. Required if the event has paid registrations. |
254+
255+
#### Output
256+
257+
| Parameter | Type | Description |
258+
| --------- | ---- | ----------- |
259+
| `cancelled` | boolean | Whether the event was successfully cancelled |
260+
220261
### `luma_get_guests`
221262

222263
Retrieve the guest list for a Luma event with optional filtering by approval status, sorting, and pagination.
@@ -247,28 +288,28 @@ Retrieve the guest list for a Luma event with optional filtering by approval sta
247288
|`registeredAt` | string | Registration timestamp \(ISO 8601\) |
248289
|`invitedAt` | string | Invitation timestamp \(ISO 8601\) |
249290
|`joinedAt` | string | Join timestamp \(ISO 8601\) |
250-
|`checkedInAt` | string | Check-in timestamp \(ISO 8601\) |
291+
|`checkedInAt` | string | Check-in timestamp from the first checked-in ticket \(ISO 8601\) |
251292
|`phoneNumber` | string | Guest phone number |
252293
| `hasMore` | boolean | Whether more results are available for pagination |
253294
| `nextCursor` | string | Cursor to pass as paginationCursor to fetch the next page |
254295

255-
### `luma_add_guests`
296+
### `luma_get_guest`
256297

257-
Add guests to a Luma event by email. Guests are added with Going (approved) status and receive one ticket of the default ticket type.
298+
Retrieve a single guest
258299

259300
#### Input
260301

261302
| Parameter | Type | Required | Description |
262303
| --------- | ---- | -------- | ----------- |
263304
| `apiKey` | string | Yes | Luma API key |
264-
| `eventId` | string | Yes | Event ID \(starts with evt-\) |
265-
| `guests` | string | Yes | JSON array of guest objects. Each guest requires an "email" field and optionally "name", "first_name", "last_name". Example: \[\{"email": "user@example.com", "name": "John Doe"\}\] |
305+
| `eventId` | string | Yes | Event ID the guest belongs to \(starts with evt-\) |
306+
| `guestIdentifier` | string | Yes | Guest ID \(gst-...\), guest key \(g-...\), ticket key, or the guest's email address |
266307

267308
#### Output
268309

269310
| Parameter | Type | Description |
270311
| --------- | ---- | ----------- |
271-
| `guests` | array | List of added guests with their assigned status and ticket info |
312+
| `guest` | object | Guest details |
272313
|`id` | string | Guest ID |
273314
|`email` | string | Guest email address |
274315
|`name` | string | Guest full name |
@@ -278,7 +319,66 @@ Add guests to a Luma event by email. Guests are added with Going (approved) stat
278319
|`registeredAt` | string | Registration timestamp \(ISO 8601\) |
279320
|`invitedAt` | string | Invitation timestamp \(ISO 8601\) |
280321
|`joinedAt` | string | Join timestamp \(ISO 8601\) |
281-
|`checkedInAt` | string | Check-in timestamp \(ISO 8601\) |
322+
|`checkedInAt` | string | Check-in timestamp from the first checked-in ticket \(ISO 8601\) |
282323
|`phoneNumber` | string | Guest phone number |
283324

325+
### `luma_add_guests`
326+
327+
Add guests to a Luma event by email. Guests are added with Going (approved) status and receive one ticket of the default ticket type.
328+
329+
#### Input
330+
331+
| Parameter | Type | Required | Description |
332+
| --------- | ---- | -------- | ----------- |
333+
| `apiKey` | string | Yes | Luma API key |
334+
| `eventId` | string | Yes | Event ID \(starts with evt-\) |
335+
| `guests` | string | Yes | JSON array of guest objects. Each guest requires an "email" field and optionally "name", "first_name", "last_name". Example: \[\{"email": "user@example.com", "name": "John Doe"\}\] |
336+
337+
#### Output
338+
339+
| Parameter | Type | Description |
340+
| --------- | ---- | ----------- |
341+
| `added` | number | Number of guests submitted to the event \(added with Going/approved status\) |
342+
343+
### `luma_send_invites`
344+
345+
Send email invitations to guests for a Luma event. Unlike Add Guests (which registers guests directly), this emails an invite that recipients can accept.
346+
347+
#### Input
348+
349+
| Parameter | Type | Required | Description |
350+
| --------- | ---- | -------- | ----------- |
351+
| `apiKey` | string | Yes | Luma API key |
352+
| `eventId` | string | Yes | Event ID to invite guests to \(starts with evt-\) |
353+
| `guests` | string | Yes | JSON array of guest objects. Each guest requires an "email" field and optionally "name". Example: \[\{"email": "user@example.com", "name": "John Doe"\}\] |
354+
| `message` | string | No | Optional custom message included in the invite email \(max 200 characters\) |
355+
356+
#### Output
357+
358+
| Parameter | Type | Description |
359+
| --------- | ---- | ----------- |
360+
| `invited` | number | Number of guests invited to the event |
361+
362+
### `luma_update_guest_status`
363+
364+
Update a guest
365+
366+
#### Input
367+
368+
| Parameter | Type | Required | Description |
369+
| --------- | ---- | -------- | ----------- |
370+
| `apiKey` | string | Yes | Luma API key |
371+
| `eventId` | string | No | Event ID the guest belongs to \(starts with evt-\) |
372+
| `guestIdentifier` | string | Yes | Guest email address or guest ID \(gst-...\). Values containing '@' are treated as emails; otherwise as a guest ID. |
373+
| `status` | string | Yes | New approval status: approved, declined, pending_approval, or waitlist |
374+
| `shouldRefund` | boolean | No | Refund a paid guest when moving them out of an approved state \(defaults to false\) |
375+
| `sendEmail` | boolean | No | Whether to email the guest about the status change \(defaults to true\) |
376+
377+
#### Output
378+
379+
| Parameter | Type | Description |
380+
| --------- | ---- | ----------- |
381+
| `status` | string | The approval status applied to the guest |
382+
| `guest` | string | The guest identifier \(email or ID\) that was updated |
383+
284384

0 commit comments

Comments
 (0)