puntersedge 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,10 +17,10 @@
17
17
  * Option names are camelCase and map to the API's snake_case query parameters. Two parameters
18
18
  * are camelCase on the wire too (`oddsFormat`, `maxAgeMinutes`); those pass through untouched.
19
19
  */
20
- import { type Query, type RequestOptions, type Result } from "./http.js";
20
+ import { type HttpMethod, type Query, type RequestOptions, type Result } from "./http.js";
21
21
  import type { Credits } from "./credits.js";
22
- import type { AcceptancesOut, ArchiveCoverageOut, BackfillStatusOut, BackfillSubmitOut, BestOddsEventOut, BestPricesOut, ClosingLinesOut, ConnectorHealthOut, GreyhoundFormOut, GreyhoundStatsOut, HorseFormOut, LinesArbOut, MoverOut, NextRaceOut, PremiershipOut, PriceHistoryOut, PricePathsOut, RaceEventOut, RaceResultOut, RacingBestOddsOut, RacingChangesOut, ResultsCoverageOut, SportOddsEventOut, SportOut, SportsArbOut, TrackConditionsOut, UsageOut, VenueOut, WebhookDeliveryResponse, WebhookResponse } from "./types.generated.js";
23
- export declare const VERSION = "1.0.2";
22
+ import type { AcceptancesOut, ArchiveCoverageOut, BackfillStatusOut, BackfillSubmitOut, BestOddsEventOut, BestPricesOut, BulkCatalogueOut, ClosingLinesOut, ClvIn, ClvOut, ConnectorHealthOut, GreyhoundFormOut, GreyhoundStatsOut, HorseFormOut, HorseRunsOut, LinesArbOut, MoverOut, NextRaceOut, OverageOut, PremiershipOut, PriceHistoryOut, PricePathsOut, RaceEventOut, RaceResultOut, RacingBestOddsOut, RacingChangesOut, ResultsCoverageOut, RewardIn, SportOddsEventOut, SportOut, SportsArbOut, TeamKeyIn, TeamKeyListOut, TeamKeyMintOut, TeamKeyOut, TeamKeyPatchIn, TrackConditionsOut, UsageOut, VenueOut, WebhookDeliveryResponse, WebhookResponse } from "./types.generated.js";
23
+ export declare const VERSION = "1.2.0";
24
24
  /** Default base URL. The API is also reachable at `https://puntersedge.online/api`. */
25
25
  export declare const DEFAULT_BASE_URL = "https://api.puntersedge.online";
26
26
  /** Per-call transport controls, accepted by every method. */
@@ -145,18 +145,37 @@ export interface PremiershipOptions extends CallOptions {
145
145
  season?: "current" | "previous";
146
146
  }
147
147
  /**
148
- * Thoroughbred and greyhound form, and the paced bulk backfill queue.
148
+ * Thoroughbred form and runs, and the paced bulk backfill queue.
149
149
  *
150
- * Form is collected from Racing Australia and Topaz on a deliberate pace — the upstream rate-
151
- * limits hard, and a burst gets the whole estate flagged. `backfill` is the supported way to ask
152
- * for many horses: you submit a batch, the queue collects them at a sustainable rate, and you
153
- * collect the results when they land. Looping `form()` over 400 horses is the unsupported way.
150
+ * `form()` is Racing Australia's own form page for one horse, read on a deliberate pace — the
151
+ * upstream rate-limits hard, and a burst gets the whole estate flagged. `backfill` is the
152
+ * supported way to ask for many horses: you submit a batch, the queue collects them at a
153
+ * sustainable rate, and you collect the results when they land. Looping `form()` over 400
154
+ * horses is the unsupported way. `runs()` is our own record of the horse out of the results we
155
+ * settle ourselves, and does not depend on that page being served.
156
+ *
157
+ * Identity: every thoroughbred runner, placing, archive row and form response carries
158
+ * `horse_ref` (`pe:<name>`), the same value everywhere — join a horse across meetings on it.
159
+ * `runner_ref` (`ra:<code>`) is Racing Australia's code for that meeting's entry and changes
160
+ * from meeting to meeting, so it joins a row to its own meeting only.
154
161
  */
