@axivoy/api 1.27.0 → 1.29.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.
@@ -377,6 +377,160 @@ export interface paths {
377
377
  patch?: never;
378
378
  trace?: never;
379
379
  };
380
+ "/ops/agents.budgets.update": {
381
+ parameters: {
382
+ query?: never;
383
+ header?: never;
384
+ path?: never;
385
+ cookie?: never;
386
+ };
387
+ get?: never;
388
+ put?: never;
389
+ /**
390
+ * Set an agent's limits
391
+ * @description Sets how many runs an agent may start per day, how many tool calls one run may make, and how many AI credits it may use per month. A run that reaches a limit waits for a person.
392
+ *
393
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
394
+ */
395
+ post: operations["ops.agents.budgets.update"];
396
+ delete?: never;
397
+ options?: never;
398
+ head?: never;
399
+ patch?: never;
400
+ trace?: never;
401
+ };
402
+ "/ops/agents.disable": {
403
+ parameters: {
404
+ query?: never;
405
+ header?: never;
406
+ path?: never;
407
+ cookie?: never;
408
+ };
409
+ get?: never;
410
+ put?: never;
411
+ /**
412
+ * Turn an agent off now
413
+ * @description Stops one agent in this workspace: no new runs start, a running turn stops at its next step, and approvals it was waiting on are withdrawn. Only a person on the web can turn it back on.
414
+ *
415
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
416
+ */
417
+ post: operations["ops.agents.disable"];
418
+ delete?: never;
419
+ options?: never;
420
+ head?: never;
421
+ patch?: never;
422
+ trace?: never;
423
+ };
424
+ "/ops/agents.get": {
425
+ parameters: {
426
+ query?: never;
427
+ header?: never;
428
+ path?: never;
429
+ cookie?: never;
430
+ };
431
+ get?: never;
432
+ put?: never;
433
+ /**
434
+ * Get an AI agent
435
+ * @description One AI agent: whether it is on, who turned it off and why, its limits and usage, what it may do, its versions, and what its latest rehearsals would have done.
436
+ *
437
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
438
+ */
439
+ post: operations["ops.agents.get"];
440
+ delete?: never;
441
+ options?: never;
442
+ head?: never;
443
+ patch?: never;
444
+ trace?: never;
445
+ };
446
+ "/ops/agents.list": {
447
+ parameters: {
448
+ query?: never;
449
+ header?: never;
450
+ path?: never;
451
+ cookie?: never;
452
+ };
453
+ get?: never;
454
+ put?: never;
455
+ /**
456
+ * List AI agents
457
+ * @description The workspace's AI agents: whether each is on, who turned it off and why, holds Axivoy placed, its limits, and runs, refusals and AI credits used so far.
458
+ *
459
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
460
+ */
461
+ post: operations["ops.agents.list"];
462
+ delete?: never;
463
+ options?: never;
464
+ head?: never;
465
+ patch?: never;
466
+ trace?: never;
467
+ };
468
+ "/ops/agents.rehearse": {
469
+ parameters: {
470
+ query?: never;
471
+ header?: never;
472
+ path?: never;
473
+ cookie?: never;
474
+ };
475
+ get?: never;
476
+ put?: never;
477
+ /**
478
+ * Try an agent without changing anything
479
+ * @description Runs one turn of an agent version on a real record without changing or sending anything, or on practice data in the sandbox, and records what it would have done on the run timeline.
480
+ *
481
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
482
+ */
483
+ post: operations["ops.agents.rehearse"];
484
+ delete?: never;
485
+ options?: never;
486
+ head?: never;
487
+ patch?: never;
488
+ trace?: never;
489
+ };
490
+ "/ops/agents.runs.cancel": {
491
+ parameters: {
492
+ query?: never;
493
+ header?: never;
494
+ path?: never;
495
+ cookie?: never;
496
+ };
497
+ get?: never;
498
+ put?: never;
499
+ /**
500
+ * Cancel an agent run
501
+ * @description Ends one agent run: the step under way is the last one, and approvals it was waiting on are withdrawn. The agent itself stays on.
502
+ *
503
+ * Kind: `mutate`. Errors use the envelope `{error: {code, reason, message, fields}}`.
504
+ */
505
+ post: operations["ops.agents.runs.cancel"];
506
+ delete?: never;
507
+ options?: never;
508
+ head?: never;
509
+ patch?: never;
510
+ trace?: never;
511
+ };
512
+ "/ops/agents.runs.list": {
513
+ parameters: {
514
+ query?: never;
515
+ header?: never;
516
+ path?: never;
517
+ cookie?: never;
518
+ };
519
+ get?: never;
520
+ put?: never;
521
+ /**
522
+ * List an agent's runs
523
+ * @description One agent's runs, newest first: what each run is about, its status, how many steps it took, the AI credits it used so far, and the last operation it called.
524
+ *
525
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
526
+ */
527
+ post: operations["ops.agents.runs.list"];
528
+ delete?: never;
529
+ options?: never;
530
+ head?: never;
531
+ patch?: never;
532
+ trace?: never;
533
+ };
380
534
  "/ops/ai.jobs.list": {
381
535
  parameters: {
382
536
  query?: never;
@@ -20222,6 +20376,1210 @@ export interface operations {
20222
20376
  };
20223
20377
  };
20224
20378
  };