155
162
  declare class HorsesAPI {
156
163
  private readonly pe;
157
164
  constructor(pe: PuntersEdge);
158
- /** Form, career record and profile for one horse. 3 credits. */
165
+ /**
166
+ * Racing Australia's form page for one horse: career record, profile and recent runs. 3 credits.
167
+ * `horse` is a name, its `pe:` horse_ref (the same thing, folded) or an `ra:` runner_ref, which
168
+ * pins one meeting's entry. A 503 means the upstream is refusing fresh reads; `runs()` still answers.
169
+ */
159
170
  form(horse: string, options?: CallOptions): Promise<HorseFormOut>;
171
+ /**
172
+ * Every run we hold for one horse out of our own settled results, newest first, with a
173
+ * starts/wins/places summary. 3 credits. Not a career: the record starts at the first complete
174
+ * card we settled (1 September 2026) and only grows. Takes a name or a `pe:` horse_ref.
175
+ */
176
+ runs(horse: string, options?: CallOptions & {
177
+ limit?: number;
178
+ }): Promise<HorseRunsOut>;
160
179
  /** Queue a batch of horses for paced form collection. 3 credits. */
161
180
  submitBackfill(body: {
162
181
  horses: string[];
@@ -173,14 +192,15 @@ declare class GreyhoundsAPI {
173
192
  private readonly pe;
174
193
  constructor(pe: PuntersEdge);
175
194
  /**
176
- * Form history for one dog. 3 credits.
177
- * `dog` is a name or a Topaz dogId; names match case- and punctuation-insensitively.
195
+ * Form history for one dog, out of our own results since 13 September 2026. 3 credits.
196
+ * `dog` is a name or a registry ref from results (`grv:<id>` on Victorian tracks, `grsa:<id>`
197
+ * elsewhere); names match case- and punctuation-insensitively and join a dog across both.
178
198
  */
179
199
  form(dog: string, options?: CallOptions & {
180
200
  limit?: number;
181
201
  }): Promise<GreyhoundFormOut>;
182
202
  /**
183
- * Record by track, distance, box or grade. 3 credits.
203
+ * Record by track, distance or box, out of our own results. 3 credits.
184
204
  * `by` crosses dimensions: `["track", "distance"]` groups by both.
185
205
  */
186
206
  stats(dog: string, options?: CallOptions & {
@@ -205,7 +225,11 @@ declare class RacingAPI {
205
225
  bestOdds(options?: RacingBestOddsOptions): Promise<RacingBestOddsOut[]>;
206
226
  /** Consensus steamers and drifters in the live window. 3 credits. */
207
227
  movers(options?: MoversOptions): Promise<MoverOut[]>;
208
- /** Settled results: placings, settled prices, dividends and scratchings. 2 credits. */
228
+ /**
229
+ * Settled results: placings, the full finishing order, settled prices, dividends and
230
+ * scratchings. 2 credits. Every thoroughbred runner and placing carries `horse_ref`, the key
231
+ * that joins a horse across meetings; `runner_ref` is that meeting's Racing Australia entry code.
232
+ */
209
233
  results(options?: RaceResultsOptions): Promise<RaceResultOut[]>;
210
234
  /** What the results field coverage actually is, measured rather than promised. 1 credit. */
211
235
  resultsCoverage(options?: CallOptions & {
@@ -226,13 +250,17 @@ declare class RacingAPI {
226
250
  *
227
251
  * See `closingLinesCsv` for the bulk form, which costs 20 — the archive endpoints are the
228
252
  * only two on the API whose price depends on the format you ask for.
253
+ *
254
+ * Thoroughbred rows carry `horse_ref` (the last column), so one horse's closing lines across
255
+ * meetings are a single group; `runner_ref` joins a row to its own meeting's result and form.
229
256
  */
230
257
  closingLines(options?: ClosingLinesOptions): Promise<ClosingLinesOut>;
231
258
  /** What the closing-line archive actually holds — its floor date, row count and coverage. 1 credit. */
232
259
  closingLinesCoverage(options?: CallOptions): Promise<ArchiveCoverageOut>;
233
260
  /**
234
261
  * Bulk export of the permanent price-movement archive. **5 credits.** Standard plan and
235
- * above. The CSV form (`pricePathsCsv`) costs 20.
262
+ * above. The CSV form (`pricePathsCsv`) costs 20. Thoroughbred rows carry `horse_ref` (the
263
+ * last column), the key that groups one horse's price paths across meetings.
236
264
  */
237
265
  pricePaths(options?: ArchiveOptions): Promise<PricePathsOut>;
238
266
  /** Canonical venue directory: `venue_id`, display name and physical site. 1 credit. */
@@ -264,6 +292,17 @@ declare class RacingAPI {
264
292
  * **20 credits, not 5** — same bulk-export pricing as `closingLinesCsv`.
265
293
  */
266
294
  pricePathsCsv(options?: ArchiveOptions): Promise<string>;
295
+ /**
296
+ * Score bets you struck against the closing line each race actually closed at: per bet the
297
+ * closing price, the closing-line value in percent, whether it beat the close, the result and
298
+ * the flat-stake P&L; across the list the average and median CLV, the beat-the-close rate,
299
+ * the win rate and the ROI. 5 credits per request, up to 200 bets. Plus plan and above.
300
+ *
301
+ * Name a race by `race_id`, or by `venue` + `meeting_date` + `race_number`; name a runner by
302
+ * `runner_ref` (exact), `runner_number` or `runner_name`. A bet the archive cannot resolve
303
+ * comes back with a `reason` and is left out of the averages rather than guessed.
304
+ */
305
+ clv(input: ClvIn, options?: CallOptions): Promise<ClvOut>;
267
306
  }
268
307
  export interface SportOddsOptions extends CallOptions, BookmakerFilter {
269
308
  /** `h2h`, `spreads`, `totals`. **Billed one credit per market requested.** */
@@ -366,6 +405,51 @@ declare class AccountAPI {
366
405
  }): Promise<unknown>;
367
406
  /** Restrict this key to a set of source IPs. Free. Pass `[]` to clear the whitelist. */
368
407
  setIpWhitelist(ips: string[], options?: CallOptions): Promise<unknown>;
408
+ /**
409
+ * Overage: whether this account may run past its monthly allowance, the rate, the ceiling
410
+ * the API enforces, and what this period would be invoiced if it ended now. Free, no credits.
411
+ */
412
+ overage(options?: CallOptions): Promise<OverageOut>;
413
+ /**
414
+ * Switch overage on or off. Free, no credits. Primary key only, commercial tiers only.
415
+ * On: calls continue past the allowance up to `ceiling` and the excess is invoiced at
416
+ * `rate_per_1000_cents` per thousand credits. Off: the hard 402 at the allowance returns at
417
+ * once, and any overage already served this period is still invoiced.
418
+ */
419
+ setOverage(enabled: boolean, options?: CallOptions): Promise<OverageOut>;
420
+ /**
421
+ * The primary key and every active team key on this account, with each one's calls and
422
+ * credits this period, its cap if it has one, and the shared pool's balance. Free, no credits.
423
+ */
424
+ teamKeys(options?: CallOptions): Promise<TeamKeyListOut>;
425
+ /**
426
+ * Mint another key on this account. Free, no credits. Business, Platform and Scale plans
427
+ * hold three, five and ten keys in total, the primary included. The key shares the pool and
428
+ * plan, has its own rate-limit bucket, IP whitelist and usage line, and can be capped with
429
+ * `monthly_cap`. The key string is returned once and stored hashed: if it is lost, revoke it
430
+ * and mint again.
431
+ */
432
+ mintTeamKey(input: TeamKeyIn, options?: CallOptions): Promise<TeamKeyMintOut>;
433
+ /**
434
+ * Change a team key's monthly cap or label. Free, no credits. Only the fields present in
435
+ * `input` are written: `{ monthly_cap: null }` removes the cap; `{ label }` alone renames it.
436
+ */
437
+ updateTeamKey(keyId: string, input: TeamKeyPatchIn, options?: CallOptions): Promise<TeamKeyOut>;
438
+ /**
439
+ * Revoke a team key. Free, no credits. It stops authenticating on the next request; its
440
+ * usage history stays in the account's breakdown.
441
+ */
442
+ revokeTeamKey(keyId: string, options?: CallOptions): Promise<Record<string, unknown>>;
443
+ /**
444
+ * Your referral code, the link to share, and what it has earned. Free. The code is minted on
445
+ * the first call and never changes; `terms` in the response carries the live commission terms.
446
+ */
447
+ referral(options?: CallOptions): Promise<Record<string, unknown>>;
448
+ /**
449
+ * Choose `cash` or `credits` for referral commission accrued from here on, and where a cash
450
+ * remittance should go. Free. Commission already in the ledger keeps the form it was earned in.
451
+ */
452
+ setReferralPayout(input: RewardIn, options?: CallOptions): Promise<Record<string, unknown>>;
369
453
  }
370
454
  export interface WebhookCreateInput {
371
455
  /** Your HTTPS endpoint. */
@@ -429,6 +513,52 @@ declare class DemoAPI {
429
513
  sport?: string;
430
514
  }): Promise<Record<string, unknown>>;
431
515
  }
516
+ export interface BulkDownloadOptions extends CallOptions {
517
+ /** `parquet` (typed columns, snappy) or `csv` (gzip). The server's default applies when omitted. */
518
+ format?: "parquet" | "csv";
519
+ /**
520
+ * The file's digest from a previous download (`etag`) or from the catalogue (`sha256`). A match
521
+ * is a 304: `unchanged: true`, no bytes, nothing charged.
522
+ */
523
+ ifNoneMatch?: string;
524
+ }
525
+ export interface BulkDownload {
526
+ /** True when `ifNoneMatch` matched: the file has not changed and nothing was charged. */
527
+ unchanged: boolean;
528
+ /** The file as served: a Parquet file, or a gzip-compressed CSV. Undefined when `unchanged`. */
529
+ bytes?: Uint8Array;
530
+ /** The file's sha256, quoted as the server sends it. Pass it back as `ifNoneMatch` next time. */
531
+ etag?: string;
532
+ rows?: number;
533
+ generatedAt?: string;
534
+ contentType?: string;
535
+ }
536
+ /**
537
+ * Pre-built dataset files: one request returns a whole Sydney meeting day or a calendar month as
538
+ * one Parquet or gzip-CSV file, with exactly the rows the paged endpoints would give you. Daily
539
+ * files need the Business plan or above; monthly bundles need Platform or above.
540
+ *
541
+ * Read the catalogue before pulling, and re-read it nightly: a day's file is regenerated for
542
+ * three nights after the day (late results, late closing lines) and its digest changes when its
543
+ * rows do. Send the digest back as `ifNoneMatch` and an unchanged file costs nothing.
544
+ */
545
+ declare class BulkAPI {
546
+ private readonly pe;
547
+ constructor(pe: PuntersEdge);
548
+ /**
549
+ * Every dataset published as files, with the daily files and monthly bundles that exist right
550
+ * now: rows, bytes per format, digest, generation time and URL. Free, no credits.
551
+ */
552
+ datasets(options?: CallOptions & {
553
+ dataset?: string;
554
+ }): Promise<BulkCatalogueOut>;
555
+ /**
556
+ * One dataset file. 20 credits for a daily file, 100 for a monthly bundle, charged when the
557
+ * file is served; a 304 on a matching `ifNoneMatch` costs nothing. `period` is `YYYY-MM-DD`
558
+ * for a Sydney meeting day or `YYYY-MM` for a calendar month.
559
+ */
560
+ download(dataset: string, period: string, options?: BulkDownloadOptions): Promise<BulkDownload>;
561
+ }
432
562
  export interface PuntersEdgeOptions {
433
563
  /** Your key. Get a free one at https://puntersedge.online/api. Optional: the sandbox needs none. */
434
564
  apiKey?: string;
@@ -465,6 +595,7 @@ export declare class PuntersEdge {
465
595
  readonly webhooks: WebhooksAPI;
466
596
  readonly health: HealthAPI;
467
597
  readonly demo: DemoAPI;
598
+ readonly bulk: BulkAPI;
468
599
  /**
469
600
  * Credit accounting from the most recent billed response — balance, cost, and the upgrade
470
601
  * recommendation once you cross the warning threshold. Undefined until the first billed call.
@@ -483,12 +614,14 @@ export declare class PuntersEdge {
483
614
  credits?: Credits;
484
615
  }>;
485
616
  /** Escape hatch: any endpoint, including ones added after this SDK was published. */
486
- raw<T>(method: "GET" | "POST" | "DELETE", path: string, params?: Query, body?: unknown, options?: RequestOptions): Promise<Result<T>>;
617
+ raw<T>(method: HttpMethod, path: string, params?: Query, body?: unknown, options?: RequestOptions): Promise<Result<T>>;
487
618
  /** @internal */
488
619
  get<T>(path: string, options?: object, extraHeaders?: Record<string, string>): Promise<T>;
489
620
  /** @internal */
490
621
  post<T>(path: string, body?: unknown, options?: CallOptions): Promise<T>;
491
622
  /** @internal */
623
+ patch<T>(path: string, body?: unknown, options?: CallOptions): Promise<T>;
624
+ /** @internal */
492
625
  delete<T>(path: string, options?: CallOptions): Promise<T>;
493
626
  }
494
627
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,9 @@
17
17
  * Option names are camelCase and map to the API's snake_case query parameters. Two parameters
18
18
  * are camelCase on the wire too (`oddsFormat`, `maxAgeMinutes`); those pass through untouched.
19
19
  */
20
- import { request } from "./http.js";
21
- export const VERSION = "1.0.2";
20
+ import { request, } from "./http.js";
21
+ import { PuntersEdgeError } from "./errors.js";
22
+ export const VERSION = "1.2.0";
22
23
  /** Default base URL. The API is also reachable at `https://puntersedge.online/api`. */
23
24
  export const DEFAULT_BASE_URL = "https://api.puntersedge.online";
24
25
  /**
@@ -57,22 +58,41 @@ function split(options) {
57
58
  return { params: q(rest), request: { signal, timeoutMs, headers } };
58
59
  }
59
60
  /**
60
- * Thoroughbred and greyhound form, and the paced bulk backfill queue.
61
+ * Thoroughbred form and runs, and the paced bulk backfill queue.
61
62
  *
62
- * Form is collected from Racing Australia and Topaz on a deliberate pace — the upstream rate-
63
- * limits hard, and a burst gets the whole estate flagged. `backfill` is the supported way to ask
64
- * for many horses: you submit a batch, the queue collects them at a sustainable rate, and you
65
- * collect the results when they land. Looping `form()` over 400 horses is the unsupported way.
63
+ * `form()` is Racing Australia's own form page for one horse, read on a deliberate pace — the
64
+ * upstream rate-limits hard, and a burst gets the whole estate flagged. `backfill` is the
65
+ * supported way to ask for many horses: you submit a batch, the queue collects them at a
66
+ * sustainable rate, and you collect the results when they land. Looping `form()` over 400
67
+ * horses is the unsupported way. `runs()` is our own record of the horse out of the results we
68
+ * settle ourselves, and does not depend on that page being served.
69
+ *
70
+ * Identity: every thoroughbred runner, placing, archive row and form response carries
71
+ * `horse_ref` (`pe:<name>`), the same value everywhere — join a horse across meetings on it.
72
+ * `runner_ref` (`ra:<code>`) is Racing Australia's code for that meeting's entry and changes
73
+ * from meeting to meeting, so it joins a row to its own meeting only.
66
74
  */
67
75
  class HorsesAPI {
68
76
  pe;
69
77
  constructor(pe) {
70
78
  this.pe = pe;
71
79
  }
72
- /** Form, career record and profile for one horse. 3 credits. */
80
+ /**
81
+ * Racing Australia's form page for one horse: career record, profile and recent runs. 3 credits.
82
+ * `horse` is a name, its `pe:` horse_ref (the same thing, folded) or an `ra:` runner_ref, which
83
+ * pins one meeting's entry. A 503 means the upstream is refusing fresh reads; `runs()` still answers.
84
+ */
73
85
  form(horse, options) {
74
86
  return this.pe.get("/v1/racing/horses/form", { horse, ...options });
75
87
  }
88
+ /**
89
+ * Every run we hold for one horse out of our own settled results, newest first, with a
90
+ * starts/wins/places summary. 3 credits. Not a career: the record starts at the first complete
91
+ * card we settled (1 September 2026) and only grows. Takes a name or a `pe:` horse_ref.
92
+ */
93
+ runs(horse, options) {
94
+ return this.pe.get("/v1/racing/horses/runs", { horse, ...options });
95
+ }
76
96
  /** Queue a batch of horses for paced form collection. 3 credits. */
77
97
  submitBackfill(body, options) {
78
98
  return this.pe.post("/v1/racing/horses/backfill", body, options);
@@ -96,14 +116,15 @@ class GreyhoundsAPI {
96
116
  this.pe = pe;
97
117
  }
98
118
  /**
99
- * Form history for one dog. 3 credits.
100
- * `dog` is a name or a Topaz dogId; names match case- and punctuation-insensitively.
119
+ * Form history for one dog, out of our own results since 13 September 2026. 3 credits.
120
+ * `dog` is a name or a registry ref from results (`grv:<id>` on Victorian tracks, `grsa:<id>`
121
+ * elsewhere); names match case- and punctuation-insensitively and join a dog across both.
101
122
  */
102
123
  form(dog, options) {
103
124
  return this.pe.get("/v1/racing/greyhounds/form", { dog, ...options });
104
125
  }
105
126
  /**
106
- * Record by track, distance, box or grade. 3 credits.
127
+ * Record by track, distance or box, out of our own results. 3 credits.
107
128
  * `by` crosses dimensions: `["track", "distance"]` groups by both.
108
129
  */
109
130
  stats(dog, options) {
@@ -143,7 +164,11 @@ class RacingAPI {
143
164
  movers(options) {
144
165
  return this.pe.get("/v1/racing/movers", options);
145
166
  }
146
- /** Settled results: placings, settled prices, dividends and scratchings. 2 credits. */
167
+ /**
168
+ * Settled results: placings, the full finishing order, settled prices, dividends and
169
+ * scratchings. 2 credits. Every thoroughbred runner and placing carries `horse_ref`, the key
170
+ * that joins a horse across meetings; `runner_ref` is that meeting's Racing Australia entry code.
171
+ */
147
172
  results(options) {
148
173
  return this.pe.get("/v1/racing/results", options);
149
174
  }
@@ -170,6 +195,9 @@ class RacingAPI {
170
195
  *
171
196
  * See `closingLinesCsv` for the bulk form, which costs 20 — the archive endpoints are the
172
197
  * only two on the API whose price depends on the format you ask for.
198
+ *
199
+ * Thoroughbred rows carry `horse_ref` (the last column), so one horse's closing lines across
200
+ * meetings are a single group; `runner_ref` joins a row to its own meeting's result and form.
173
201
  */
174
202
  closingLines(options) {
175
203
  return this.pe.get("/v1/racing/closing-lines", options);
@@ -180,7 +208,8 @@ class RacingAPI {
180
208
  }
181
209
  /**
182
210
  * Bulk export of the permanent price-movement archive. **5 credits.** Standard plan and
183
- * above. The CSV form (`pricePathsCsv`) costs 20.
211
+ * above. The CSV form (`pricePathsCsv`) costs 20. Thoroughbred rows carry `horse_ref` (the
212
+ * last column), the key that groups one horse's price paths across meetings.
184
213
  */
185
214
  pricePaths(options) {
186
215
  return this.pe.get("/v1/racing/price-paths", options);
@@ -228,6 +257,19 @@ class RacingAPI {
228
257
  pricePathsCsv(options) {
229
258
  return this.pe.get("/v1/racing/price-paths", { ...options, format: "csv" }, { Accept: "text/csv" });
230
259
  }
260
+ /**
261
+ * Score bets you struck against the closing line each race actually closed at: per bet the
262
+ * closing price, the closing-line value in percent, whether it beat the close, the result and
263
+ * the flat-stake P&L; across the list the average and median CLV, the beat-the-close rate,
264
+ * the win rate and the ROI. 5 credits per request, up to 200 bets. Plus plan and above.
265
+ *
266
+ * Name a race by `race_id`, or by `venue` + `meeting_date` + `race_number`; name a runner by
267
+ * `runner_ref` (exact), `runner_number` or `runner_name`. A bet the archive cannot resolve
268
+ * comes back with a `reason` and is left out of the averages rather than guessed.
269
+ */
270
+ clv(input, options) {
271
+ return this.pe.post("/v1/racing/clv", input, options);
272
+ }
231
273
  }
232
274
  /** Australian sports odds. Racing is NOT here — see `pe.racing`. */
233
275
  class SportsAPI {
@@ -330,6 +372,67 @@ class AccountAPI {
330
372
  return this.pe.raw("POST", "/v1/keys/ip-whitelist", undefined, ips, request)
331
373
  .then((r) => r.data);
332
374
  }
375
+ /**
376
+ * Overage: whether this account may run past its monthly allowance, the rate, the ceiling
377
+ * the API enforces, and what this period would be invoiced if it ended now. Free, no credits.
378
+ */
379
+ overage(options) {
380
+ return this.pe.get("/v1/billing/overage", options);
381
+ }
382
+ /**
383
+ * Switch overage on or off. Free, no credits. Primary key only, commercial tiers only.
384
+ * On: calls continue past the allowance up to `ceiling` and the excess is invoiced at
385
+ * `rate_per_1000_cents` per thousand credits. Off: the hard 402 at the allowance returns at
386
+ * once, and any overage already served this period is still invoiced.
387
+ */
388
+ setOverage(enabled, options) {
389
+ return this.pe.post("/v1/billing/overage", { enabled }, options);
390
+ }
391
+ /**
392
+ * The primary key and every active team key on this account, with each one's calls and
393
+ * credits this period, its cap if it has one, and the shared pool's balance. Free, no credits.
394
+ */
395
+ teamKeys(options) {
396
+ return this.pe.get("/v1/keys/team", options);
397
+ }
398
+ /**
399
+ * Mint another key on this account. Free, no credits. Business, Platform and Scale plans
400
+ * hold three, five and ten keys in total, the primary included. The key shares the pool and
401
+ * plan, has its own rate-limit bucket, IP whitelist and usage line, and can be capped with
402
+ * `monthly_cap`. The key string is returned once and stored hashed: if it is lost, revoke it
403
+ * and mint again.
404
+ */
405
+ mintTeamKey(input, options) {
406
+ return this.pe.post("/v1/keys/team", input, options);
407
+ }
408
+ /**
409
+ * Change a team key's monthly cap or label. Free, no credits. Only the fields present in
410
+ * `input` are written: `{ monthly_cap: null }` removes the cap; `{ label }` alone renames it.
411
+ */
412
+ updateTeamKey(keyId, input, options) {
413
+ return this.pe.patch(`/v1/keys/team/${encodeURIComponent(keyId)}`, input, options);
414
+ }
415
+ /**
416
+ * Revoke a team key. Free, no credits. It stops authenticating on the next request; its
417
+ * usage history stays in the account's breakdown.
418
+ */
419
+ revokeTeamKey(keyId, options) {
420
+ return this.pe.delete(`/v1/keys/team/${encodeURIComponent(keyId)}`, options);
421
+ }
422
+ /**
423
+ * Your referral code, the link to share, and what it has earned. Free. The code is minted on
424
+ * the first call and never changes; `terms` in the response carries the live commission terms.
425
+ */
426
+ referral(options) {
427
+ return this.pe.get("/v1/referral", options);
428
+ }
429
+ /**
430
+ * Choose `cash` or `credits` for referral commission accrued from here on, and where a cash
431
+ * remittance should go. Free. Commission already in the ledger keeps the form it was earned in.
432
+ */
433
+ setReferralPayout(input, options) {
434
+ return this.pe.post("/v1/referral", input, options);
435
+ }
333
436
  }
334
437
  /**
335
438
  * Push delivery instead of polling. Creating a webhook needs the Standard plan or above.
@@ -408,6 +511,60 @@ class DemoAPI {
408
511
  return this.pe.get("/v1/demo/best-odds", options);
409
512
  }
410
513
  }
514
+ /**
515
+ * Pre-built dataset files: one request returns a whole Sydney meeting day or a calendar month as
516
+ * one Parquet or gzip-CSV file, with exactly the rows the paged endpoints would give you. Daily
517
+ * files need the Business plan or above; monthly bundles need Platform or above.
518
+ *
519
+ * Read the catalogue before pulling, and re-read it nightly: a day's file is regenerated for
520
+ * three nights after the day (late results, late closing lines) and its digest changes when its
521
+ * rows do. Send the digest back as `ifNoneMatch` and an unchanged file costs nothing.
522
+ */
523
+ class BulkAPI {
524
+ pe;
525
+ constructor(pe) {
526
+ this.pe = pe;
527
+ }
528
+ /**
529
+ * Every dataset published as files, with the daily files and monthly bundles that exist right
530
+ * now: rows, bytes per format, digest, generation time and URL. Free, no credits.
531
+ */
532
+ datasets(options) {
533
+ return this.pe.get("/v1/bulk/datasets", options);
534
+ }
535
+ /**
536
+ * One dataset file. 20 credits for a daily file, 100 for a monthly bundle, charged when the
537
+ * file is served; a 304 on a matching `ifNoneMatch` costs nothing. `period` is `YYYY-MM-DD`
538
+ * for a Sydney meeting day or `YYYY-MM` for a calendar month.
539
+ */
540
+ async download(dataset, period, options = {}) {
541
+ const { format, ifNoneMatch, ...rest } = options;
542
+ const { request: req } = split(rest);
543
+ const headers = { Accept: "*/*", ...req.headers };
544
+ if (ifNoneMatch)
545
+ headers["If-None-Match"] = ifNoneMatch;
546
+ const path = `/v1/bulk/${encodeURIComponent(dataset)}/${encodeURIComponent(period)}`;
547
+ try {
548
+ const r = await this.pe.raw("GET", path, format ? { format } : undefined, undefined, { ...req, headers, responseType: "binary" });
549
+ const rowsHeader = r.headers.get("X-Dataset-Rows");
550
+ const rows = rowsHeader === null ? NaN : Number(rowsHeader);
551
+ return {
552
+ unchanged: false,
553
+ bytes: r.data,
554
+ etag: r.headers.get("ETag") ?? undefined,
555
+ rows: Number.isFinite(rows) ? rows : undefined,
556
+ generatedAt: r.headers.get("X-Dataset-Generated-At") ?? undefined,
557
+ contentType: r.headers.get("Content-Type") ?? undefined,
558
+ };
559
+ }
560
+ catch (err) {
561
+ if (err instanceof PuntersEdgeError && err.status === 304) {
562
+ return { unchanged: true, etag: err.headers?.get("ETag") ?? undefined };
563
+ }
564
+ throw err;
565
+ }
566
+ }
567
+ }
411
568
  /**
412
569
  * ```ts
413
570
  * import { PuntersEdge } from "puntersedge";
@@ -429,6 +586,7 @@ export class PuntersEdge {
429
586
  webhooks = new WebhooksAPI(this);
430
587
  health = new HealthAPI(this);
431
588
  demo = new DemoAPI(this);
589
+ bulk = new BulkAPI(this);
432
590
  /**
433
591
  * Credit accounting from the most recent billed response — balance, cost, and the upgrade
434
592
  * recommendation once you cross the warning threshold. Undefined until the first billed call.
@@ -490,6 +648,11 @@ export class PuntersEdge {
490
648
  return this.raw("POST", path, undefined, body, req).then((r) => r.data);
491
649
  }
492
650
  /** @internal */
651
+ patch(path, body, options) {
652
+ const { request: req } = split(options);
653
+ return this.raw("PATCH", path, undefined, body, req).then((r) => r.data);
654
+ }
655
+ /** @internal */
493
656
  delete(path, options) {
494
657
  const { request: req } = split(options);
495
658
  return this.raw("DELETE", path, undefined, undefined, req).then((r) => r.data);