20379
+ "ops.agents.budgets.update": {
20380
+ parameters: {
20381
+ query?: never;
20382
+ header?: {
20383
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20384
+ "Idempotency-Key"?: string;
20385
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20386
+ "Axivoy-Dry-Run"?: "true" | "false";
20387
+ };
20388
+ path?: never;
20389
+ cookie?: never;
20390
+ };
20391
+ requestBody?: {
20392
+ content: {
20393
+ /**
20394
+ * @example {
20395
+ * "agent_key": "tms_advisor",
20396
+ * "max_tool_calls_per_run": 30,
20397
+ * "monthly_credit_budget": null
20398
+ * }
20399
+ */
20400
+ "application/json": {
20401
+ /** @description The agent's key, for example recruiting_desk. */
20402
+ agent_key: string;
20403
+ /** @description Runs the agent may start per UTC day; null removes the limit, left out keeps it. */
20404
+ max_runs_per_day?: number | null;
20405
+ /** @description Tool calls one run may make; null removes the limit, left out keeps it. */
20406
+ max_tool_calls_per_run?: number | null;
20407
+ /** @description AI credits the agent may use per UTC month; null removes the limit, left out keeps it. */
20408
+ monthly_credit_budget?: number | null;
20409
+ };
20410
+ };
20411
+ };
20412
+ responses: {
20413
+ /** @description The operation ran. */
20414
+ 200: {
20415
+ headers: {
20416
+ [name: string]: unknown;
20417
+ };
20418
+ content: {
20419
+ /**
20420
+ * @example {
20421
+ * "result": {
20422
+ * "message": "Limits saved.",
20423
+ * "active_version": 3,
20424
+ * "max_runs_per_day": 5,
20425
+ * "max_tool_calls_per_run": 30,
20426
+ * "monthly_credit_budget": null
20427
+ * }
20428
+ * }
20429
+ */
20430
+ "application/json": {
20431
+ result: {
20432
+ /** @description What happened, in the operator's words */
20433
+ message: string;
20434
+ /** @description The version that now carries the limits */
20435
+ active_version: number;
20436
+ /** @description Runs per UTC day; null when unlimited */
20437
+ max_runs_per_day?: number | null;
20438
+ /** @description Tool calls per run; null when unlimited */
20439
+ max_tool_calls_per_run?: number | null;
20440
+ /** @description AI credits per UTC month; null when unlimited */
20441
+ monthly_credit_budget?: number | null;
20442
+ };
20443
+ };
20444
+ };
20445
+ };
20446
+ 202: components["responses"]["Proposal"];
20447
+ /** @description Refused: credits_exhausted. */
20448
+ 402: {
20449
+ headers: {
20450
+ [name: string]: unknown;
20451
+ };
20452
+ content: {
20453
+ "application/json": components["schemas"]["OperationError"];
20454
+ };
20455
+ };
20456
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20457
+ 403: {
20458
+ headers: {
20459
+ [name: string]: unknown;
20460
+ };
20461
+ content: {
20462
+ "application/json": components["schemas"]["OperationError"];
20463
+ };
20464
+ };
20465
+ /** @description Refused: not_found. */
20466
+ 404: {
20467
+ headers: {
20468
+ [name: string]: unknown;
20469
+ };
20470
+ content: {
20471
+ "application/json": components["schemas"]["OperationError"];
20472
+ };
20473
+ };
20474
+ /** @description Refused: idempotency_conflict, stale_state. */
20475
+ 409: {
20476
+ headers: {
20477
+ [name: string]: unknown;
20478
+ };
20479
+ content: {
20480
+ "application/json": components["schemas"]["OperationError"];
20481
+ };
20482
+ };
20483
+ /** @description Refused: operation_retired. */
20484
+ 410: {
20485
+ headers: {
20486
+ [name: string]: unknown;
20487
+ };
20488
+ content: {
20489
+ "application/json": components["schemas"]["OperationError"];
20490
+ };
20491
+ };
20492
+ /** @description Refused: invalid_input, domain_rule. */
20493
+ 422: {
20494
+ headers: {
20495
+ [name: string]: unknown;
20496
+ };
20497
+ content: {
20498
+ "application/json": components["schemas"]["OperationError"];
20499
+ };
20500
+ };
20501
+ /** @description Refused: rate_limited. */
20502
+ 429: {
20503
+ headers: {
20504
+ [name: string]: unknown;
20505
+ };
20506
+ content: {
20507
+ "application/json": components["schemas"]["OperationError"];
20508
+ };
20509
+ };
20510
+ };
20511
+ };
20512
+ "ops.agents.disable": {
20513
+ parameters: {
20514
+ query?: never;
20515
+ header?: {
20516
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20517
+ "Idempotency-Key"?: string;
20518
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20519
+ "Axivoy-Dry-Run"?: "true" | "false";
20520
+ };
20521
+ path?: never;
20522
+ cookie?: never;
20523
+ };
20524
+ requestBody?: {
20525
+ content: {
20526
+ /**
20527
+ * @example {
20528
+ * "agent_key": "fixture_desk",
20529
+ * "reason": "Stop"
20530
+ * }
20531
+ */
20532
+ "application/json": {
20533
+ /** @description The agent's key, for example recruiting_desk. */
20534
+ agent_key: string;
20535
+ /** @description Why the agent is being turned off; shown to whoever turns it back on. */
20536
+ reason: string;
20537
+ };
20538
+ };
20539
+ };
20540
+ responses: {
20541
+ /** @description The operation ran. */
20542
+ 200: {
20543
+ headers: {
20544
+ [name: string]: unknown;
20545
+ };
20546
+ content: {
20547
+ /**
20548
+ * @example {
20549
+ * "result": {
20550
+ * "message": "Agent turned off.",
20551
+ * "status": "disabled",
20552
+ * "disabled_at": "2026-10-20T19:10:03Z",
20553
+ * "held_runs_count": 1,
20554
+ * "withdrawn_approvals_count": 0
20555
+ * }
20556
+ * }
20557
+ */
20558
+ "application/json": {
20559
+ result: {
20560
+ /** @description What happened, in the operator's words */
20561
+ message: string;
20562
+ /** @description disabled */
20563
+ status: string;
20564
+ /**
20565
+ * Format: date-time
20566
+ * @description When the agent was turned off
20567
+ */
20568
+ disabled_at: string;
20569
+ /** @description Open runs put on hold */
20570
+ held_runs_count: number;
20571
+ /** @description Approvals the agent was waiting on that were withdrawn */
20572
+ withdrawn_approvals_count: number;
20573
+ };
20574
+ };
20575
+ };
20576
+ };
20577
+ 202: components["responses"]["Proposal"];
20578
+ /** @description Refused: credits_exhausted. */
20579
+ 402: {
20580
+ headers: {
20581
+ [name: string]: unknown;
20582
+ };
20583
+ content: {
20584
+ "application/json": components["schemas"]["OperationError"];
20585
+ };
20586
+ };
20587
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20588
+ 403: {
20589
+ headers: {
20590
+ [name: string]: unknown;
20591
+ };
20592
+ content: {
20593
+ "application/json": components["schemas"]["OperationError"];
20594
+ };
20595
+ };
20596
+ /** @description Refused: not_found. */
20597
+ 404: {
20598
+ headers: {
20599
+ [name: string]: unknown;
20600
+ };
20601
+ content: {
20602
+ "application/json": components["schemas"]["OperationError"];
20603
+ };
20604
+ };
20605
+ /** @description Refused: idempotency_conflict, stale_state. */
20606
+ 409: {
20607
+ headers: {
20608
+ [name: string]: unknown;
20609
+ };
20610
+ content: {
20611
+ "application/json": components["schemas"]["OperationError"];
20612
+ };
20613
+ };
20614
+ /** @description Refused: operation_retired. */
20615
+ 410: {
20616
+ headers: {
20617
+ [name: string]: unknown;
20618
+ };
20619
+ content: {
20620
+ "application/json": components["schemas"]["OperationError"];
20621
+ };
20622
+ };
20623
+ /** @description Refused: invalid_input, domain_rule. */
20624
+ 422: {
20625
+ headers: {
20626
+ [name: string]: unknown;
20627
+ };
20628
+ content: {
20629
+ "application/json": components["schemas"]["OperationError"];
20630
+ };
20631
+ };
20632
+ /** @description Refused: rate_limited. */
20633
+ 429: {
20634
+ headers: {
20635
+ [name: string]: unknown;
20636
+ };
20637
+ content: {
20638
+ "application/json": components["schemas"]["OperationError"];
20639
+ };
20640
+ };
20641
+ };
20642
+ };
20643
+ "ops.agents.get": {
20644
+ parameters: {
20645
+ query?: never;
20646
+ header?: {
20647
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20648
+ "Idempotency-Key"?: string;
20649
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20650
+ "Axivoy-Dry-Run"?: "true" | "false";
20651
+ };
20652
+ path?: never;
20653
+ cookie?: never;
20654
+ };
20655
+ requestBody?: {
20656
+ content: {
20657
+ /**
20658
+ * @example {
20659
+ * "agent_key": "fixture_desk"
20660
+ * }
20661
+ */
20662
+ "application/json": {
20663
+ /** @description The agent's key, for example recruiting_desk. */
20664
+ agent_key: string;
20665
+ };
20666
+ };
20667
+ };
20668
+ responses: {
20669
+ /** @description The operation ran. */
20670
+ 200: {
20671
+ headers: {
20672
+ [name: string]: unknown;
20673
+ };
20674
+ content: {
20675
+ /**
20676
+ * @example {
20677
+ * "result": {
20678
+ * "key": "fixture_desk",
20679
+ * "name": "Fixture desk",
20680
+ * "origin": "axivoy",
20681
+ * "owner_name": null,
20682
+ * "status": "on",
20683
+ * "disabled_at": null,
20684
+ * "disabled_cause": null,
20685
+ * "disabled_reason": null,
20686
+ * "disabled_by": null,
20687
+ * "platform_holds": [],
20688
+ * "limit_reached": null,
20689
+ * "active_version": 1,
20690
+ * "max_runs_per_day": null,
20691
+ * "max_tool_calls_per_run": null,
20692
+ * "monthly_credit_budget": null,
20693
+ * "runs_today": 0,
20694
+ * "credits_used_this_month": 0,
20695
+ * "credits_last_hour": 0,
20696
+ * "refusals_last_hour": 0,
20697
+ * "open_runs": 0,
20698
+ * "rehearsals_running": 0,
20699
+ * "last_run_at": null,
20700
+ * "subscription_count": 0,
20701
+ * "operations": [],
20702
+ * "versions": [
20703
+ * {
20704
+ * "version": 1,
20705
+ * "live": true,
20706
+ * "created_at": "2026-10-20T20:56:41Z",
20707
+ * "created_by": null,
20708
+ * "max_runs_per_day": null,
20709
+ * "max_tool_calls_per_run": null,
20710
+ * "monthly_credit_budget": null
20711
+ * }
20712
+ * ],
20713
+ * "rehearsals": []
20714
+ * }
20715
+ * }
20716
+ */
20717
+ "application/json": {
20718
+ result: {
20719
+ /** @description The agent's key, for example recruiting_desk */
20720
+ key: string;
20721
+ /** @description The agent's name */
20722
+ name: string;
20723
+ /** @description axivoy (made by Axivoy) or tenant (built in this workspace) */
20724
+ origin: string;
20725
+ /** @description Who owns the agent; null for Axivoy's agents */
20726
+ owner_name?: string | null;
20727
+ /** @description on, off, auto_paused, paused_by_axivoy or at_limit */
20728
+ status: string;
20729
+ /**
20730
+ * Format: date-time
20731
+ * @description When it was turned off
20732
+ */
20733
+ disabled_at?: string | null;
20734
+ /** @description person or circuit_breaker */
20735
+ disabled_cause?: string | null;
20736
+ /** @description Why it was turned off, in the words of whoever did it */
20737
+ disabled_reason?: string | null;
20738
+ /** @description Who turned it off; null when the breaker did */
20739
+ disabled_by?: string | null;
20740
+ /** @description Holds Axivoy placed on the agent */
20741
+ platform_holds: {
20742
+ /** @description pause_tenant, pause_definition or pin_version */
20743
+ kind: string;
20744
+ /** @description The pinned version, for pin_version */
20745
+ version?: number | null;
20746
+ /**
20747
+ * Format: date-time
20748
+ * @description When Axivoy placed it
20749
+ */
20750
+ since?: string | null;
20751
+ }[];
20752
+ /** @description max_runs_per_day or monthly_credit_budget when one is used up */
20753
+ limit_reached?: string | null;
20754
+ /** @description The live version */
20755
+ active_version?: number | null;
20756
+ /** @description Runs per UTC day; null when unlimited */
20757
+ max_runs_per_day?: number | null;
20758
+ /** @description Tool calls per run; null when unlimited */
20759
+ max_tool_calls_per_run?: number | null;
20760
+ /** @description AI credits per UTC month; null when unlimited */
20761
+ monthly_credit_budget?: number | null;
20762
+ /** @description Runs started this UTC day */
20763
+ runs_today: number;
20764
+ /** @description AI credits used this UTC month */
20765
+ credits_used_this_month: number;
20766
+ /** @description AI credits used in the last hour */
20767
+ credits_last_hour: number;
20768
+ /** @description Tool calls that failed or were refused in the last hour */
20769
+ refusals_last_hour: number;
20770
+ /** @description Runs not finished yet */
20771
+ open_runs: number;
20772
+ /** @description Rehearsals not finished yet */
20773
+ rehearsals_running: number;
20774
+ /**
20775
+ * Format: date-time
20776
+ * @description When the latest run started
20777
+ */
20778
+ last_run_at?: string | null;
20779
+ /** @description Event subscriptions on the live version */
20780
+ subscription_count: number;
20781
+ /** @description What the live version may do */
20782
+ operations: {
20783
+ /** @description The tool key */
20784
+ key: string;
20785
+ /** @description The operation the tool runs, when it runs one */
20786
+ operation?: string | null;
20787
+ /** @description off, propose or auto, as the version sets it */
20788
+ configured_authority: string;
20789
+ /** @description What it may actually do, capped by the ceiling for the agent's origin */
20790
+ effective_authority: string;
20791
+ }[];
20792
+ /** @description Newest first, up to 20 */
20793
+ versions: {
20794
+ /** @description Version number */
20795
+ version: number;
20796
+ /** @description Whether this is the live version */
20797
+ live: boolean;
20798
+ /**
20799
+ * Format: date-time
20800
+ * @description When it was made
20801
+ */
20802
+ created_at?: string | null;
20803
+ /** @description Who made it; null when Axivoy did */
20804
+ created_by?: string | null;
20805
+ /** @description Runs per UTC day */
20806
+ max_runs_per_day?: number | null;
20807
+ /** @description Tool calls per run */
20808
+ max_tool_calls_per_run?: number | null;
20809
+ /** @description AI credits per UTC month */
20810
+ monthly_credit_budget?: number | null;
20811
+ }[];
20812
+ /** @description Latest five rehearsals, newest first */
20813
+ rehearsals: {
20814
+ /** @description The rehearsal run */
20815
+ run_id: number;
20816
+ /** @description dry_run or sandbox */
20817
+ mode: string;
20818
+ /** @description The version it tried */
20819
+ version?: number | null;
20820
+ /** @description running or finished */
20821
+ status: string;
20822
+ /** @description Where it stopped: waiting:{on}, done, a pause reason or limit:{limit} */
20823
+ stopped_on?: string | null;
20824
+ /**
20825
+ * Format: date-time
20826
+ * @description When it started
20827
+ */
20828
+ started_at?: string | null;
20829
+ /** @description Steps recorded */
20830
+ steps: number;
20831
+ /** @description AI credits it used */
20832
+ credits: number;
20833
+ /** @description What it would have done, in order */
20834
+ actions: {
20835
+ /** @description The tool it would have called */
20836
+ tool: string;
20837
+ /** @description The tool's name */
20838
+ label: string;
20839
+ /** @description do, ask_first or refused */
20840
+ would: string;
20841
+ /** @description The first text the call carried, shortened */
20842
+ detail?: string | null;
20843
+ }[];
20844
+ }[];
20845
+ };
20846
+ };
20847
+ };
20848
+ };
20849
+ 202: components["responses"]["Proposal"];
20850
+ /** @description Refused: credits_exhausted. */
20851
+ 402: {
20852
+ headers: {
20853
+ [name: string]: unknown;
20854
+ };
20855
+ content: {
20856
+ "application/json": components["schemas"]["OperationError"];
20857
+ };
20858
+ };
20859
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
20860
+ 403: {
20861
+ headers: {
20862
+ [name: string]: unknown;
20863
+ };
20864
+ content: {
20865
+ "application/json": components["schemas"]["OperationError"];
20866
+ };
20867
+ };
20868
+ /** @description Refused: not_found. */
20869
+ 404: {
20870
+ headers: {
20871
+ [name: string]: unknown;
20872
+ };
20873
+ content: {
20874
+ "application/json": components["schemas"]["OperationError"];
20875
+ };
20876
+ };
20877
+ /** @description Refused: idempotency_conflict, stale_state. */
20878
+ 409: {
20879
+ headers: {
20880
+ [name: string]: unknown;
20881
+ };
20882
+ content: {
20883
+ "application/json": components["schemas"]["OperationError"];
20884
+ };
20885
+ };
20886
+ /** @description Refused: operation_retired. */
20887
+ 410: {
20888
+ headers: {
20889
+ [name: string]: unknown;
20890
+ };
20891
+ content: {
20892
+ "application/json": components["schemas"]["OperationError"];
20893
+ };
20894
+ };
20895
+ /** @description Refused: invalid_input, domain_rule. */
20896
+ 422: {
20897
+ headers: {
20898
+ [name: string]: unknown;
20899
+ };
20900
+ content: {
20901
+ "application/json": components["schemas"]["OperationError"];
20902
+ };
20903
+ };
20904
+ /** @description Refused: rate_limited. */
20905
+ 429: {
20906
+ headers: {
20907
+ [name: string]: unknown;
20908
+ };
20909
+ content: {
20910
+ "application/json": components["schemas"]["OperationError"];
20911
+ };
20912
+ };
20913
+ };
20914
+ };
20915
+ "ops.agents.list": {
20916
+ parameters: {
20917
+ query?: never;
20918
+ header?: {
20919
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
20920
+ "Idempotency-Key"?: string;
20921
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
20922
+ "Axivoy-Dry-Run"?: "true" | "false";
20923
+ };
20924
+ path?: never;
20925
+ cookie?: never;
20926
+ };
20927
+ requestBody?: {
20928
+ content: {
20929
+ /** @example {} */
20930
+ "application/json": {
20931
+ /** @description Cursor from the previous page's next_cursor. */
20932
+ cursor?: string | null;
20933
+ /** @description Rows per page (default 25). */
20934
+ limit?: number | null;
20935
+ /**
20936
+ * Format: date-time
20937
+ * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
20938
+ */
20939
+ updated_since?: string | null;
20940
+ };
20941
+ };
20942
+ };
20943
+ responses: {
20944
+ /** @description The operation ran. */
20945
+ 200: {
20946
+ headers: {
20947
+ [name: string]: unknown;
20948
+ };
20949
+ content: {
20950
+ /**
20951
+ * @example {
20952
+ * "result": {
20953
+ * "items": [
20954
+ * {
20955
+ * "id": 1,
20956
+ * "key": "fixture_desk",
20957
+ * "name": "Fixture desk",
20958
+ * "origin": "axivoy",
20959
+ * "owner_name": null,
20960
+ * "status": "off",
20961
+ * "disabled_at": "2026-10-20T20:56:40Z",
20962
+ * "disabled_cause": "person",
20963
+ * "disabled_reason": "Too chatty",
20964
+ * "disabled_by": "Dayne Huel",
20965
+ * "platform_holds": [],
20966
+ * "limit_reached": null,
20967
+ * "active_version": 1,
20968
+ * "max_runs_per_day": null,
20969
+ * "max_tool_calls_per_run": null,
20970
+ * "monthly_credit_budget": null,
20971
+ * "runs_today": 1,
20972
+ * "credits_used_this_month": 0,
20973
+ * "credits_last_hour": 0,
20974
+ * "refusals_last_hour": 0,
20975
+ * "open_runs": 1,
20976
+ * "rehearsals_running": 0,
20977
+ * "last_run_at": "2026-10-20T20:56:40Z",
20978
+ * "deleted": null
20979
+ * }
20980
+ * ],
20981
+ * "next_cursor": null
20982
+ * }
20983
+ * }
20984
+ */
20985
+ "application/json": {
20986
+ result: {
20987
+ /** @description One page of rows. */
20988
+ items: {
20989
+ /** @description The row's id. */
20990
+ id: number;
20991
+ /** @description The agent's key, for example recruiting_desk */
20992
+ key: string;
20993
+ /** @description The agent's name */
20994
+ name: string;
20995
+ /** @description axivoy (made by Axivoy) or tenant (built in this workspace) */
20996
+ origin: string;
20997
+ /** @description Who owns the agent; null for Axivoy's agents */
20998
+ owner_name?: string | null;
20999
+ /** @description on, off, auto_paused, paused_by_axivoy or at_limit */
21000
+ status: string;
21001
+ /**
21002
+ * Format: date-time
21003
+ * @description When it was turned off
21004
+ */
21005
+ disabled_at?: string | null;
21006
+ /** @description person or circuit_breaker */
21007
+ disabled_cause?: string | null;
21008
+ /** @description Why it was turned off, in the words of whoever did it */
21009
+ disabled_reason?: string | null;
21010
+ /** @description Who turned it off; null when the breaker did */
21011
+ disabled_by?: string | null;
21012
+ /** @description Holds Axivoy placed on the agent */
21013
+ platform_holds: {
21014
+ /** @description pause_tenant, pause_definition or pin_version */
21015
+ kind: string;
21016
+ /** @description The pinned version, for pin_version */
21017
+ version?: number | null;
21018
+ /**
21019
+ * Format: date-time
21020
+ * @description When Axivoy placed it
21021
+ */
21022
+ since?: string | null;
21023
+ }[];
21024
+ /** @description max_runs_per_day or monthly_credit_budget when one is used up */
21025
+ limit_reached?: string | null;
21026
+ /** @description The live version */
21027
+ active_version?: number | null;
21028
+ /** @description Runs per UTC day; null when unlimited */
21029
+ max_runs_per_day?: number | null;
21030
+ /** @description Tool calls per run; null when unlimited */
21031
+ max_tool_calls_per_run?: number | null;
21032
+ /** @description AI credits per UTC month; null when unlimited */
21033
+ monthly_credit_budget?: number | null;
21034
+ /** @description Runs started this UTC day */
21035
+ runs_today: number;
21036
+ /** @description AI credits used this UTC month */
21037
+ credits_used_this_month: number;
21038
+ /** @description AI credits used in the last hour */
21039
+ credits_last_hour: number;
21040
+ /** @description Tool calls that failed or were refused in the last hour */
21041
+ refusals_last_hour: number;
21042
+ /** @description Runs not finished yet */
21043
+ open_runs: number;
21044
+ /** @description Rehearsals not finished yet */
21045
+ rehearsals_running: number;
21046
+ /**
21047
+ * Format: date-time
21048
+ * @description When the latest run started
21049
+ */
21050
+ last_run_at?: string | null;
21051
+ /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
21052
+ deleted?: boolean | null;
21053
+ }[];
21054
+ /** @description Pass as cursor for the next page; null on the last page. */
21055
+ next_cursor?: string | null;
21056
+ };
21057
+ };
21058
+ };
21059
+ };
21060
+ 202: components["responses"]["Proposal"];
21061
+ /** @description Refused: credits_exhausted. */
21062
+ 402: {
21063
+ headers: {
21064
+ [name: string]: unknown;
21065
+ };
21066
+ content: {
21067
+ "application/json": components["schemas"]["OperationError"];
21068
+ };
21069
+ };
21070
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
21071
+ 403: {
21072
+ headers: {
21073
+ [name: string]: unknown;
21074
+ };
21075
+ content: {
21076
+ "application/json": components["schemas"]["OperationError"];
21077
+ };
21078
+ };
21079
+ /** @description Refused: not_found. */
21080
+ 404: {
21081
+ headers: {
21082
+ [name: string]: unknown;
21083
+ };
21084
+ content: {
21085
+ "application/json": components["schemas"]["OperationError"];
21086
+ };
21087
+ };
21088
+ /** @description Refused: idempotency_conflict, stale_state. */
21089
+ 409: {
21090
+ headers: {
21091
+ [name: string]: unknown;
21092
+ };
21093
+ content: {
21094
+ "application/json": components["schemas"]["OperationError"];
21095
+ };
21096
+ };
21097
+ /** @description Refused: operation_retired. */
21098
+ 410: {
21099
+ headers: {
21100
+ [name: string]: unknown;
21101
+ };
21102
+ content: {
21103
+ "application/json": components["schemas"]["OperationError"];
21104
+ };
21105
+ };
21106
+ /** @description Refused: invalid_input, domain_rule. */
21107
+ 422: {
21108
+ headers: {
21109
+ [name: string]: unknown;
21110
+ };
21111
+ content: {
21112
+ "application/json": components["schemas"]["OperationError"];
21113
+ };
21114
+ };
21115
+ /** @description Refused: rate_limited. */
21116
+ 429: {
21117
+ headers: {
21118
+ [name: string]: unknown;
21119
+ };
21120
+ content: {
21121
+ "application/json": components["schemas"]["OperationError"];
21122
+ };
21123
+ };
21124
+ };
21125
+ };
21126
+ "ops.agents.rehearse": {
21127
+ parameters: {
21128
+ query?: never;
21129
+ header?: {
21130
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
21131
+ "Idempotency-Key"?: string;
21132
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
21133
+ "Axivoy-Dry-Run"?: "true" | "false";
21134
+ };
21135
+ path?: never;
21136
+ cookie?: never;
21137
+ };
21138
+ requestBody?: {
21139
+ content: {
21140
+ /**
21141
+ * @example {
21142
+ * "agent_key": "fake_desk",
21143
+ * "mode": "dry_run",
21144
+ * "subject": {
21145
+ * "id": 1
21146
+ * }
21147
+ * }
21148
+ */
21149
+ "application/json": {
21150
+ /** @description The agent's key, for example recruiting_desk. */
21151
+ agent_key: string;
21152
+ /** @description The version to try; the live version when left out. */
21153
+ version?: number;
21154
+ /**
21155
+ * @description dry_run: real records, nothing changed or sent. sandbox: practice data in the workspace's sandbox.
21156
+ * @enum {string}
21157
+ */
21158
+ mode: "dry_run" | "sandbox";
21159
+ /** @description The record to try it on. Dry run: the record of the agent's latest run when left out. Sandbox: the newest practice record. */
21160
+ subject?: {
21161
+ /** @description The record type the agent works on; checked against the agent. */
21162
+ type?: string;
21163
+ /** @description The record id. */
21164
+ id: number;
21165
+ };
21166
+ /** @description Dry run only: a recorded event (its id from events.list) to replay as the trigger; its record becomes the subject. */
21167
+ event_id?: string;
21168
+ };
21169
+ };
21170
+ };
21171
+ responses: {
21172
+ /** @description The operation ran. */
21173
+ 200: {
21174
+ headers: {
21175
+ [name: string]: unknown;
21176
+ };
21177
+ content: {
21178
+ /**
21179
+ * @example {
21180
+ * "result": {
21181
+ * "message": "Trying it without changing anything. The result shows here when it stops.",
21182
+ * "task_id": "a171294f-f44f-49d9-a87b-6912387bf1e0",
21183
+ * "run_id": 1,
21184
+ * "status": "running"
21185
+ * }
21186
+ * }
21187
+ */
21188
+ "application/json": {
21189
+ result: {
21190
+ /** @description What happened, in the operator's words */
21191
+ message: string;
21192
+ /** @description Poll tasks.get; operation.task.completed fires when the rehearsal stops */
21193
+ task_id: string;
21194
+ /** @description The rehearsal run; its timeline shows what the agent would have done */
21195
+ run_id: number;
21196
+ /** @description running */
21197
+ status: string;
21198
+ };
21199
+ };
21200
+ };
21201
+ };
21202
+ 202: components["responses"]["Proposal"];
21203
+ /** @description Refused: credits_exhausted. */
21204
+ 402: {
21205
+ headers: {
21206
+ [name: string]: unknown;
21207
+ };
21208
+ content: {
21209
+ "application/json": components["schemas"]["OperationError"];
21210
+ };
21211
+ };
21212
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
21213
+ 403: {
21214
+ headers: {
21215
+ [name: string]: unknown;
21216
+ };
21217
+ content: {
21218
+ "application/json": components["schemas"]["OperationError"];
21219
+ };
21220
+ };
21221
+ /** @description Refused: not_found. */
21222
+ 404: {
21223
+ headers: {
21224
+ [name: string]: unknown;
21225
+ };
21226
+ content: {
21227
+ "application/json": components["schemas"]["OperationError"];
21228
+ };
21229
+ };
21230
+ /** @description Refused: idempotency_conflict, stale_state. */
21231
+ 409: {
21232
+ headers: {
21233
+ [name: string]: unknown;
21234
+ };
21235
+ content: {
21236
+ "application/json": components["schemas"]["OperationError"];
21237
+ };
21238
+ };
21239
+ /** @description Refused: operation_retired. */
21240
+ 410: {
21241
+ headers: {
21242
+ [name: string]: unknown;
21243
+ };
21244
+ content: {
21245
+ "application/json": components["schemas"]["OperationError"];
21246
+ };
21247
+ };
21248
+ /** @description Refused: invalid_input, domain_rule. */
21249
+ 422: {
21250
+ headers: {
21251
+ [name: string]: unknown;
21252
+ };
21253
+ content: {
21254
+ "application/json": components["schemas"]["OperationError"];
21255
+ };
21256
+ };
21257
+ /** @description Refused: rate_limited. */
21258
+ 429: {
21259
+ headers: {
21260
+ [name: string]: unknown;
21261
+ };
21262
+ content: {
21263
+ "application/json": components["schemas"]["OperationError"];
21264
+ };
21265
+ };
21266
+ };
21267
+ };
21268
+ "ops.agents.runs.cancel": {
21269
+ parameters: {
21270
+ query?: never;
21271
+ header?: {
21272
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
21273
+ "Idempotency-Key"?: string;
21274
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
21275
+ "Axivoy-Dry-Run"?: "true" | "false";
21276
+ };
21277
+ path?: never;
21278
+ cookie?: never;
21279
+ };
21280
+ requestBody?: {
21281
+ content: {
21282
+ /**
21283
+ * @example {
21284
+ * "run_id": 1,
21285
+ * "reason": "Wrong file"
21286
+ * }
21287
+ */
21288
+ "application/json": {
21289
+ /** @description The run to cancel (from agents.runs.list). */
21290
+ run_id: number;
21291
+ /** @description Why, for the run timeline and the audit log. */
21292
+ reason?: string | null;
21293
+ };
21294
+ };
21295
+ };
21296
+ responses: {
21297
+ /** @description The operation ran. */
21298
+ 200: {
21299
+ headers: {
21300
+ [name: string]: unknown;
21301
+ };
21302
+ content: {
21303
+ /**
21304
+ * @example {
21305
+ * "result": {
21306
+ * "message": "Run cancelled.",
21307
+ * "status": "completed",
21308
+ * "cancelled": true,
21309
+ * "withdrawn_approvals_count": 0
21310
+ * }
21311
+ * }
21312
+ */
21313
+ "application/json": {
21314
+ result: {
21315
+ /** @description What happened, in the operator's words */
21316
+ message: string;
21317
+ /** @description The run status after the call */
21318
+ status: string;
21319
+ /** @description False when the run had already ended */
21320
+ cancelled: boolean;
21321
+ /** @description Approvals the run was waiting on that were withdrawn */
21322
+ withdrawn_approvals_count: number;
21323
+ };
21324
+ };
21325
+ };
21326
+ };
21327
+ 202: components["responses"]["Proposal"];
21328
+ /** @description Refused: credits_exhausted. */
21329
+ 402: {
21330
+ headers: {
21331
+ [name: string]: unknown;
21332
+ };
21333
+ content: {
21334
+ "application/json": components["schemas"]["OperationError"];
21335
+ };
21336
+ };
21337
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
21338
+ 403: {
21339
+ headers: {
21340
+ [name: string]: unknown;
21341
+ };
21342
+ content: {
21343
+ "application/json": components["schemas"]["OperationError"];
21344
+ };
21345
+ };
21346
+ /** @description Refused: not_found. */
21347
+ 404: {
21348
+ headers: {
21349
+ [name: string]: unknown;
21350
+ };
21351
+ content: {
21352
+ "application/json": components["schemas"]["OperationError"];
21353
+ };
21354
+ };
21355
+ /** @description Refused: idempotency_conflict, stale_state. */
21356
+ 409: {
21357
+ headers: {
21358
+ [name: string]: unknown;
21359
+ };
21360
+ content: {
21361
+ "application/json": components["schemas"]["OperationError"];
21362
+ };
21363
+ };
21364
+ /** @description Refused: operation_retired. */
21365
+ 410: {
21366
+ headers: {
21367
+ [name: string]: unknown;
21368
+ };
21369
+ content: {
21370
+ "application/json": components["schemas"]["OperationError"];
21371
+ };
21372
+ };
21373
+ /** @description Refused: invalid_input, domain_rule. */
21374
+ 422: {
21375
+ headers: {
21376
+ [name: string]: unknown;
21377
+ };
21378
+ content: {
21379
+ "application/json": components["schemas"]["OperationError"];
21380
+ };
21381
+ };
21382
+ /** @description Refused: rate_limited. */
21383
+ 429: {
21384
+ headers: {
21385
+ [name: string]: unknown;
21386
+ };
21387
+ content: {
21388
+ "application/json": components["schemas"]["OperationError"];
21389
+ };
21390
+ };
21391
+ };
21392
+ };
21393
+ "ops.agents.runs.list": {
21394
+ parameters: {
21395
+ query?: never;
21396
+ header?: {
21397
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
21398
+ "Idempotency-Key"?: string;
21399
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
21400
+ "Axivoy-Dry-Run"?: "true" | "false";
21401
+ };
21402
+ path?: never;
21403
+ cookie?: never;
21404
+ };
21405
+ requestBody?: {
21406
+ content: {
21407
+ /**
21408
+ * @example {
21409
+ * "agent_key": "fixture_desk"
21410
+ * }
21411
+ */
21412
+ "application/json": {
21413
+ /** @description The agent's key, for example recruiting_desk. */
21414
+ agent_key: string;
21415
+ /**
21416
+ * @description running, parked (waiting for a person), finished, or cancelled; all when left out.
21417
+ * @enum {string|null}
21418
+ */
21419
+ status?: "running" | "parked" | "finished" | "cancelled" | null;
21420
+ /** @description Cursor from the previous page's next_cursor. */
21421
+ cursor?: string | null;
21422
+ /** @description Rows per page (default 25). */
21423
+ limit?: number | null;
21424
+ /**
21425
+ * Format: date-time
21426
+ * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
21427
+ */
21428
+ updated_since?: string | null;
21429
+ };
21430
+ };
21431
+ };
21432
+ responses: {
21433
+ /** @description The operation ran. */
21434
+ 200: {
21435
+ headers: {
21436
+ [name: string]: unknown;
21437
+ };
21438
+ content: {
21439
+ /**
21440
+ * @example {
21441
+ * "result": {
21442
+ * "items": [
21443
+ * {
21444
+ * "id": 2,
21445
+ * "subject": "user:2",
21446
+ * "status": "cancelled",
21447
+ * "run_status": "completed",
21448
+ * "reason": "run_cancelled",
21449
+ * "steps": 0,
21450
+ * "credits_used": 0,
21451
+ * "last_operation_key": null,
21452
+ * "started_at": null,
21453
+ * "completed_at": null,
21454
+ * "delegate": "ai_agent_run:2",
21455
+ * "deleted": null
21456
+ * },
21457
+ * {
21458
+ * "id": 1,
21459
+ * "subject": "user:1",
21460
+ * "status": "running",
21461
+ * "run_status": "waiting",
21462
+ * "reason": null,
21463
+ * "steps": 0,
21464
+ * "credits_used": 0,
21465
+ * "last_operation_key": null,
21466
+ * "started_at": "2026-10-20T19:10:09Z",
21467
+ * "completed_at": null,
21468
+ * "delegate": "ai_agent_run:1",
21469
+ * "deleted": null
21470
+ * }
21471
+ * ],
21472
+ * "next_cursor": null
21473
+ * }
21474
+ * }
21475
+ */
21476
+ "application/json": {
21477
+ result: {
21478
+ /** @description One page of rows. */
21479
+ items: {
21480
+ /** @description The row's id. */
21481
+ id: number;
21482
+ /** @description What the run is about, as type:id */
21483
+ subject?: string | null;
21484
+ /** @description running, parked, finished or cancelled */
21485
+ status: string;
21486
+ /** @description The run's own status: pending, active, waiting, paused, completed or failed */
21487
+ run_status: string;
21488
+ /** @description Why a parked run waits or how a finished run ended */
21489
+ reason?: string | null;
21490
+ /** @description Steps recorded so far */
21491
+ steps: number;
21492
+ /** @description AI credits the run used so far */
21493
+ credits_used: number;
21494
+ /** @description The operation or tool the run called last */
21495
+ last_operation_key?: string | null;
21496
+ /**
21497
+ * Format: date-time
21498
+ * @description When the run first thought
21499
+ */
21500
+ started_at?: string | null;
21501
+ /**
21502
+ * Format: date-time
21503
+ * @description When the run ended
21504
+ */
21505
+ completed_at?: string | null;
21506
+ /** @description What audit entries for this run record as the delegate */
21507
+ delegate: string;
21508
+ /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
21509
+ deleted?: boolean | null;
21510
+ }[];
21511
+ /** @description Pass as cursor for the next page; null on the last page. */
21512
+ next_cursor?: string | null;
21513
+ };
21514
+ };
21515
+ };
21516
+ };
21517
+ 202: components["responses"]["Proposal"];
21518
+ /** @description Refused: credits_exhausted. */
21519
+ 402: {
21520
+ headers: {
21521
+ [name: string]: unknown;
21522
+ };
21523
+ content: {
21524
+ "application/json": components["schemas"]["OperationError"];
21525
+ };
21526
+ };
21527
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
21528
+ 403: {
21529
+ headers: {
21530
+ [name: string]: unknown;
21531
+ };
21532
+ content: {
21533
+ "application/json": components["schemas"]["OperationError"];
21534
+ };
21535
+ };
21536
+ /** @description Refused: not_found. */
21537
+ 404: {
21538
+ headers: {
21539
+ [name: string]: unknown;
21540
+ };
21541
+ content: {
21542
+ "application/json": components["schemas"]["OperationError"];
21543
+ };
21544
+ };
21545
+ /** @description Refused: idempotency_conflict, stale_state. */
21546
+ 409: {
21547
+ headers: {
21548
+ [name: string]: unknown;
21549
+ };
21550
+ content: {
21551
+ "application/json": components["schemas"]["OperationError"];
21552
+ };
21553
+ };
21554
+ /** @description Refused: operation_retired. */
21555
+ 410: {
21556
+ headers: {
21557
+ [name: string]: unknown;
21558
+ };
21559
+ content: {
21560
+ "application/json": components["schemas"]["OperationError"];
21561
+ };
21562
+ };
21563
+ /** @description Refused: invalid_input, domain_rule. */
21564
+ 422: {
21565
+ headers: {
21566
+ [name: string]: unknown;
21567
+ };
21568
+ content: {
21569
+ "application/json": components["schemas"]["OperationError"];
21570
+ };
21571
+ };
21572
+ /** @description Refused: rate_limited. */
21573
+ 429: {
21574
+ headers: {
21575
+ [name: string]: unknown;
21576
+ };
21577
+ content: {
21578
+ "application/json": components["schemas"]["OperationError"];
21579
+ };
21580
+ };
21581
+ };
21582
+ };
20225
21583
  "ops.ai.jobs.list": {
20226
21584
  parameters: {
20227
21585
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axivoy/api",
3
- "version": "1.27.0",
3
+ "version": "1.29.0",
4
4
  "description": "Typed client for the Axivoy API: operations, webhooks and errors.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://app.axivoy.ai/developers",