@nosana/api 2.14.2 → 2.15.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.
- package/dist/client/client-manager/schema.d.ts +2384 -179
- package/dist/client/client-manager/schema.d.ts.map +1 -1
- package/dist/routes/jobs/index.d.ts.map +1 -1
- package/dist/routes/jobs/index.js +10 -0
- package/dist/routes/jobs/index.js.map +1 -1
- package/dist/routes/jobs/types.d.ts +2 -0
- package/dist/routes/jobs/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -45,7 +45,10 @@ export interface paths {
|
|
|
45
45
|
};
|
|
46
46
|
get?: never;
|
|
47
47
|
put?: never;
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Validate API key
|
|
50
|
+
* @description Check whether an API key is active and report whose it is, with its scopes.
|
|
51
|
+
*/
|
|
49
52
|
post: operations["postAuthValidate-api-key"];
|
|
50
53
|
delete?: never;
|
|
51
54
|
options?: never;
|
|
@@ -73,6 +76,26 @@ export interface paths {
|
|
|
73
76
|
patch?: never;
|
|
74
77
|
trace?: never;
|
|
75
78
|
};
|
|
79
|
+
"/auth/scopes": {
|
|
80
|
+
parameters: {
|
|
81
|
+
query?: never;
|
|
82
|
+
header?: never;
|
|
83
|
+
path?: never;
|
|
84
|
+
cookie?: never;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* List scopes
|
|
88
|
+
* @description Every scope an API key may hold, with the wording shown to users. Filter on `oauthGrantable` for the set an OAuth app may be given.
|
|
89
|
+
*/
|
|
90
|
+
get: operations["getAuthScopes"];
|
|
91
|
+
put?: never;
|
|
92
|
+
post?: never;
|
|
93
|
+
delete?: never;
|
|
94
|
+
options?: never;
|
|
95
|
+
head?: never;
|
|
96
|
+
patch?: never;
|
|
97
|
+
trace?: never;
|
|
98
|
+
};
|
|
76
99
|
"/api-keys/": {
|
|
77
100
|
parameters: {
|
|
78
101
|
query?: never;
|
|
@@ -128,7 +151,7 @@ export interface paths {
|
|
|
128
151
|
put?: never;
|
|
129
152
|
/**
|
|
130
153
|
* Update API Key
|
|
131
|
-
* @description Update an API key
|
|
154
|
+
* @description Update an API key's name, status or model restriction.
|
|
132
155
|
*/
|
|
133
156
|
post: operations["postApi-keysByIdUpdate"];
|
|
134
157
|
delete?: never;
|
|
@@ -299,6 +322,103 @@ export interface paths {
|
|
|
299
322
|
patch?: never;
|
|
300
323
|
trace?: never;
|
|
301
324
|
};
|
|
325
|
+
"/credits/internal/llm/finalize": {
|
|
326
|
+
parameters: {
|
|
327
|
+
query?: never;
|
|
328
|
+
header?: never;
|
|
329
|
+
path?: never;
|
|
330
|
+
cookie?: never;
|
|
331
|
+
};
|
|
332
|
+
get?: never;
|
|
333
|
+
put?: never;
|
|
334
|
+
post: operations["postCreditsInternalLlmFinalize"];
|
|
335
|
+
delete?: never;
|
|
336
|
+
options?: never;
|
|
337
|
+
head?: never;
|
|
338
|
+
patch?: never;
|
|
339
|
+
trace?: never;
|
|
340
|
+
};
|
|
341
|
+
"/credits/llm/usage": {
|
|
342
|
+
parameters: {
|
|
343
|
+
query?: never;
|
|
344
|
+
header?: never;
|
|
345
|
+
path?: never;
|
|
346
|
+
cookie?: never;
|
|
347
|
+
};
|
|
348
|
+
/** List LLM inference usage */
|
|
349
|
+
get: operations["getCreditsLlmUsage"];
|
|
350
|
+
put?: never;
|
|
351
|
+
post?: never;
|
|
352
|
+
delete?: never;
|
|
353
|
+
options?: never;
|
|
354
|
+
head?: never;
|
|
355
|
+
patch?: never;
|
|
356
|
+
trace?: never;
|
|
357
|
+
};
|
|
358
|
+
"/credits/internal/llm/models": {
|
|
359
|
+
parameters: {
|
|
360
|
+
query?: never;
|
|
361
|
+
header?: never;
|
|
362
|
+
path?: never;
|
|
363
|
+
cookie?: never;
|
|
364
|
+
};
|
|
365
|
+
get: operations["getCreditsInternalLlmModels"];
|
|
366
|
+
put?: never;
|
|
367
|
+
post?: never;
|
|
368
|
+
delete?: never;
|
|
369
|
+
options?: never;
|
|
370
|
+
head?: never;
|
|
371
|
+
patch?: never;
|
|
372
|
+
trace?: never;
|
|
373
|
+
};
|
|
374
|
+
"/credits/admin/llm/templates": {
|
|
375
|
+
parameters: {
|
|
376
|
+
query?: never;
|
|
377
|
+
header?: never;
|
|
378
|
+
path?: never;
|
|
379
|
+
cookie?: never;
|
|
380
|
+
};
|
|
381
|
+
get: operations["getCreditsAdminLlmTemplates"];
|
|
382
|
+
put?: never;
|
|
383
|
+
post?: never;
|
|
384
|
+
delete?: never;
|
|
385
|
+
options?: never;
|
|
386
|
+
head?: never;
|
|
387
|
+
patch?: never;
|
|
388
|
+
trace?: never;
|
|
389
|
+
};
|
|
390
|
+
"/credits/admin/llm/models": {
|
|
391
|
+
parameters: {
|
|
392
|
+
query?: never;
|
|
393
|
+
header?: never;
|
|
394
|
+
path?: never;
|
|
395
|
+
cookie?: never;
|
|
396
|
+
};
|
|
397
|
+
get: operations["getCreditsAdminLlmModels"];
|
|
398
|
+
put?: never;
|
|
399
|
+
post: operations["postCreditsAdminLlmModels"];
|
|
400
|
+
delete?: never;
|
|
401
|
+
options?: never;
|
|
402
|
+
head?: never;
|
|
403
|
+
patch?: never;
|
|
404
|
+
trace?: never;
|
|
405
|
+
};
|
|
406
|
+
"/credits/admin/llm/models/{id}": {
|
|
407
|
+
parameters: {
|
|
408
|
+
query?: never;
|
|
409
|
+
header?: never;
|
|
410
|
+
path?: never;
|
|
411
|
+
cookie?: never;
|
|
412
|
+
};
|
|
413
|
+
get?: never;
|
|
414
|
+
put?: never;
|
|
415
|
+
post?: never;
|
|
416
|
+
delete: operations["deleteCreditsAdminLlmModelsById"];
|
|
417
|
+
options?: never;
|
|
418
|
+
head?: never;
|
|
419
|
+
patch: operations["patchCreditsAdminLlmModelsById"];
|
|
420
|
+
trace?: never;
|
|
421
|
+
};
|
|
302
422
|
"/templates/": {
|
|
303
423
|
parameters: {
|
|
304
424
|
query?: never;
|
|
@@ -407,6 +527,26 @@ export interface paths {
|
|
|
407
527
|
patch?: never;
|
|
408
528
|
trace?: never;
|
|
409
529
|
};
|
|
530
|
+
"/jobs/assign/batch": {
|
|
531
|
+
parameters: {
|
|
532
|
+
query?: never;
|
|
533
|
+
header?: never;
|
|
534
|
+
path?: never;
|
|
535
|
+
cookie?: never;
|
|
536
|
+
};
|
|
537
|
+
get?: never;
|
|
538
|
+
put?: never;
|
|
539
|
+
/**
|
|
540
|
+
* Bulk-assign jobs to nodes using credits
|
|
541
|
+
* @description Bulk-create jobs assigned directly to the given `node` each (on-chain `assign` instead of listing into the market queue), in the fewest packed transactions. Same contract as `/jobs/list/batch`: requires an `Idempotency-Key` header (one key per batch), the batch is posted at most once per key, and the response reports each job's outcome by `index` — `confirmed` (with its `job`/`run` address) or `expired`. Re-post only the expired items under a fresh key. Still-confirming returns 409 `IDEMPOTENCY_KEY_IN_PROGRESS` (retry the same key).
|
|
542
|
+
*/
|
|
543
|
+
post: operations["postJobsAssignBatch"];
|
|
544
|
+
delete?: never;
|
|
545
|
+
options?: never;
|
|
546
|
+
head?: never;
|
|
547
|
+
patch?: never;
|
|
548
|
+
trace?: never;
|
|
549
|
+
};
|
|
410
550
|
"/jobs/{address}/extend": {
|
|
411
551
|
parameters: {
|
|
412
552
|
query?: never;
|
|
@@ -547,6 +687,26 @@ export interface paths {
|
|
|
547
687
|
patch?: never;
|
|
548
688
|
trace?: never;
|
|
549
689
|
};
|
|
690
|
+
"/payments/setup-intent/confirm": {
|
|
691
|
+
parameters: {
|
|
692
|
+
query?: never;
|
|
693
|
+
header?: never;
|
|
694
|
+
path?: never;
|
|
695
|
+
cookie?: never;
|
|
696
|
+
};
|
|
697
|
+
get?: never;
|
|
698
|
+
put?: never;
|
|
699
|
+
/**
|
|
700
|
+
* Finalize card setup after 3D Secure
|
|
701
|
+
* @description Re-checks a SetupIntent after the client completes 3D Secure and records the verification result
|
|
702
|
+
*/
|
|
703
|
+
post: operations["postPaymentsSetup-intentConfirm"];
|
|
704
|
+
delete?: never;
|
|
705
|
+
options?: never;
|
|
706
|
+
head?: never;
|
|
707
|
+
patch?: never;
|
|
708
|
+
trace?: never;
|
|
709
|
+
};
|
|
550
710
|
"/payments/methods": {
|
|
551
711
|
parameters: {
|
|
552
712
|
query?: never;
|
|
@@ -627,6 +787,26 @@ export interface paths {
|
|
|
627
787
|
patch?: never;
|
|
628
788
|
trace?: never;
|
|
629
789
|
};
|
|
790
|
+
"/payments/payment-intent/confirm": {
|
|
791
|
+
parameters: {
|
|
792
|
+
query?: never;
|
|
793
|
+
header?: never;
|
|
794
|
+
path?: never;
|
|
795
|
+
cookie?: never;
|
|
796
|
+
};
|
|
797
|
+
get?: never;
|
|
798
|
+
put?: never;
|
|
799
|
+
/**
|
|
800
|
+
* Finalize purchase after 3D Secure
|
|
801
|
+
* @description Re-checks a PaymentIntent after the client completes 3D Secure and grants credits. Idempotent with the payment_intent.succeeded webhook.
|
|
802
|
+
*/
|
|
803
|
+
post: operations["postPaymentsPayment-intentConfirm"];
|
|
804
|
+
delete?: never;
|
|
805
|
+
options?: never;
|
|
806
|
+
head?: never;
|
|
807
|
+
patch?: never;
|
|
808
|
+
trace?: never;
|
|
809
|
+
};
|
|
630
810
|
"/payments/purchases": {
|
|
631
811
|
parameters: {
|
|
632
812
|
query?: never;
|
|
@@ -647,30 +827,42 @@ export interface paths {
|
|
|
647
827
|
patch?: never;
|
|
648
828
|
trace?: never;
|
|
649
829
|
};
|
|
650
|
-
"/
|
|
830
|
+
"/oauth-apps/": {
|
|
651
831
|
parameters: {
|
|
652
832
|
query?: never;
|
|
653
833
|
header?: never;
|
|
654
834
|
path?: never;
|
|
655
835
|
cookie?: never;
|
|
656
836
|
};
|
|
657
|
-
|
|
837
|
+
/**
|
|
838
|
+
* List OAuth apps
|
|
839
|
+
* @description List the OAuth apps owned by the authenticated user.
|
|
840
|
+
*/
|
|
841
|
+
get: operations["getOauth-apps"];
|
|
658
842
|
put?: never;
|
|
659
|
-
|
|
843
|
+
/**
|
|
844
|
+
* Create OAuth app
|
|
845
|
+
* @description Register an OAuth 2.1 client (a 'Connect with Nosana' app) owned by the authenticated user.
|
|
846
|
+
*/
|
|
847
|
+
post: operations["postOauth-apps"];
|
|
660
848
|
delete?: never;
|
|
661
849
|
options?: never;
|
|
662
850
|
head?: never;
|
|
663
851
|
patch?: never;
|
|
664
852
|
trace?: never;
|
|
665
853
|
};
|
|
666
|
-
"/
|
|
854
|
+
"/oauth-apps/{id}": {
|
|
667
855
|
parameters: {
|
|
668
856
|
query?: never;
|
|
669
857
|
header?: never;
|
|
670
858
|
path?: never;
|
|
671
859
|
cookie?: never;
|
|
672
860
|
};
|
|
673
|
-
|
|
861
|
+
/**
|
|
862
|
+
* Get OAuth app
|
|
863
|
+
* @description Get one of the authenticated user's OAuth apps by client id.
|
|
864
|
+
*/
|
|
865
|
+
get: operations["getOauth-appsById"];
|
|
674
866
|
put?: never;
|
|
675
867
|
post?: never;
|
|
676
868
|
delete?: never;
|
|
@@ -679,96 +871,1182 @@ export interface paths {
|
|
|
679
871
|
patch?: never;
|
|
680
872
|
trace?: never;
|
|
681
873
|
};
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
874
|
+
"/oauth-apps/{id}/update": {
|
|
875
|
+
parameters: {
|
|
876
|
+
query?: never;
|
|
877
|
+
header?: never;
|
|
878
|
+
path?: never;
|
|
879
|
+
cookie?: never;
|
|
880
|
+
};
|
|
881
|
+
get?: never;
|
|
882
|
+
put?: never;
|
|
686
883
|
/**
|
|
687
|
-
*
|
|
688
|
-
* @
|
|
884
|
+
* Update OAuth app
|
|
885
|
+
* @description Update one of the authenticated user's OAuth apps.
|
|
689
886
|
*/
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
retryAfter?: number;
|
|
697
|
-
};
|
|
698
|
-
/** @description Ordinary business error. Has no `code` field (unlike IdempotencyError). */
|
|
699
|
-
JobError: {
|
|
700
|
-
message: string;
|
|
701
|
-
};
|
|
702
|
-
CreateJobWithCreditsResponse: {
|
|
703
|
-
tx: string;
|
|
704
|
-
job: string;
|
|
705
|
-
run: string;
|
|
706
|
-
credits: {
|
|
707
|
-
costUSD: number;
|
|
708
|
-
creditsUsed: number;
|
|
709
|
-
reservationId: string;
|
|
710
|
-
project: string;
|
|
711
|
-
};
|
|
712
|
-
};
|
|
713
|
-
ExtendJobWithCreditsResponse: {
|
|
714
|
-
tx: (string | null) | null;
|
|
715
|
-
job: string;
|
|
716
|
-
credits?: {
|
|
717
|
-
costUSD: number;
|
|
718
|
-
creditsUsed: number;
|
|
719
|
-
reservationId: string;
|
|
720
|
-
};
|
|
721
|
-
};
|
|
722
|
-
StopJobWithCreditsResponse: {
|
|
723
|
-
tx: (string | null) | null;
|
|
724
|
-
job: string;
|
|
725
|
-
delisted: boolean;
|
|
726
|
-
outcome?: "delisted" | "ended" | "already_terminal";
|
|
727
|
-
};
|
|
728
|
-
JobsBatchResponse: {
|
|
729
|
-
items: {
|
|
730
|
-
index: number;
|
|
731
|
-
status: "confirmed" | "expired";
|
|
732
|
-
job?: string;
|
|
733
|
-
run?: string;
|
|
734
|
-
/** @description On-chain transaction signature (base58). */
|
|
735
|
-
tx?: string;
|
|
736
|
-
}[];
|
|
737
|
-
};
|
|
887
|
+
post: operations["postOauth-appsByIdUpdate"];
|
|
888
|
+
delete?: never;
|
|
889
|
+
options?: never;
|
|
890
|
+
head?: never;
|
|
891
|
+
patch?: never;
|
|
892
|
+
trace?: never;
|
|
738
893
|
};
|
|
739
|
-
|
|
740
|
-
parameters: never;
|
|
741
|
-
requestBodies: never;
|
|
742
|
-
headers: never;
|
|
743
|
-
pathItems: never;
|
|
744
|
-
}
|
|
745
|
-
export type $defs = Record<string, never>;
|
|
746
|
-
export interface operations {
|
|
747
|
-
getIndex: {
|
|
894
|
+
"/oauth-apps/{id}/delete": {
|
|
748
895
|
parameters: {
|
|
749
896
|
query?: never;
|
|
750
897
|
header?: never;
|
|
751
898
|
path?: never;
|
|
752
899
|
cookie?: never;
|
|
753
900
|
};
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
901
|
+
get?: never;
|
|
902
|
+
put?: never;
|
|
903
|
+
/**
|
|
904
|
+
* Delete OAuth app
|
|
905
|
+
* @description Delete one of the authenticated user's OAuth apps.
|
|
906
|
+
*/
|
|
907
|
+
post: operations["postOauth-appsByIdDelete"];
|
|
908
|
+
delete?: never;
|
|
909
|
+
options?: never;
|
|
910
|
+
head?: never;
|
|
911
|
+
patch?: never;
|
|
912
|
+
trace?: never;
|
|
763
913
|
};
|
|
764
|
-
"
|
|
914
|
+
"/metrics": {
|
|
765
915
|
parameters: {
|
|
766
916
|
query?: never;
|
|
767
917
|
header?: never;
|
|
768
918
|
path?: never;
|
|
769
919
|
cookie?: never;
|
|
770
920
|
};
|
|
771
|
-
|
|
921
|
+
get: operations["getMetrics"];
|
|
922
|
+
put?: never;
|
|
923
|
+
post?: never;
|
|
924
|
+
delete?: never;
|
|
925
|
+
options?: never;
|
|
926
|
+
head?: never;
|
|
927
|
+
patch?: never;
|
|
928
|
+
trace?: never;
|
|
929
|
+
};
|
|
930
|
+
"/health": {
|
|
931
|
+
parameters: {
|
|
932
|
+
query?: never;
|
|
933
|
+
header?: never;
|
|
934
|
+
path?: never;
|
|
935
|
+
cookie?: never;
|
|
936
|
+
};
|
|
937
|
+
get: operations["getHealth"];
|
|
938
|
+
put?: never;
|
|
939
|
+
post?: never;
|
|
940
|
+
delete?: never;
|
|
941
|
+
options?: never;
|
|
942
|
+
head?: never;
|
|
943
|
+
patch?: never;
|
|
944
|
+
trace?: never;
|
|
945
|
+
};
|
|
946
|
+
"/jobs/{address}/node/info": {
|
|
947
|
+
parameters: {
|
|
948
|
+
query?: never;
|
|
949
|
+
header?: never;
|
|
950
|
+
path?: never;
|
|
951
|
+
cookie?: never;
|
|
952
|
+
};
|
|
953
|
+
/**
|
|
954
|
+
* Stream job info
|
|
955
|
+
* @description Server-sent events: the job's flow without logs plus its task status, sent on open and whenever it changes, until the job ends. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
956
|
+
*/
|
|
957
|
+
get: {
|
|
958
|
+
parameters: {
|
|
959
|
+
query?: never;
|
|
960
|
+
header?: never;
|
|
961
|
+
path: {
|
|
962
|
+
/** @description Job address */
|
|
963
|
+
address: string;
|
|
964
|
+
};
|
|
965
|
+
cookie?: never;
|
|
966
|
+
};
|
|
967
|
+
requestBody?: never;
|
|
968
|
+
responses: {
|
|
969
|
+
/** @description A stream of `JobInfo` frames as unnamed `message` events. */
|
|
970
|
+
200: {
|
|
971
|
+
headers: {
|
|
972
|
+
[name: string]: unknown;
|
|
973
|
+
};
|
|
974
|
+
content: {
|
|
975
|
+
"text/event-stream": string;
|
|
976
|
+
};
|
|
977
|
+
};
|
|
978
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
979
|
+
404: {
|
|
980
|
+
headers: {
|
|
981
|
+
[name: string]: unknown;
|
|
982
|
+
};
|
|
983
|
+
content?: never;
|
|
984
|
+
};
|
|
985
|
+
/** @description This job has not been picked up by a node yet. */
|
|
986
|
+
409: {
|
|
987
|
+
headers: {
|
|
988
|
+
[name: string]: unknown;
|
|
989
|
+
};
|
|
990
|
+
content?: never;
|
|
991
|
+
};
|
|
992
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
993
|
+
502: {
|
|
994
|
+
headers: {
|
|
995
|
+
[name: string]: unknown;
|
|
996
|
+
};
|
|
997
|
+
content?: never;
|
|
998
|
+
};
|
|
999
|
+
};
|
|
1000
|
+
};
|
|
1001
|
+
put?: never;
|
|
1002
|
+
post?: never;
|
|
1003
|
+
delete?: never;
|
|
1004
|
+
options?: never;
|
|
1005
|
+
head?: never;
|
|
1006
|
+
patch?: never;
|
|
1007
|
+
trace?: never;
|
|
1008
|
+
};
|
|
1009
|
+
"/jobs/{address}/node/results": {
|
|
1010
|
+
parameters: {
|
|
1011
|
+
query?: never;
|
|
1012
|
+
header?: never;
|
|
1013
|
+
path?: never;
|
|
1014
|
+
cookie?: never;
|
|
1015
|
+
};
|
|
1016
|
+
/**
|
|
1017
|
+
* Collect the job results
|
|
1018
|
+
* @description The finished flow state. Available once the job waits for its result to be collected; collecting it lets the node finish the job. The node labels the body as text, but it is JSON. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1019
|
+
*/
|
|
1020
|
+
get: {
|
|
1021
|
+
parameters: {
|
|
1022
|
+
query?: never;
|
|
1023
|
+
header?: never;
|
|
1024
|
+
path: {
|
|
1025
|
+
/** @description Job address */
|
|
1026
|
+
address: string;
|
|
1027
|
+
};
|
|
1028
|
+
cookie?: never;
|
|
1029
|
+
};
|
|
1030
|
+
requestBody?: never;
|
|
1031
|
+
responses: {
|
|
1032
|
+
/** @description The flow state. */
|
|
1033
|
+
200: {
|
|
1034
|
+
headers: {
|
|
1035
|
+
[name: string]: unknown;
|
|
1036
|
+
};
|
|
1037
|
+
content: {
|
|
1038
|
+
"application/json": components["schemas"]["FlowState"];
|
|
1039
|
+
};
|
|
1040
|
+
};
|
|
1041
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1042
|
+
404: {
|
|
1043
|
+
headers: {
|
|
1044
|
+
[name: string]: unknown;
|
|
1045
|
+
};
|
|
1046
|
+
content?: never;
|
|
1047
|
+
};
|
|
1048
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1049
|
+
409: {
|
|
1050
|
+
headers: {
|
|
1051
|
+
[name: string]: unknown;
|
|
1052
|
+
};
|
|
1053
|
+
content?: never;
|
|
1054
|
+
};
|
|
1055
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1056
|
+
502: {
|
|
1057
|
+
headers: {
|
|
1058
|
+
[name: string]: unknown;
|
|
1059
|
+
};
|
|
1060
|
+
content?: never;
|
|
1061
|
+
};
|
|
1062
|
+
};
|
|
1063
|
+
};
|
|
1064
|
+
put?: never;
|
|
1065
|
+
post?: never;
|
|
1066
|
+
delete?: never;
|
|
1067
|
+
options?: never;
|
|
1068
|
+
head?: never;
|
|
1069
|
+
patch?: never;
|
|
1070
|
+
trace?: never;
|
|
1071
|
+
};
|
|
1072
|
+
"/jobs/{address}/node/job-definition": {
|
|
1073
|
+
parameters: {
|
|
1074
|
+
query?: never;
|
|
1075
|
+
header?: never;
|
|
1076
|
+
path?: never;
|
|
1077
|
+
cookie?: never;
|
|
1078
|
+
};
|
|
1079
|
+
/**
|
|
1080
|
+
* Get the job definition
|
|
1081
|
+
* @description The job definition. Fails while the job still waits for one. The node labels the body as text, but it is JSON. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1082
|
+
*/
|
|
1083
|
+
get: {
|
|
1084
|
+
parameters: {
|
|
1085
|
+
query?: never;
|
|
1086
|
+
header?: never;
|
|
1087
|
+
path: {
|
|
1088
|
+
/** @description Job address */
|
|
1089
|
+
address: string;
|
|
1090
|
+
};
|
|
1091
|
+
cookie?: never;
|
|
1092
|
+
};
|
|
1093
|
+
requestBody?: never;
|
|
1094
|
+
responses: {
|
|
1095
|
+
/** @description The job definition. */
|
|
1096
|
+
200: {
|
|
1097
|
+
headers: {
|
|
1098
|
+
[name: string]: unknown;
|
|
1099
|
+
};
|
|
1100
|
+
content: {
|
|
1101
|
+
"application/json": components["schemas"]["JobDefinition"];
|
|
1102
|
+
};
|
|
1103
|
+
};
|
|
1104
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1105
|
+
404: {
|
|
1106
|
+
headers: {
|
|
1107
|
+
[name: string]: unknown;
|
|
1108
|
+
};
|
|
1109
|
+
content?: never;
|
|
1110
|
+
};
|
|
1111
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1112
|
+
409: {
|
|
1113
|
+
headers: {
|
|
1114
|
+
[name: string]: unknown;
|
|
1115
|
+
};
|
|
1116
|
+
content?: never;
|
|
1117
|
+
};
|
|
1118
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1119
|
+
502: {
|
|
1120
|
+
headers: {
|
|
1121
|
+
[name: string]: unknown;
|
|
1122
|
+
};
|
|
1123
|
+
content?: never;
|
|
1124
|
+
};
|
|
1125
|
+
};
|
|
1126
|
+
};
|
|
1127
|
+
put?: never;
|
|
1128
|
+
post?: never;
|
|
1129
|
+
delete?: never;
|
|
1130
|
+
options?: never;
|
|
1131
|
+
head?: never;
|
|
1132
|
+
patch?: never;
|
|
1133
|
+
trace?: never;
|
|
1134
|
+
};
|
|
1135
|
+
"/jobs/{address}/node/endpoints": {
|
|
1136
|
+
parameters: {
|
|
1137
|
+
query?: never;
|
|
1138
|
+
header?: never;
|
|
1139
|
+
path?: never;
|
|
1140
|
+
cookie?: never;
|
|
1141
|
+
};
|
|
1142
|
+
/**
|
|
1143
|
+
* Exposed endpoints
|
|
1144
|
+
* @description The URLs the job exposes and whether they answer yet. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1145
|
+
*/
|
|
1146
|
+
get: {
|
|
1147
|
+
parameters: {
|
|
1148
|
+
query?: never;
|
|
1149
|
+
header?: never;
|
|
1150
|
+
path: {
|
|
1151
|
+
/** @description Job address */
|
|
1152
|
+
address: string;
|
|
1153
|
+
};
|
|
1154
|
+
cookie?: never;
|
|
1155
|
+
};
|
|
1156
|
+
requestBody?: never;
|
|
1157
|
+
responses: {
|
|
1158
|
+
/** @description Endpoints and their status. */
|
|
1159
|
+
200: {
|
|
1160
|
+
headers: {
|
|
1161
|
+
[name: string]: unknown;
|
|
1162
|
+
};
|
|
1163
|
+
content: {
|
|
1164
|
+
"application/json": components["schemas"]["JobEndpoints"];
|
|
1165
|
+
};
|
|
1166
|
+
};
|
|
1167
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1168
|
+
404: {
|
|
1169
|
+
headers: {
|
|
1170
|
+
[name: string]: unknown;
|
|
1171
|
+
};
|
|
1172
|
+
content?: never;
|
|
1173
|
+
};
|
|
1174
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1175
|
+
409: {
|
|
1176
|
+
headers: {
|
|
1177
|
+
[name: string]: unknown;
|
|
1178
|
+
};
|
|
1179
|
+
content?: never;
|
|
1180
|
+
};
|
|
1181
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1182
|
+
502: {
|
|
1183
|
+
headers: {
|
|
1184
|
+
[name: string]: unknown;
|
|
1185
|
+
};
|
|
1186
|
+
content?: never;
|
|
1187
|
+
};
|
|
1188
|
+
};
|
|
1189
|
+
};
|
|
1190
|
+
put?: never;
|
|
1191
|
+
post?: never;
|
|
1192
|
+
delete?: never;
|
|
1193
|
+
options?: never;
|
|
1194
|
+
head?: never;
|
|
1195
|
+
patch?: never;
|
|
1196
|
+
trace?: never;
|
|
1197
|
+
};
|
|
1198
|
+
"/jobs/{address}/node/stats": {
|
|
1199
|
+
parameters: {
|
|
1200
|
+
query?: never;
|
|
1201
|
+
header?: never;
|
|
1202
|
+
path?: never;
|
|
1203
|
+
cookie?: never;
|
|
1204
|
+
};
|
|
1205
|
+
/**
|
|
1206
|
+
* Resource stats
|
|
1207
|
+
* @description CPU, memory, disk and network samples per operation within a time window. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1208
|
+
*/
|
|
1209
|
+
get: {
|
|
1210
|
+
parameters: {
|
|
1211
|
+
query?: never;
|
|
1212
|
+
header?: never;
|
|
1213
|
+
path: {
|
|
1214
|
+
/** @description Job address */
|
|
1215
|
+
address: string;
|
|
1216
|
+
};
|
|
1217
|
+
cookie?: never;
|
|
1218
|
+
};
|
|
1219
|
+
requestBody?: never;
|
|
1220
|
+
responses: {
|
|
1221
|
+
/** @description Samples, oldest first. */
|
|
1222
|
+
200: {
|
|
1223
|
+
headers: {
|
|
1224
|
+
[name: string]: unknown;
|
|
1225
|
+
};
|
|
1226
|
+
content: {
|
|
1227
|
+
"application/json": components["schemas"]["TaskStat"][];
|
|
1228
|
+
};
|
|
1229
|
+
};
|
|
1230
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1231
|
+
404: {
|
|
1232
|
+
headers: {
|
|
1233
|
+
[name: string]: unknown;
|
|
1234
|
+
};
|
|
1235
|
+
content?: never;
|
|
1236
|
+
};
|
|
1237
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1238
|
+
409: {
|
|
1239
|
+
headers: {
|
|
1240
|
+
[name: string]: unknown;
|
|
1241
|
+
};
|
|
1242
|
+
content?: never;
|
|
1243
|
+
};
|
|
1244
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1245
|
+
502: {
|
|
1246
|
+
headers: {
|
|
1247
|
+
[name: string]: unknown;
|
|
1248
|
+
};
|
|
1249
|
+
content?: never;
|
|
1250
|
+
};
|
|
1251
|
+
};
|
|
1252
|
+
};
|
|
1253
|
+
put?: never;
|
|
1254
|
+
post?: never;
|
|
1255
|
+
delete?: never;
|
|
1256
|
+
options?: never;
|
|
1257
|
+
head?: never;
|
|
1258
|
+
patch?: never;
|
|
1259
|
+
trace?: never;
|
|
1260
|
+
};
|
|
1261
|
+
"/jobs/{address}/node/ops": {
|
|
1262
|
+
parameters: {
|
|
1263
|
+
query?: never;
|
|
1264
|
+
header?: never;
|
|
1265
|
+
path?: never;
|
|
1266
|
+
cookie?: never;
|
|
1267
|
+
};
|
|
1268
|
+
/**
|
|
1269
|
+
* Operation statuses
|
|
1270
|
+
* @description Status of every operation of the job. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1271
|
+
*/
|
|
1272
|
+
get: {
|
|
1273
|
+
parameters: {
|
|
1274
|
+
query?: never;
|
|
1275
|
+
header?: never;
|
|
1276
|
+
path: {
|
|
1277
|
+
/** @description Job address */
|
|
1278
|
+
address: string;
|
|
1279
|
+
};
|
|
1280
|
+
cookie?: never;
|
|
1281
|
+
};
|
|
1282
|
+
requestBody?: never;
|
|
1283
|
+
responses: {
|
|
1284
|
+
/** @description Statuses by operation id. */
|
|
1285
|
+
200: {
|
|
1286
|
+
headers: {
|
|
1287
|
+
[name: string]: unknown;
|
|
1288
|
+
};
|
|
1289
|
+
content: {
|
|
1290
|
+
"application/json": components["schemas"]["OperationStatuses"];
|
|
1291
|
+
};
|
|
1292
|
+
};
|
|
1293
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1294
|
+
404: {
|
|
1295
|
+
headers: {
|
|
1296
|
+
[name: string]: unknown;
|
|
1297
|
+
};
|
|
1298
|
+
content?: never;
|
|
1299
|
+
};
|
|
1300
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1301
|
+
409: {
|
|
1302
|
+
headers: {
|
|
1303
|
+
[name: string]: unknown;
|
|
1304
|
+
};
|
|
1305
|
+
content?: never;
|
|
1306
|
+
};
|
|
1307
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1308
|
+
502: {
|
|
1309
|
+
headers: {
|
|
1310
|
+
[name: string]: unknown;
|
|
1311
|
+
};
|
|
1312
|
+
content?: never;
|
|
1313
|
+
};
|
|
1314
|
+
};
|
|
1315
|
+
};
|
|
1316
|
+
put?: never;
|
|
1317
|
+
post?: never;
|
|
1318
|
+
delete?: never;
|
|
1319
|
+
options?: never;
|
|
1320
|
+
head?: never;
|
|
1321
|
+
patch?: never;
|
|
1322
|
+
trace?: never;
|
|
1323
|
+
};
|
|
1324
|
+
"/jobs/{address}/node/ops/{opId}": {
|
|
1325
|
+
parameters: {
|
|
1326
|
+
query?: never;
|
|
1327
|
+
header?: never;
|
|
1328
|
+
path?: never;
|
|
1329
|
+
cookie?: never;
|
|
1330
|
+
};
|
|
1331
|
+
/**
|
|
1332
|
+
* Operation status
|
|
1333
|
+
* @description Status of one operation. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1334
|
+
*/
|
|
1335
|
+
get: {
|
|
1336
|
+
parameters: {
|
|
1337
|
+
query?: never;
|
|
1338
|
+
header?: never;
|
|
1339
|
+
path: {
|
|
1340
|
+
/** @description Job address */
|
|
1341
|
+
address: string;
|
|
1342
|
+
/** @description An operation id within the job definition. */
|
|
1343
|
+
opId: string;
|
|
1344
|
+
};
|
|
1345
|
+
cookie?: never;
|
|
1346
|
+
};
|
|
1347
|
+
requestBody?: never;
|
|
1348
|
+
responses: {
|
|
1349
|
+
/** @description The operation's status. */
|
|
1350
|
+
200: {
|
|
1351
|
+
headers: {
|
|
1352
|
+
[name: string]: unknown;
|
|
1353
|
+
};
|
|
1354
|
+
content: {
|
|
1355
|
+
"application/json": string;
|
|
1356
|
+
};
|
|
1357
|
+
};
|
|
1358
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1359
|
+
404: {
|
|
1360
|
+
headers: {
|
|
1361
|
+
[name: string]: unknown;
|
|
1362
|
+
};
|
|
1363
|
+
content?: never;
|
|
1364
|
+
};
|
|
1365
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1366
|
+
409: {
|
|
1367
|
+
headers: {
|
|
1368
|
+
[name: string]: unknown;
|
|
1369
|
+
};
|
|
1370
|
+
content?: never;
|
|
1371
|
+
};
|
|
1372
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1373
|
+
502: {
|
|
1374
|
+
headers: {
|
|
1375
|
+
[name: string]: unknown;
|
|
1376
|
+
};
|
|
1377
|
+
content?: never;
|
|
1378
|
+
};
|
|
1379
|
+
};
|
|
1380
|
+
};
|
|
1381
|
+
put?: never;
|
|
1382
|
+
post?: never;
|
|
1383
|
+
delete?: never;
|
|
1384
|
+
options?: never;
|
|
1385
|
+
head?: never;
|
|
1386
|
+
patch?: never;
|
|
1387
|
+
trace?: never;
|
|
1388
|
+
};
|
|
1389
|
+
"/jobs/{address}/node/group/current": {
|
|
1390
|
+
parameters: {
|
|
1391
|
+
query?: never;
|
|
1392
|
+
header?: never;
|
|
1393
|
+
path?: never;
|
|
1394
|
+
cookie?: never;
|
|
1395
|
+
};
|
|
1396
|
+
/**
|
|
1397
|
+
* Current group statuses
|
|
1398
|
+
* @description Status of the operations in the group currently running. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1399
|
+
*/
|
|
1400
|
+
get: {
|
|
1401
|
+
parameters: {
|
|
1402
|
+
query?: never;
|
|
1403
|
+
header?: never;
|
|
1404
|
+
path: {
|
|
1405
|
+
/** @description Job address */
|
|
1406
|
+
address: string;
|
|
1407
|
+
};
|
|
1408
|
+
cookie?: never;
|
|
1409
|
+
};
|
|
1410
|
+
requestBody?: never;
|
|
1411
|
+
responses: {
|
|
1412
|
+
/** @description Statuses by operation id. */
|
|
1413
|
+
200: {
|
|
1414
|
+
headers: {
|
|
1415
|
+
[name: string]: unknown;
|
|
1416
|
+
};
|
|
1417
|
+
content: {
|
|
1418
|
+
"application/json": components["schemas"]["OperationStatuses"];
|
|
1419
|
+
};
|
|
1420
|
+
};
|
|
1421
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1422
|
+
404: {
|
|
1423
|
+
headers: {
|
|
1424
|
+
[name: string]: unknown;
|
|
1425
|
+
};
|
|
1426
|
+
content?: never;
|
|
1427
|
+
};
|
|
1428
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1429
|
+
409: {
|
|
1430
|
+
headers: {
|
|
1431
|
+
[name: string]: unknown;
|
|
1432
|
+
};
|
|
1433
|
+
content?: never;
|
|
1434
|
+
};
|
|
1435
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1436
|
+
502: {
|
|
1437
|
+
headers: {
|
|
1438
|
+
[name: string]: unknown;
|
|
1439
|
+
};
|
|
1440
|
+
content?: never;
|
|
1441
|
+
};
|
|
1442
|
+
};
|
|
1443
|
+
};
|
|
1444
|
+
put?: never;
|
|
1445
|
+
post?: never;
|
|
1446
|
+
delete?: never;
|
|
1447
|
+
options?: never;
|
|
1448
|
+
head?: never;
|
|
1449
|
+
patch?: never;
|
|
1450
|
+
trace?: never;
|
|
1451
|
+
};
|
|
1452
|
+
"/jobs/{address}/node/group/{group}": {
|
|
1453
|
+
parameters: {
|
|
1454
|
+
query?: never;
|
|
1455
|
+
header?: never;
|
|
1456
|
+
path?: never;
|
|
1457
|
+
cookie?: never;
|
|
1458
|
+
};
|
|
1459
|
+
/**
|
|
1460
|
+
* Group statuses
|
|
1461
|
+
* @description Status of the operations in one group. Signed on your behalf; only jobs you posted are reachable — anything else answers 404.
|
|
1462
|
+
*/
|
|
1463
|
+
get: {
|
|
1464
|
+
parameters: {
|
|
1465
|
+
query?: never;
|
|
1466
|
+
header?: never;
|
|
1467
|
+
path: {
|
|
1468
|
+
/** @description Job address */
|
|
1469
|
+
address: string;
|
|
1470
|
+
/** @description A group name within the job definition. */
|
|
1471
|
+
group: string;
|
|
1472
|
+
};
|
|
1473
|
+
cookie?: never;
|
|
1474
|
+
};
|
|
1475
|
+
requestBody?: never;
|
|
1476
|
+
responses: {
|
|
1477
|
+
/** @description Statuses by operation id. */
|
|
1478
|
+
200: {
|
|
1479
|
+
headers: {
|
|
1480
|
+
[name: string]: unknown;
|
|
1481
|
+
};
|
|
1482
|
+
content: {
|
|
1483
|
+
"application/json": components["schemas"]["OperationStatuses"];
|
|
1484
|
+
};
|
|
1485
|
+
};
|
|
1486
|
+
/** @description No job with that address, or the caller does not own it. */
|
|
1487
|
+
404: {
|
|
1488
|
+
headers: {
|
|
1489
|
+
[name: string]: unknown;
|
|
1490
|
+
};
|
|
1491
|
+
content?: never;
|
|
1492
|
+
};
|
|
1493
|
+
/** @description This job has not been picked up by a node yet. */
|
|
1494
|
+
409: {
|
|
1495
|
+
headers: {
|
|
1496
|
+
[name: string]: unknown;
|
|
1497
|
+
};
|
|
1498
|
+
content?: never;
|
|
1499
|
+
};
|
|
1500
|
+
/** @description The indexer or the node running this job could not be reached. */
|
|
1501
|
+
502: {
|
|
1502
|
+
headers: {
|
|
1503
|
+
[name: string]: unknown;
|
|
1504
|
+
};
|
|
1505
|
+
content?: never;
|
|
1506
|
+
};
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
put?: never;
|
|
1510
|
+
post?: never;
|
|
1511
|
+
delete?: never;
|
|
1512
|
+
options?: never;
|
|
1513
|
+
head?: never;
|
|
1514
|
+
patch?: never;
|
|
1515
|
+
trace?: never;
|
|
1516
|
+
};
|
|
1517
|
+
}
|
|
1518
|
+
export type webhooks = Record<string, never>;
|
|
1519
|
+
export interface components {
|
|
1520
|
+
schemas: {
|
|
1521
|
+
/**
|
|
1522
|
+
* @description Machine-readable idempotency control code. Branch on this, not the HTTP status alone. IN_PROGRESS → retry the SAME key; EXPIRED → mint a fresh key and re-post; PAYLOAD_MISMATCH → key reused with a different payload, do not retry.
|
|
1523
|
+
* @enum {string}
|
|
1524
|
+
*/
|
|
1525
|
+
IdempotencyCode: "IDEMPOTENCY_KEY_PAYLOAD_MISMATCH" | "IDEMPOTENCY_KEY_EXPIRED" | "IDEMPOTENCY_KEY_IN_PROGRESS";
|
|
1526
|
+
/** @description Idempotency control response. Branch on `code`, never on the HTTP status. */
|
|
1527
|
+
IdempotencyError: {
|
|
1528
|
+
code?: components["schemas"]["IdempotencyCode"];
|
|
1529
|
+
message: string;
|
|
1530
|
+
/** @description Seconds to wait before retrying the SAME key. Present for IDEMPOTENCY_KEY_IN_PROGRESS; mirrors the Retry-After header. */
|
|
1531
|
+
retryAfter?: number;
|
|
1532
|
+
};
|
|
1533
|
+
/** @description Ordinary business error. Has no `code` field (unlike IdempotencyError). */
|
|
1534
|
+
JobError: {
|
|
1535
|
+
message: string;
|
|
1536
|
+
};
|
|
1537
|
+
CreateJobWithCreditsResponse: {
|
|
1538
|
+
tx: string;
|
|
1539
|
+
job: string;
|
|
1540
|
+
run: string;
|
|
1541
|
+
credits: {
|
|
1542
|
+
costUSD: number;
|
|
1543
|
+
creditsUsed: number;
|
|
1544
|
+
reservationId: string;
|
|
1545
|
+
project: string;
|
|
1546
|
+
};
|
|
1547
|
+
};
|
|
1548
|
+
ExtendJobWithCreditsResponse: {
|
|
1549
|
+
tx: (string | null) | null;
|
|
1550
|
+
job: string;
|
|
1551
|
+
credits?: {
|
|
1552
|
+
costUSD: number;
|
|
1553
|
+
creditsUsed: number;
|
|
1554
|
+
reservationId: string;
|
|
1555
|
+
};
|
|
1556
|
+
};
|
|
1557
|
+
StopJobWithCreditsResponse: {
|
|
1558
|
+
tx: (string | null) | null;
|
|
1559
|
+
job: string;
|
|
1560
|
+
delisted: boolean;
|
|
1561
|
+
outcome?: "delisted" | "ended" | "already_terminal";
|
|
1562
|
+
};
|
|
1563
|
+
JobsBatchResponse: {
|
|
1564
|
+
items: {
|
|
1565
|
+
index: number;
|
|
1566
|
+
status: "confirmed" | "expired";
|
|
1567
|
+
job?: string;
|
|
1568
|
+
run?: string;
|
|
1569
|
+
/** @description On-chain transaction signature (base58). */
|
|
1570
|
+
tx?: string;
|
|
1571
|
+
}[];
|
|
1572
|
+
};
|
|
1573
|
+
JobDefinition: {
|
|
1574
|
+
/** @constant */
|
|
1575
|
+
version: "0.1";
|
|
1576
|
+
/** @constant */
|
|
1577
|
+
type: "container";
|
|
1578
|
+
logistics?: components["schemas"]["Logistics"];
|
|
1579
|
+
deployment_id?: string;
|
|
1580
|
+
ssh?: components["schemas"]["SSH"];
|
|
1581
|
+
meta?: components["schemas"]["Meta"];
|
|
1582
|
+
global?: components["schemas"]["Global"];
|
|
1583
|
+
ops: components["schemas"]["Ops"];
|
|
1584
|
+
};
|
|
1585
|
+
Logistics: {
|
|
1586
|
+
send: components["schemas"]["Logistic"];
|
|
1587
|
+
receive: components["schemas"]["Logistic"];
|
|
1588
|
+
};
|
|
1589
|
+
Logistic: {
|
|
1590
|
+
type: components["schemas"]["LogisticType"];
|
|
1591
|
+
args: components["schemas"]["Partial__type"];
|
|
1592
|
+
};
|
|
1593
|
+
/**
|
|
1594
|
+
* @description api - we receive and send via an endpoint endpoint
|
|
1595
|
+
* api-listen - we create an endpoint to listen for incoming requests
|
|
1596
|
+
*/
|
|
1597
|
+
LogisticType: "api" | "api-listen";
|
|
1598
|
+
/** @description Make all properties in T optional */
|
|
1599
|
+
Partial__type: {
|
|
1600
|
+
endpoint?: string;
|
|
1601
|
+
};
|
|
1602
|
+
SSH: {
|
|
1603
|
+
public_keys?: string[];
|
|
1604
|
+
};
|
|
1605
|
+
Meta: {
|
|
1606
|
+
trigger?: string;
|
|
1607
|
+
system_resources?: components["schemas"]["Recordstringstringnumber"];
|
|
1608
|
+
} & {
|
|
1609
|
+
[key: string]: string | number | (string | number)[] | components["schemas"]["Recordstringstringnumber_stringnumber_"];
|
|
1610
|
+
};
|
|
1611
|
+
/** @description Construct a type with a set of properties K of type T */
|
|
1612
|
+
Recordstringstringnumber: {
|
|
1613
|
+
[key: string]: string | number;
|
|
1614
|
+
};
|
|
1615
|
+
/** @description Construct a type with a set of properties K of type T */
|
|
1616
|
+
Recordstringstringnumber_stringnumber_: {
|
|
1617
|
+
[key: string]: string | number | (string | number)[];
|
|
1618
|
+
};
|
|
1619
|
+
Global: {
|
|
1620
|
+
image?: string;
|
|
1621
|
+
gpu?: boolean;
|
|
1622
|
+
entrypoint?: string | components["schemas"]["CMDArray"];
|
|
1623
|
+
env?: components["schemas"]["Env"];
|
|
1624
|
+
work_dir?: string;
|
|
1625
|
+
variables?: components["schemas"]["Variables"];
|
|
1626
|
+
};
|
|
1627
|
+
CMDArray: string[];
|
|
1628
|
+
Env: {
|
|
1629
|
+
[key: string]: string;
|
|
1630
|
+
};
|
|
1631
|
+
Variables: {
|
|
1632
|
+
[key: string]: string;
|
|
1633
|
+
};
|
|
1634
|
+
Ops: components["schemas"]["OperationkeyofOperationArgsMap"][];
|
|
1635
|
+
OperationkeyofOperationArgsMap: {
|
|
1636
|
+
type: "container/run" | "container/create-volume";
|
|
1637
|
+
id: components["schemas"]["OperationId"];
|
|
1638
|
+
args: components["schemas"]["ContainerRun"] | components["schemas"]["ContainerCreateVolume"];
|
|
1639
|
+
results?: components["schemas"]["OperationResults"];
|
|
1640
|
+
execution?: components["schemas"]["Execution"];
|
|
1641
|
+
};
|
|
1642
|
+
OperationId: string;
|
|
1643
|
+
ContainerRun: {
|
|
1644
|
+
image: string;
|
|
1645
|
+
aliases?: string | components["schemas"]["Aliases"];
|
|
1646
|
+
cmd?: string | components["schemas"]["CMDArray"];
|
|
1647
|
+
volumes?: components["schemas"]["Volume"][];
|
|
1648
|
+
expose?: number | components["schemas"]["LiteralString"] | {
|
|
1649
|
+
__spread__: components["schemas"]["LiteralString"];
|
|
1650
|
+
chunked?: boolean;
|
|
1651
|
+
} | components["schemas"]["ExposedPort"] | components["schemas"]["UniqueExposedPorts"];
|
|
1652
|
+
gpu?: boolean;
|
|
1653
|
+
work_dir?: string;
|
|
1654
|
+
entrypoint?: string | components["schemas"]["CMDArray"];
|
|
1655
|
+
env?: components["schemas"]["Env"];
|
|
1656
|
+
restart_policy?: "on-failure" | "no" | "always" | "unless-stopped" | {
|
|
1657
|
+
/** @constant */
|
|
1658
|
+
policy: "on-failure";
|
|
1659
|
+
restart_tries?: number;
|
|
1660
|
+
};
|
|
1661
|
+
private?: boolean;
|
|
1662
|
+
resources?: components["schemas"]["Resources"];
|
|
1663
|
+
authentication?: components["schemas"]["Authentication"];
|
|
1664
|
+
};
|
|
1665
|
+
Aliases: string[];
|
|
1666
|
+
Volume: {
|
|
1667
|
+
name: string;
|
|
1668
|
+
dest: string;
|
|
1669
|
+
};
|
|
1670
|
+
LiteralString: string;
|
|
1671
|
+
ExposedPort: {
|
|
1672
|
+
port: number;
|
|
1673
|
+
type?: "api" | "web" | "websocket" | "webapi" | "none";
|
|
1674
|
+
health_checks?: components["schemas"]["HealthCheck"][];
|
|
1675
|
+
};
|
|
1676
|
+
HealthCheck: components["schemas"]["HttpHealthCheck"] | components["schemas"]["WebSocketHealthCheck"];
|
|
1677
|
+
HttpHealthCheck: {
|
|
1678
|
+
/** @constant */
|
|
1679
|
+
type: "http";
|
|
1680
|
+
path: string;
|
|
1681
|
+
method: "GET" | "POST" | "PUT" | "DELETE";
|
|
1682
|
+
expected_status: number;
|
|
1683
|
+
headers?: components["schemas"]["Recordstringstring"];
|
|
1684
|
+
body?: unknown;
|
|
1685
|
+
continuous: boolean;
|
|
1686
|
+
};
|
|
1687
|
+
/** @description Construct a type with a set of properties K of type T */
|
|
1688
|
+
Recordstringstring: {
|
|
1689
|
+
[key: string]: string;
|
|
1690
|
+
};
|
|
1691
|
+
WebSocketHealthCheck: {
|
|
1692
|
+
/** @constant */
|
|
1693
|
+
type: "websocket";
|
|
1694
|
+
expected_response: string;
|
|
1695
|
+
continuous: boolean;
|
|
1696
|
+
};
|
|
1697
|
+
UniqueExposedPorts: components["schemas"]["ExposeBase"][];
|
|
1698
|
+
ExposeBase: number | components["schemas"]["LiteralString"] | {
|
|
1699
|
+
__spread__: components["schemas"]["LiteralString"];
|
|
1700
|
+
chunked?: boolean;
|
|
1701
|
+
} | components["schemas"]["ExposedPort"];
|
|
1702
|
+
Resources: ("__remove-if-empty__" | {
|
|
1703
|
+
__spread__: components["schemas"]["LiteralString"];
|
|
1704
|
+
chunked?: boolean;
|
|
1705
|
+
} | components["schemas"]["S3Base"] | components["schemas"]["S3WithBucket"] | components["schemas"]["S3WithBuckets"] | components["schemas"]["HFResource"] | components["schemas"]["OllamaResource"])[];
|
|
1706
|
+
S3Base: {
|
|
1707
|
+
/** @constant */
|
|
1708
|
+
type: "S3";
|
|
1709
|
+
target: string;
|
|
1710
|
+
url?: string;
|
|
1711
|
+
allowWrite?: boolean;
|
|
1712
|
+
files?: string[];
|
|
1713
|
+
IAM?: components["schemas"]["S3Auth"];
|
|
1714
|
+
};
|
|
1715
|
+
S3Auth: {
|
|
1716
|
+
REGION: string;
|
|
1717
|
+
ACCESS_KEY_ID: string;
|
|
1718
|
+
SECRET_ACCESS_KEY: string;
|
|
1719
|
+
};
|
|
1720
|
+
S3WithBucket: {
|
|
1721
|
+
/** @constant */
|
|
1722
|
+
type: "S3";
|
|
1723
|
+
target: string;
|
|
1724
|
+
bucket: string;
|
|
1725
|
+
url?: string;
|
|
1726
|
+
allowWrite?: boolean;
|
|
1727
|
+
IAM?: components["schemas"]["S3Auth"];
|
|
1728
|
+
};
|
|
1729
|
+
S3WithBuckets: {
|
|
1730
|
+
/** @constant */
|
|
1731
|
+
type: "S3";
|
|
1732
|
+
target: string;
|
|
1733
|
+
buckets: {
|
|
1734
|
+
url: string;
|
|
1735
|
+
files?: string[];
|
|
1736
|
+
}[];
|
|
1737
|
+
url?: string;
|
|
1738
|
+
allowWrite?: boolean;
|
|
1739
|
+
IAM?: components["schemas"]["S3Auth"];
|
|
1740
|
+
};
|
|
1741
|
+
HFResource: {
|
|
1742
|
+
/** @constant */
|
|
1743
|
+
type: "HF";
|
|
1744
|
+
target: string;
|
|
1745
|
+
repo: string;
|
|
1746
|
+
revision?: string;
|
|
1747
|
+
files?: string[];
|
|
1748
|
+
accessToken?: string;
|
|
1749
|
+
};
|
|
1750
|
+
OllamaResource: {
|
|
1751
|
+
/** @constant */
|
|
1752
|
+
type: "Ollama";
|
|
1753
|
+
model: string;
|
|
1754
|
+
target?: string;
|
|
1755
|
+
};
|
|
1756
|
+
Authentication: {
|
|
1757
|
+
docker?: components["schemas"]["DockerAuth"];
|
|
1758
|
+
};
|
|
1759
|
+
DockerAuth: {
|
|
1760
|
+
username?: string;
|
|
1761
|
+
password?: string;
|
|
1762
|
+
email?: string;
|
|
1763
|
+
server?: string;
|
|
1764
|
+
};
|
|
1765
|
+
ContainerCreateVolume: {
|
|
1766
|
+
name: string;
|
|
1767
|
+
};
|
|
1768
|
+
OperationResults: {
|
|
1769
|
+
[key: string]: string | components["schemas"]["OperationResult"];
|
|
1770
|
+
};
|
|
1771
|
+
OperationResult: {
|
|
1772
|
+
regex: string;
|
|
1773
|
+
logType: components["schemas"]["LogTypeTuple"];
|
|
1774
|
+
};
|
|
1775
|
+
LogTypeTuple: components["schemas"]["StdOption"][];
|
|
1776
|
+
StdOption: "stdin" | "stdout" | "stderr" | "nodeerr";
|
|
1777
|
+
Execution: {
|
|
1778
|
+
group?: string;
|
|
1779
|
+
timeout?: number;
|
|
1780
|
+
depends_on?: string[];
|
|
1781
|
+
stop_if_dependent_stops?: boolean;
|
|
1782
|
+
};
|
|
1783
|
+
FlowState: {
|
|
1784
|
+
status: string;
|
|
1785
|
+
startTime: number;
|
|
1786
|
+
endTime: null | number;
|
|
1787
|
+
errors?: unknown[];
|
|
1788
|
+
opStates: components["schemas"]["OpState"][];
|
|
1789
|
+
secrets?: components["schemas"]["FlowSecrets"];
|
|
1790
|
+
};
|
|
1791
|
+
OpState: {
|
|
1792
|
+
providerId: null | string;
|
|
1793
|
+
operationId: null | string;
|
|
1794
|
+
group: null | string;
|
|
1795
|
+
status: null | string;
|
|
1796
|
+
startTime: null | number;
|
|
1797
|
+
endTime: null | number;
|
|
1798
|
+
exitCode: null | number;
|
|
1799
|
+
logs: components["schemas"]["Log"][];
|
|
1800
|
+
results?: {
|
|
1801
|
+
[key: string]: string | string[];
|
|
1802
|
+
};
|
|
1803
|
+
error?: {
|
|
1804
|
+
event: string;
|
|
1805
|
+
message: string;
|
|
1806
|
+
code?: number;
|
|
1807
|
+
};
|
|
1808
|
+
diagnostics: {
|
|
1809
|
+
reason: components["schemas"]["DiagnosticsReason"];
|
|
1810
|
+
state?: components["schemas"]["DiagnosticsState"];
|
|
1811
|
+
};
|
|
1812
|
+
};
|
|
1813
|
+
Log: {
|
|
1814
|
+
type: components["schemas"]["StdOption"];
|
|
1815
|
+
log?: string;
|
|
1816
|
+
timestamp: string;
|
|
1817
|
+
};
|
|
1818
|
+
DiagnosticsReason: {
|
|
1819
|
+
hostShutDown: boolean;
|
|
1820
|
+
jobStopped: boolean;
|
|
1821
|
+
jobExpired: boolean;
|
|
1822
|
+
reason?: string;
|
|
1823
|
+
};
|
|
1824
|
+
DiagnosticsState: {
|
|
1825
|
+
Status: string;
|
|
1826
|
+
Running: boolean;
|
|
1827
|
+
Paused: boolean;
|
|
1828
|
+
Restarting: boolean;
|
|
1829
|
+
OOMKilled: boolean;
|
|
1830
|
+
Dead: boolean;
|
|
1831
|
+
Pid: number;
|
|
1832
|
+
ExitCode: number;
|
|
1833
|
+
Error: string;
|
|
1834
|
+
StartedAt: string;
|
|
1835
|
+
FinishedAt: string;
|
|
1836
|
+
Health?: {
|
|
1837
|
+
Status: string;
|
|
1838
|
+
FailingStreak: number;
|
|
1839
|
+
Log: null | {
|
|
1840
|
+
Start: string;
|
|
1841
|
+
End: string;
|
|
1842
|
+
ExitCode: number;
|
|
1843
|
+
Output: string;
|
|
1844
|
+
}[];
|
|
1845
|
+
};
|
|
1846
|
+
RestartCount: number;
|
|
1847
|
+
};
|
|
1848
|
+
FlowSecrets: {
|
|
1849
|
+
urlmode?: "private" | "public";
|
|
1850
|
+
} & {
|
|
1851
|
+
[key: string]: "private" | "public" | components["schemas"]["JobExposeSecrets"];
|
|
1852
|
+
};
|
|
1853
|
+
JobExposeSecrets: {
|
|
1854
|
+
[key: string]: components["schemas"]["EndpointSecret"];
|
|
1855
|
+
};
|
|
1856
|
+
EndpointSecret: {
|
|
1857
|
+
opID: string;
|
|
1858
|
+
port: string | number;
|
|
1859
|
+
url: string;
|
|
1860
|
+
status: components["schemas"]["EndpointStatus"];
|
|
1861
|
+
};
|
|
1862
|
+
EndpointStatus: "ONLINE" | "OFFLINE" | "UNKNOWN";
|
|
1863
|
+
/** @description A Solana address in base58. */
|
|
1864
|
+
Address: string;
|
|
1865
|
+
/** @description The node answers failures with a sentence or with `{ error }`. */
|
|
1866
|
+
NodeError: string | {
|
|
1867
|
+
error: string;
|
|
1868
|
+
};
|
|
1869
|
+
NodeInfo: {
|
|
1870
|
+
/** @description What the node is doing right now, as classified by its monitor. */
|
|
1871
|
+
state: string;
|
|
1872
|
+
info: {
|
|
1873
|
+
gpus?: {
|
|
1874
|
+
devices?: ({
|
|
1875
|
+
index?: number;
|
|
1876
|
+
name?: string;
|
|
1877
|
+
uuid?: string;
|
|
1878
|
+
memory?: unknown;
|
|
1879
|
+
network_architecture?: unknown;
|
|
1880
|
+
} & {
|
|
1881
|
+
[key: string]: unknown;
|
|
1882
|
+
})[];
|
|
1883
|
+
} & {
|
|
1884
|
+
[key: string]: unknown;
|
|
1885
|
+
};
|
|
1886
|
+
/** @description Network details with the IP address redacted. */
|
|
1887
|
+
network?: {
|
|
1888
|
+
[key: string]: unknown;
|
|
1889
|
+
};
|
|
1890
|
+
} & {
|
|
1891
|
+
[key: string]: unknown;
|
|
1892
|
+
};
|
|
1893
|
+
resources: {
|
|
1894
|
+
images: string[];
|
|
1895
|
+
volumes: string[];
|
|
1896
|
+
};
|
|
1897
|
+
} & {
|
|
1898
|
+
[key: string]: unknown;
|
|
1899
|
+
};
|
|
1900
|
+
/** @description An operation's state as the info stream sends it: `OpState` without its logs and provider handle. */
|
|
1901
|
+
OpStateSummary: {
|
|
1902
|
+
operationId?: string | null;
|
|
1903
|
+
group?: string | null;
|
|
1904
|
+
status?: string | null;
|
|
1905
|
+
startTime?: number | null;
|
|
1906
|
+
endTime?: number | null;
|
|
1907
|
+
exitCode?: number | null;
|
|
1908
|
+
results?: {
|
|
1909
|
+
[key: string]: string | string[];
|
|
1910
|
+
};
|
|
1911
|
+
error?: {
|
|
1912
|
+
event: string;
|
|
1913
|
+
message: string;
|
|
1914
|
+
code?: number;
|
|
1915
|
+
};
|
|
1916
|
+
diagnostics?: {
|
|
1917
|
+
reason: components["schemas"]["DiagnosticsReason"];
|
|
1918
|
+
state?: components["schemas"]["DiagnosticsState"];
|
|
1919
|
+
};
|
|
1920
|
+
};
|
|
1921
|
+
/** @description Status per operation, keyed by operation id. */
|
|
1922
|
+
OperationStatuses: {
|
|
1923
|
+
[key: string]: string | null;
|
|
1924
|
+
};
|
|
1925
|
+
/** @description One frame of the job info stream: the flow without logs, plus task status. */
|
|
1926
|
+
JobInfo: {
|
|
1927
|
+
status: string;
|
|
1928
|
+
startTime: number;
|
|
1929
|
+
endTime: number | null;
|
|
1930
|
+
errors: unknown[];
|
|
1931
|
+
opStates: components["schemas"]["OpStateSummary"][];
|
|
1932
|
+
secrets?: components["schemas"]["FlowSecrets"];
|
|
1933
|
+
operations: {
|
|
1934
|
+
all: components["schemas"]["OperationStatuses"] | null;
|
|
1935
|
+
currentGroup?: string;
|
|
1936
|
+
currentGroupStatus: components["schemas"]["OperationStatuses"] | null;
|
|
1937
|
+
} | null;
|
|
1938
|
+
};
|
|
1939
|
+
JobEndpoints: {
|
|
1940
|
+
urls: components["schemas"]["JobExposeSecrets"];
|
|
1941
|
+
/** @enum {string} */
|
|
1942
|
+
status: "ONLINE" | "OFFLINE";
|
|
1943
|
+
};
|
|
1944
|
+
TaskStat: {
|
|
1945
|
+
opId: string;
|
|
1946
|
+
/** @description Unix milliseconds. */
|
|
1947
|
+
timestamp: number;
|
|
1948
|
+
cpu: {
|
|
1949
|
+
cpu_percent: number;
|
|
1950
|
+
};
|
|
1951
|
+
memory: {
|
|
1952
|
+
memory_usage: number;
|
|
1953
|
+
memory_limit: number;
|
|
1954
|
+
memory_percent: number;
|
|
1955
|
+
};
|
|
1956
|
+
disk: {
|
|
1957
|
+
read: number;
|
|
1958
|
+
write: number;
|
|
1959
|
+
};
|
|
1960
|
+
network: {
|
|
1961
|
+
received: number;
|
|
1962
|
+
sent: number;
|
|
1963
|
+
};
|
|
1964
|
+
};
|
|
1965
|
+
TaskLog: {
|
|
1966
|
+
opId: string;
|
|
1967
|
+
group: string;
|
|
1968
|
+
type: string;
|
|
1969
|
+
timestamp: number;
|
|
1970
|
+
message: unknown;
|
|
1971
|
+
};
|
|
1972
|
+
ActionResult: {
|
|
1973
|
+
message: string;
|
|
1974
|
+
};
|
|
1975
|
+
/** @description One OpenSSH `authorized_keys` line: algorithm, base64 key material and an optional comment. */
|
|
1976
|
+
SshPublicKey: string;
|
|
1977
|
+
SshAuthorizationRequest: {
|
|
1978
|
+
sshPublicKey: components["schemas"]["SshPublicKey"];
|
|
1979
|
+
/**
|
|
1980
|
+
* Format: date-time
|
|
1981
|
+
* @description Omit for access until the key is revoked or the job ends.
|
|
1982
|
+
*/
|
|
1983
|
+
expiresAt?: string;
|
|
1984
|
+
};
|
|
1985
|
+
SshAuthorization: {
|
|
1986
|
+
job: components["schemas"]["Address"];
|
|
1987
|
+
/** @description Always `nosana`; the hostname identifies the job and operation. */
|
|
1988
|
+
sshUser: string;
|
|
1989
|
+
/** @constant */
|
|
1990
|
+
authorized: true;
|
|
1991
|
+
/** Format: date-time */
|
|
1992
|
+
expiresAt?: string;
|
|
1993
|
+
};
|
|
1994
|
+
SshAuthorizedKey: {
|
|
1995
|
+
sshPublicKey: components["schemas"]["SshPublicKey"];
|
|
1996
|
+
/**
|
|
1997
|
+
* Format: date-time
|
|
1998
|
+
* @description Absent for permanent keys.
|
|
1999
|
+
*/
|
|
2000
|
+
expiresAt?: string;
|
|
2001
|
+
};
|
|
2002
|
+
SshKeys: {
|
|
2003
|
+
job: components["schemas"]["Address"];
|
|
2004
|
+
sshUser: string;
|
|
2005
|
+
keys: components["schemas"]["SshAuthorizedKey"][];
|
|
2006
|
+
};
|
|
2007
|
+
SshRevocationRequest: {
|
|
2008
|
+
sshPublicKey: components["schemas"]["SshPublicKey"];
|
|
2009
|
+
};
|
|
2010
|
+
SshRevocation: {
|
|
2011
|
+
job: components["schemas"]["Address"];
|
|
2012
|
+
sshUser: string;
|
|
2013
|
+
/** @constant */
|
|
2014
|
+
revoked: true;
|
|
2015
|
+
};
|
|
2016
|
+
};
|
|
2017
|
+
responses: never;
|
|
2018
|
+
parameters: never;
|
|
2019
|
+
requestBodies: never;
|
|
2020
|
+
headers: never;
|
|
2021
|
+
pathItems: never;
|
|
2022
|
+
}
|
|
2023
|
+
export type $defs = Record<string, never>;
|
|
2024
|
+
export interface operations {
|
|
2025
|
+
getIndex: {
|
|
2026
|
+
parameters: {
|
|
2027
|
+
query?: never;
|
|
2028
|
+
header?: never;
|
|
2029
|
+
path?: never;
|
|
2030
|
+
cookie?: never;
|
|
2031
|
+
};
|
|
2032
|
+
requestBody?: never;
|
|
2033
|
+
responses: {
|
|
2034
|
+
200: {
|
|
2035
|
+
headers: {
|
|
2036
|
+
[name: string]: unknown;
|
|
2037
|
+
};
|
|
2038
|
+
content?: never;
|
|
2039
|
+
};
|
|
2040
|
+
};
|
|
2041
|
+
};
|
|
2042
|
+
"postAuthValidate-session": {
|
|
2043
|
+
parameters: {
|
|
2044
|
+
query?: never;
|
|
2045
|
+
header?: never;
|
|
2046
|
+
path?: never;
|
|
2047
|
+
cookie?: never;
|
|
2048
|
+
};
|
|
2049
|
+
requestBody: {
|
|
772
2050
|
content: {
|
|
773
2051
|
"application/json": {
|
|
774
2052
|
cookieHeader?: string;
|
|
@@ -887,11 +2165,11 @@ export interface operations {
|
|
|
887
2165
|
provider: (string | null) | null;
|
|
888
2166
|
providerUsername: (string | null) | null;
|
|
889
2167
|
generatedAddress: string;
|
|
890
|
-
authenticationHeader: string;
|
|
891
|
-
systemApiKey: string;
|
|
892
2168
|
created_at: ((Record<string, never> | string | number) | null) | null;
|
|
893
2169
|
};
|
|
894
2170
|
apiKeyId?: string;
|
|
2171
|
+
/** @description What the validated key is allowed to do. */
|
|
2172
|
+
scopes?: string[];
|
|
895
2173
|
};
|
|
896
2174
|
"multipart/form-data": {
|
|
897
2175
|
valid: boolean;
|
|
@@ -903,11 +2181,11 @@ export interface operations {
|
|
|
903
2181
|
provider: (string | null) | null;
|
|
904
2182
|
providerUsername: (string | null) | null;
|
|
905
2183
|
generatedAddress: string;
|
|
906
|
-
authenticationHeader: string;
|
|
907
|
-
systemApiKey: string;
|
|
908
2184
|
created_at: ((Record<string, never> | string | number) | null) | null;
|
|
909
2185
|
};
|
|
910
2186
|
apiKeyId?: string;
|
|
2187
|
+
/** @description What the validated key is allowed to do. */
|
|
2188
|
+
scopes?: string[];
|
|
911
2189
|
};
|
|
912
2190
|
"text/plain": {
|
|
913
2191
|
valid: boolean;
|
|
@@ -919,11 +2197,11 @@ export interface operations {
|
|
|
919
2197
|
provider: (string | null) | null;
|
|
920
2198
|
providerUsername: (string | null) | null;
|
|
921
2199
|
generatedAddress: string;
|
|
922
|
-
authenticationHeader: string;
|
|
923
|
-
systemApiKey: string;
|
|
924
2200
|
created_at: ((Record<string, never> | string | number) | null) | null;
|
|
925
2201
|
};
|
|
926
2202
|
apiKeyId?: string;
|
|
2203
|
+
/** @description What the validated key is allowed to do. */
|
|
2204
|
+
scopes?: string[];
|
|
927
2205
|
};
|
|
928
2206
|
};
|
|
929
2207
|
};
|
|
@@ -1033,6 +2311,54 @@ export interface operations {
|
|
|
1033
2311
|
};
|
|
1034
2312
|
};
|
|
1035
2313
|
};
|
|
2314
|
+
getAuthScopes: {
|
|
2315
|
+
parameters: {
|
|
2316
|
+
query?: never;
|
|
2317
|
+
header?: never;
|
|
2318
|
+
path?: never;
|
|
2319
|
+
cookie?: never;
|
|
2320
|
+
};
|
|
2321
|
+
requestBody?: never;
|
|
2322
|
+
responses: {
|
|
2323
|
+
200: {
|
|
2324
|
+
headers: {
|
|
2325
|
+
[name: string]: unknown;
|
|
2326
|
+
};
|
|
2327
|
+
content: {
|
|
2328
|
+
"application/json": {
|
|
2329
|
+
scopes: {
|
|
2330
|
+
/** @description The scope token, e.g. `credits:read`. */
|
|
2331
|
+
scope: string;
|
|
2332
|
+
/** @description User-facing wording, as shown on the consent screen. */
|
|
2333
|
+
description: string;
|
|
2334
|
+
/** @description Whether an OAuth app may hold this scope. False for scopes whose routes accept an API key only, which no access token can satisfy. */
|
|
2335
|
+
oauthGrantable: boolean;
|
|
2336
|
+
}[];
|
|
2337
|
+
};
|
|
2338
|
+
"multipart/form-data": {
|
|
2339
|
+
scopes: {
|
|
2340
|
+
/** @description The scope token, e.g. `credits:read`. */
|
|
2341
|
+
scope: string;
|
|
2342
|
+
/** @description User-facing wording, as shown on the consent screen. */
|
|
2343
|
+
description: string;
|
|
2344
|
+
/** @description Whether an OAuth app may hold this scope. False for scopes whose routes accept an API key only, which no access token can satisfy. */
|
|
2345
|
+
oauthGrantable: boolean;
|
|
2346
|
+
}[];
|
|
2347
|
+
};
|
|
2348
|
+
"text/plain": {
|
|
2349
|
+
scopes: {
|
|
2350
|
+
/** @description The scope token, e.g. `credits:read`. */
|
|
2351
|
+
scope: string;
|
|
2352
|
+
/** @description User-facing wording, as shown on the consent screen. */
|
|
2353
|
+
description: string;
|
|
2354
|
+
/** @description Whether an OAuth app may hold this scope. False for scopes whose routes accept an API key only, which no access token can satisfy. */
|
|
2355
|
+
oauthGrantable: boolean;
|
|
2356
|
+
}[];
|
|
2357
|
+
};
|
|
2358
|
+
};
|
|
2359
|
+
};
|
|
2360
|
+
};
|
|
2361
|
+
};
|
|
1036
2362
|
"getApi-keys": {
|
|
1037
2363
|
parameters: {
|
|
1038
2364
|
query?: never;
|
|
@@ -1049,11 +2375,14 @@ export interface operations {
|
|
|
1049
2375
|
content: {
|
|
1050
2376
|
"application/json": {
|
|
1051
2377
|
keys: {
|
|
2378
|
+
llmModels: (string[] | null) | null;
|
|
1052
2379
|
id: string;
|
|
1053
2380
|
name: string;
|
|
1054
2381
|
/** @description Full API key */
|
|
1055
2382
|
key: string;
|
|
1056
2383
|
status: string;
|
|
2384
|
+
/** @description What this key is allowed to do. */
|
|
2385
|
+
scopes: string[];
|
|
1057
2386
|
lastUsedAt: (string | null) | null;
|
|
1058
2387
|
expiresAt: (string | null) | null;
|
|
1059
2388
|
createdAt: string;
|
|
@@ -1063,11 +2392,14 @@ export interface operations {
|
|
|
1063
2392
|
};
|
|
1064
2393
|
"multipart/form-data": {
|
|
1065
2394
|
keys: {
|
|
2395
|
+
llmModels: (string[] | null) | null;
|
|
1066
2396
|
id: string;
|
|
1067
2397
|
name: string;
|
|
1068
2398
|
/** @description Full API key */
|
|
1069
2399
|
key: string;
|
|
1070
2400
|
status: string;
|
|
2401
|
+
/** @description What this key is allowed to do. */
|
|
2402
|
+
scopes: string[];
|
|
1071
2403
|
lastUsedAt: (string | null) | null;
|
|
1072
2404
|
expiresAt: (string | null) | null;
|
|
1073
2405
|
createdAt: string;
|
|
@@ -1077,11 +2409,14 @@ export interface operations {
|
|
|
1077
2409
|
};
|
|
1078
2410
|
"text/plain": {
|
|
1079
2411
|
keys: {
|
|
2412
|
+
llmModels: (string[] | null) | null;
|
|
1080
2413
|
id: string;
|
|
1081
2414
|
name: string;
|
|
1082
2415
|
/** @description Full API key */
|
|
1083
2416
|
key: string;
|
|
1084
2417
|
status: string;
|
|
2418
|
+
/** @description What this key is allowed to do. */
|
|
2419
|
+
scopes: string[];
|
|
1085
2420
|
lastUsedAt: (string | null) | null;
|
|
1086
2421
|
expiresAt: (string | null) | null;
|
|
1087
2422
|
createdAt: string;
|
|
@@ -1103,22 +2438,31 @@ export interface operations {
|
|
|
1103
2438
|
requestBody: {
|
|
1104
2439
|
content: {
|
|
1105
2440
|
"application/json": {
|
|
2441
|
+
llmModels?: (string[] | null) | null;
|
|
1106
2442
|
/** @description A descriptive name for the API key. */
|
|
1107
2443
|
name: string;
|
|
1108
2444
|
/** @description Key expiration time in seconds. If not provided, key never expires. */
|
|
1109
2445
|
expiresIn?: number;
|
|
2446
|
+
/** @description What the key may do. Must be a subset of the scopes the calling credential holds. Defaults to the caller's own scopes. */
|
|
2447
|
+
scopes?: string[];
|
|
1110
2448
|
};
|
|
1111
2449
|
"multipart/form-data": {
|
|
2450
|
+
llmModels?: (string[] | null) | null;
|
|
1112
2451
|
/** @description A descriptive name for the API key. */
|
|
1113
2452
|
name: string;
|
|
1114
2453
|
/** @description Key expiration time in seconds. If not provided, key never expires. */
|
|
1115
2454
|
expiresIn?: number;
|
|
2455
|
+
/** @description What the key may do. Must be a subset of the scopes the calling credential holds. Defaults to the caller's own scopes. */
|
|
2456
|
+
scopes?: string[];
|
|
1116
2457
|
};
|
|
1117
2458
|
"text/plain": {
|
|
2459
|
+
llmModels?: (string[] | null) | null;
|
|
1118
2460
|
/** @description A descriptive name for the API key. */
|
|
1119
2461
|
name: string;
|
|
1120
2462
|
/** @description Key expiration time in seconds. If not provided, key never expires. */
|
|
1121
2463
|
expiresIn?: number;
|
|
2464
|
+
/** @description What the key may do. Must be a subset of the scopes the calling credential holds. Defaults to the caller's own scopes. */
|
|
2465
|
+
scopes?: string[];
|
|
1122
2466
|
};
|
|
1123
2467
|
};
|
|
1124
2468
|
};
|
|
@@ -1129,29 +2473,38 @@ export interface operations {
|
|
|
1129
2473
|
};
|
|
1130
2474
|
content: {
|
|
1131
2475
|
"application/json": {
|
|
2476
|
+
llmModels: (string[] | null) | null;
|
|
1132
2477
|
/** @description The full API key. */
|
|
1133
2478
|
key: string;
|
|
1134
2479
|
id: string;
|
|
1135
2480
|
name: string;
|
|
1136
2481
|
status: string;
|
|
2482
|
+
/** @description What this key is allowed to do. */
|
|
2483
|
+
scopes: string[];
|
|
1137
2484
|
expiresAt: (string | null) | null;
|
|
1138
2485
|
createdAt: string;
|
|
1139
2486
|
};
|
|
1140
2487
|
"multipart/form-data": {
|
|
2488
|
+
llmModels: (string[] | null) | null;
|
|
1141
2489
|
/** @description The full API key. */
|
|
1142
2490
|
key: string;
|
|
1143
2491
|
id: string;
|
|
1144
2492
|
name: string;
|
|
1145
2493
|
status: string;
|
|
2494
|
+
/** @description What this key is allowed to do. */
|
|
2495
|
+
scopes: string[];
|
|
1146
2496
|
expiresAt: (string | null) | null;
|
|
1147
2497
|
createdAt: string;
|
|
1148
2498
|
};
|
|
1149
2499
|
"text/plain": {
|
|
2500
|
+
llmModels: (string[] | null) | null;
|
|
1150
2501
|
/** @description The full API key. */
|
|
1151
2502
|
key: string;
|
|
1152
2503
|
id: string;
|
|
1153
2504
|
name: string;
|
|
1154
2505
|
status: string;
|
|
2506
|
+
/** @description What this key is allowed to do. */
|
|
2507
|
+
scopes: string[];
|
|
1155
2508
|
expiresAt: (string | null) | null;
|
|
1156
2509
|
createdAt: string;
|
|
1157
2510
|
};
|
|
@@ -1176,33 +2529,42 @@ export interface operations {
|
|
|
1176
2529
|
};
|
|
1177
2530
|
content: {
|
|
1178
2531
|
"application/json": {
|
|
2532
|
+
llmModels: (string[] | null) | null;
|
|
1179
2533
|
id: string;
|
|
1180
2534
|
name: string;
|
|
1181
2535
|
/** @description Full API key */
|
|
1182
2536
|
key: string;
|
|
1183
2537
|
status: string;
|
|
2538
|
+
/** @description What this key is allowed to do. */
|
|
2539
|
+
scopes: string[];
|
|
1184
2540
|
lastUsedAt: (string | null) | null;
|
|
1185
2541
|
expiresAt: (string | null) | null;
|
|
1186
2542
|
createdAt: string;
|
|
1187
2543
|
updatedAt: string;
|
|
1188
2544
|
};
|
|
1189
2545
|
"multipart/form-data": {
|
|
2546
|
+
llmModels: (string[] | null) | null;
|
|
1190
2547
|
id: string;
|
|
1191
2548
|
name: string;
|
|
1192
2549
|
/** @description Full API key */
|
|
1193
2550
|
key: string;
|
|
1194
2551
|
status: string;
|
|
2552
|
+
/** @description What this key is allowed to do. */
|
|
2553
|
+
scopes: string[];
|
|
1195
2554
|
lastUsedAt: (string | null) | null;
|
|
1196
2555
|
expiresAt: (string | null) | null;
|
|
1197
2556
|
createdAt: string;
|
|
1198
2557
|
updatedAt: string;
|
|
1199
2558
|
};
|
|
1200
2559
|
"text/plain": {
|
|
2560
|
+
llmModels: (string[] | null) | null;
|
|
1201
2561
|
id: string;
|
|
1202
2562
|
name: string;
|
|
1203
2563
|
/** @description Full API key */
|
|
1204
2564
|
key: string;
|
|
1205
2565
|
status: string;
|
|
2566
|
+
/** @description What this key is allowed to do. */
|
|
2567
|
+
scopes: string[];
|
|
1206
2568
|
lastUsedAt: (string | null) | null;
|
|
1207
2569
|
expiresAt: (string | null) | null;
|
|
1208
2570
|
createdAt: string;
|
|
@@ -1224,18 +2586,21 @@ export interface operations {
|
|
|
1224
2586
|
requestBody: {
|
|
1225
2587
|
content: {
|
|
1226
2588
|
"application/json": {
|
|
2589
|
+
llmModels?: (string[] | null) | null;
|
|
1227
2590
|
/** @description Update the key name. */
|
|
1228
2591
|
name?: string;
|
|
1229
2592
|
/** @description Update the key status. */
|
|
1230
2593
|
status?: "active" | "disabled";
|
|
1231
2594
|
};
|
|
1232
2595
|
"multipart/form-data": {
|
|
2596
|
+
llmModels?: (string[] | null) | null;
|
|
1233
2597
|
/** @description Update the key name. */
|
|
1234
2598
|
name?: string;
|
|
1235
2599
|
/** @description Update the key status. */
|
|
1236
2600
|
status?: "active" | "disabled";
|
|
1237
2601
|
};
|
|
1238
2602
|
"text/plain": {
|
|
2603
|
+
llmModels?: (string[] | null) | null;
|
|
1239
2604
|
/** @description Update the key name. */
|
|
1240
2605
|
name?: string;
|
|
1241
2606
|
/** @description Update the key status. */
|
|
@@ -1250,33 +2615,42 @@ export interface operations {
|
|
|
1250
2615
|
};
|
|
1251
2616
|
content: {
|
|
1252
2617
|
"application/json": {
|
|
2618
|
+
llmModels: (string[] | null) | null;
|
|
1253
2619
|
id: string;
|
|
1254
2620
|
name: string;
|
|
1255
2621
|
/** @description Full API key */
|
|
1256
2622
|
key: string;
|
|
1257
2623
|
status: string;
|
|
2624
|
+
/** @description What this key is allowed to do. */
|
|
2625
|
+
scopes: string[];
|
|
1258
2626
|
lastUsedAt: (string | null) | null;
|
|
1259
2627
|
expiresAt: (string | null) | null;
|
|
1260
2628
|
createdAt: string;
|
|
1261
2629
|
updatedAt: string;
|
|
1262
2630
|
};
|
|
1263
2631
|
"multipart/form-data": {
|
|
2632
|
+
llmModels: (string[] | null) | null;
|
|
1264
2633
|
id: string;
|
|
1265
2634
|
name: string;
|
|
1266
2635
|
/** @description Full API key */
|
|
1267
2636
|
key: string;
|
|
1268
2637
|
status: string;
|
|
2638
|
+
/** @description What this key is allowed to do. */
|
|
2639
|
+
scopes: string[];
|
|
1269
2640
|
lastUsedAt: (string | null) | null;
|
|
1270
2641
|
expiresAt: (string | null) | null;
|
|
1271
2642
|
createdAt: string;
|
|
1272
2643
|
updatedAt: string;
|
|
1273
2644
|
};
|
|
1274
2645
|
"text/plain": {
|
|
2646
|
+
llmModels: (string[] | null) | null;
|
|
1275
2647
|
id: string;
|
|
1276
2648
|
name: string;
|
|
1277
2649
|
/** @description Full API key */
|
|
1278
2650
|
key: string;
|
|
1279
2651
|
status: string;
|
|
2652
|
+
/** @description What this key is allowed to do. */
|
|
2653
|
+
scopes: string[];
|
|
1280
2654
|
lastUsedAt: (string | null) | null;
|
|
1281
2655
|
expiresAt: (string | null) | null;
|
|
1282
2656
|
createdAt: string;
|
|
@@ -1625,53 +2999,277 @@ export interface operations {
|
|
|
1625
2999
|
path?: never;
|
|
1626
3000
|
cookie?: never;
|
|
1627
3001
|
};
|
|
1628
|
-
requestBody?: never;
|
|
3002
|
+
requestBody?: never;
|
|
3003
|
+
responses: {
|
|
3004
|
+
200: {
|
|
3005
|
+
headers: {
|
|
3006
|
+
[name: string]: unknown;
|
|
3007
|
+
};
|
|
3008
|
+
content: {
|
|
3009
|
+
"application/json": {
|
|
3010
|
+
transactions: {
|
|
3011
|
+
id: string;
|
|
3012
|
+
type: string;
|
|
3013
|
+
amountUsd: number;
|
|
3014
|
+
createdAt: string;
|
|
3015
|
+
method: string | null;
|
|
3016
|
+
}[];
|
|
3017
|
+
total: number;
|
|
3018
|
+
};
|
|
3019
|
+
"multipart/form-data": {
|
|
3020
|
+
transactions: {
|
|
3021
|
+
id: string;
|
|
3022
|
+
type: string;
|
|
3023
|
+
amountUsd: number;
|
|
3024
|
+
createdAt: string;
|
|
3025
|
+
method: string | null;
|
|
3026
|
+
}[];
|
|
3027
|
+
total: number;
|
|
3028
|
+
};
|
|
3029
|
+
"text/plain": {
|
|
3030
|
+
transactions: {
|
|
3031
|
+
id: string;
|
|
3032
|
+
type: string;
|
|
3033
|
+
amountUsd: number;
|
|
3034
|
+
createdAt: string;
|
|
3035
|
+
method: string | null;
|
|
3036
|
+
}[];
|
|
3037
|
+
total: number;
|
|
3038
|
+
};
|
|
3039
|
+
};
|
|
3040
|
+
};
|
|
3041
|
+
};
|
|
3042
|
+
};
|
|
3043
|
+
getCreditsInvitationsByToken: {
|
|
3044
|
+
parameters: {
|
|
3045
|
+
query?: never;
|
|
3046
|
+
header?: never;
|
|
3047
|
+
path: {
|
|
3048
|
+
token: string;
|
|
3049
|
+
};
|
|
3050
|
+
cookie?: never;
|
|
3051
|
+
};
|
|
3052
|
+
requestBody?: never;
|
|
3053
|
+
responses: {
|
|
3054
|
+
200: {
|
|
3055
|
+
headers: {
|
|
3056
|
+
[name: string]: unknown;
|
|
3057
|
+
};
|
|
3058
|
+
content: {
|
|
3059
|
+
"application/json": {
|
|
3060
|
+
creditsAmount: number;
|
|
3061
|
+
expirationDate: (((Record<string, never> | string | number) | string) | null) | null;
|
|
3062
|
+
restrictedEmail: (string | null) | null;
|
|
3063
|
+
restrictedAccountName: (string | null) | null;
|
|
3064
|
+
isClaimed: boolean;
|
|
3065
|
+
isExpired: boolean;
|
|
3066
|
+
};
|
|
3067
|
+
"multipart/form-data": {
|
|
3068
|
+
creditsAmount: number;
|
|
3069
|
+
expirationDate: (((Record<string, never> | string | number) | string) | null) | null;
|
|
3070
|
+
restrictedEmail: (string | null) | null;
|
|
3071
|
+
restrictedAccountName: (string | null) | null;
|
|
3072
|
+
isClaimed: boolean;
|
|
3073
|
+
isExpired: boolean;
|
|
3074
|
+
};
|
|
3075
|
+
"text/plain": {
|
|
3076
|
+
creditsAmount: number;
|
|
3077
|
+
expirationDate: (((Record<string, never> | string | number) | string) | null) | null;
|
|
3078
|
+
restrictedEmail: (string | null) | null;
|
|
3079
|
+
restrictedAccountName: (string | null) | null;
|
|
3080
|
+
isClaimed: boolean;
|
|
3081
|
+
isExpired: boolean;
|
|
3082
|
+
};
|
|
3083
|
+
};
|
|
3084
|
+
};
|
|
3085
|
+
};
|
|
3086
|
+
};
|
|
3087
|
+
postCreditsInternalLlmFinalize: {
|
|
3088
|
+
parameters: {
|
|
3089
|
+
query?: never;
|
|
3090
|
+
header?: never;
|
|
3091
|
+
path?: never;
|
|
3092
|
+
cookie?: never;
|
|
3093
|
+
};
|
|
3094
|
+
requestBody: {
|
|
3095
|
+
content: {
|
|
3096
|
+
"application/json": {
|
|
3097
|
+
/** Format: uuid */
|
|
3098
|
+
requestId: string;
|
|
3099
|
+
usage: {
|
|
3100
|
+
promptTokens: string | number;
|
|
3101
|
+
completionTokens: string | number;
|
|
3102
|
+
costNano: string | number;
|
|
3103
|
+
estimated?: boolean;
|
|
3104
|
+
streamed?: boolean;
|
|
3105
|
+
status: string | number;
|
|
3106
|
+
};
|
|
3107
|
+
};
|
|
3108
|
+
"multipart/form-data": {
|
|
3109
|
+
/** Format: uuid */
|
|
3110
|
+
requestId: string;
|
|
3111
|
+
usage: {
|
|
3112
|
+
promptTokens: string | number;
|
|
3113
|
+
completionTokens: string | number;
|
|
3114
|
+
costNano: string | number;
|
|
3115
|
+
estimated?: boolean;
|
|
3116
|
+
streamed?: boolean;
|
|
3117
|
+
status: string | number;
|
|
3118
|
+
};
|
|
3119
|
+
};
|
|
3120
|
+
"text/plain": {
|
|
3121
|
+
/** Format: uuid */
|
|
3122
|
+
requestId: string;
|
|
3123
|
+
usage: {
|
|
3124
|
+
promptTokens: string | number;
|
|
3125
|
+
completionTokens: string | number;
|
|
3126
|
+
costNano: string | number;
|
|
3127
|
+
estimated?: boolean;
|
|
3128
|
+
streamed?: boolean;
|
|
3129
|
+
status: string | number;
|
|
3130
|
+
};
|
|
3131
|
+
};
|
|
3132
|
+
};
|
|
3133
|
+
};
|
|
3134
|
+
responses: {
|
|
3135
|
+
200: {
|
|
3136
|
+
headers: {
|
|
3137
|
+
[name: string]: unknown;
|
|
3138
|
+
};
|
|
3139
|
+
content?: never;
|
|
3140
|
+
};
|
|
3141
|
+
};
|
|
3142
|
+
};
|
|
3143
|
+
getCreditsLlmUsage: {
|
|
3144
|
+
parameters: {
|
|
3145
|
+
query?: {
|
|
3146
|
+
limit?: string | number;
|
|
3147
|
+
offset?: string | number;
|
|
3148
|
+
};
|
|
3149
|
+
header?: never;
|
|
3150
|
+
path?: never;
|
|
3151
|
+
cookie?: never;
|
|
3152
|
+
};
|
|
3153
|
+
requestBody?: never;
|
|
3154
|
+
responses: {
|
|
3155
|
+
200: {
|
|
3156
|
+
headers: {
|
|
3157
|
+
[name: string]: unknown;
|
|
3158
|
+
};
|
|
3159
|
+
content?: never;
|
|
3160
|
+
};
|
|
3161
|
+
};
|
|
3162
|
+
};
|
|
3163
|
+
getCreditsInternalLlmModels: {
|
|
3164
|
+
parameters: {
|
|
3165
|
+
query?: never;
|
|
3166
|
+
header?: never;
|
|
3167
|
+
path?: never;
|
|
3168
|
+
cookie?: never;
|
|
3169
|
+
};
|
|
3170
|
+
requestBody?: never;
|
|
3171
|
+
responses: {
|
|
3172
|
+
200: {
|
|
3173
|
+
headers: {
|
|
3174
|
+
[name: string]: unknown;
|
|
3175
|
+
};
|
|
3176
|
+
content?: never;
|
|
3177
|
+
};
|
|
3178
|
+
};
|
|
3179
|
+
};
|
|
3180
|
+
getCreditsAdminLlmTemplates: {
|
|
3181
|
+
parameters: {
|
|
3182
|
+
query?: never;
|
|
3183
|
+
header?: never;
|
|
3184
|
+
path?: never;
|
|
3185
|
+
cookie?: never;
|
|
3186
|
+
};
|
|
3187
|
+
requestBody?: never;
|
|
3188
|
+
responses: {
|
|
3189
|
+
200: {
|
|
3190
|
+
headers: {
|
|
3191
|
+
[name: string]: unknown;
|
|
3192
|
+
};
|
|
3193
|
+
content?: never;
|
|
3194
|
+
};
|
|
3195
|
+
};
|
|
3196
|
+
};
|
|
3197
|
+
getCreditsAdminLlmModels: {
|
|
3198
|
+
parameters: {
|
|
3199
|
+
query?: never;
|
|
3200
|
+
header?: never;
|
|
3201
|
+
path?: never;
|
|
3202
|
+
cookie?: never;
|
|
3203
|
+
};
|
|
3204
|
+
requestBody?: never;
|
|
3205
|
+
responses: {
|
|
3206
|
+
200: {
|
|
3207
|
+
headers: {
|
|
3208
|
+
[name: string]: unknown;
|
|
3209
|
+
};
|
|
3210
|
+
content?: never;
|
|
3211
|
+
};
|
|
3212
|
+
};
|
|
3213
|
+
};
|
|
3214
|
+
postCreditsAdminLlmModels: {
|
|
3215
|
+
parameters: {
|
|
3216
|
+
query?: never;
|
|
3217
|
+
header?: never;
|
|
3218
|
+
path?: never;
|
|
3219
|
+
cookie?: never;
|
|
3220
|
+
};
|
|
3221
|
+
requestBody: {
|
|
3222
|
+
content: {
|
|
3223
|
+
"application/json": {
|
|
3224
|
+
templateId: string;
|
|
3225
|
+
sourceCommit: string;
|
|
3226
|
+
market: string;
|
|
3227
|
+
replicas: string | number;
|
|
3228
|
+
maxHourlyUsd?: number;
|
|
3229
|
+
pricing: {
|
|
3230
|
+
prompt: string;
|
|
3231
|
+
completion: string;
|
|
3232
|
+
};
|
|
3233
|
+
};
|
|
3234
|
+
"multipart/form-data": {
|
|
3235
|
+
templateId: string;
|
|
3236
|
+
sourceCommit: string;
|
|
3237
|
+
market: string;
|
|
3238
|
+
replicas: string | number;
|
|
3239
|
+
maxHourlyUsd?: number;
|
|
3240
|
+
pricing: {
|
|
3241
|
+
prompt: string;
|
|
3242
|
+
completion: string;
|
|
3243
|
+
};
|
|
3244
|
+
};
|
|
3245
|
+
"text/plain": {
|
|
3246
|
+
templateId: string;
|
|
3247
|
+
sourceCommit: string;
|
|
3248
|
+
market: string;
|
|
3249
|
+
replicas: string | number;
|
|
3250
|
+
maxHourlyUsd?: number;
|
|
3251
|
+
pricing: {
|
|
3252
|
+
prompt: string;
|
|
3253
|
+
completion: string;
|
|
3254
|
+
};
|
|
3255
|
+
};
|
|
3256
|
+
};
|
|
3257
|
+
};
|
|
1629
3258
|
responses: {
|
|
1630
3259
|
200: {
|
|
1631
3260
|
headers: {
|
|
1632
3261
|
[name: string]: unknown;
|
|
1633
3262
|
};
|
|
1634
|
-
content
|
|
1635
|
-
"application/json": {
|
|
1636
|
-
transactions: {
|
|
1637
|
-
id: string;
|
|
1638
|
-
type: string;
|
|
1639
|
-
amountUsd: number;
|
|
1640
|
-
createdAt: string;
|
|
1641
|
-
method: string | null;
|
|
1642
|
-
}[];
|
|
1643
|
-
total: number;
|
|
1644
|
-
};
|
|
1645
|
-
"multipart/form-data": {
|
|
1646
|
-
transactions: {
|
|
1647
|
-
id: string;
|
|
1648
|
-
type: string;
|
|
1649
|
-
amountUsd: number;
|
|
1650
|
-
createdAt: string;
|
|
1651
|
-
method: string | null;
|
|
1652
|
-
}[];
|
|
1653
|
-
total: number;
|
|
1654
|
-
};
|
|
1655
|
-
"text/plain": {
|
|
1656
|
-
transactions: {
|
|
1657
|
-
id: string;
|
|
1658
|
-
type: string;
|
|
1659
|
-
amountUsd: number;
|
|
1660
|
-
createdAt: string;
|
|
1661
|
-
method: string | null;
|
|
1662
|
-
}[];
|
|
1663
|
-
total: number;
|
|
1664
|
-
};
|
|
1665
|
-
};
|
|
3263
|
+
content?: never;
|
|
1666
3264
|
};
|
|
1667
3265
|
};
|
|
1668
3266
|
};
|
|
1669
|
-
|
|
3267
|
+
deleteCreditsAdminLlmModelsById: {
|
|
1670
3268
|
parameters: {
|
|
1671
3269
|
query?: never;
|
|
1672
3270
|
header?: never;
|
|
1673
3271
|
path: {
|
|
1674
|
-
|
|
3272
|
+
id: string;
|
|
1675
3273
|
};
|
|
1676
3274
|
cookie?: never;
|
|
1677
3275
|
};
|
|
@@ -1681,32 +3279,59 @@ export interface operations {
|
|
|
1681
3279
|
headers: {
|
|
1682
3280
|
[name: string]: unknown;
|
|
1683
3281
|
};
|
|
1684
|
-
content
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
3282
|
+
content?: never;
|
|
3283
|
+
};
|
|
3284
|
+
};
|
|
3285
|
+
};
|
|
3286
|
+
patchCreditsAdminLlmModelsById: {
|
|
3287
|
+
parameters: {
|
|
3288
|
+
query?: never;
|
|
3289
|
+
header?: never;
|
|
3290
|
+
path: {
|
|
3291
|
+
id: string;
|
|
3292
|
+
};
|
|
3293
|
+
cookie?: never;
|
|
3294
|
+
};
|
|
3295
|
+
requestBody: {
|
|
3296
|
+
content: {
|
|
3297
|
+
"application/json": {
|
|
3298
|
+
enabled?: boolean;
|
|
3299
|
+
pricing?: {
|
|
3300
|
+
prompt: string;
|
|
3301
|
+
completion: string;
|
|
1692
3302
|
};
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
3303
|
+
maxHourlyUsd?: number;
|
|
3304
|
+
replicas?: string | number;
|
|
3305
|
+
market?: string;
|
|
3306
|
+
};
|
|
3307
|
+
"multipart/form-data": {
|
|
3308
|
+
enabled?: boolean;
|
|
3309
|
+
pricing?: {
|
|
3310
|
+
prompt: string;
|
|
3311
|
+
completion: string;
|
|
1700
3312
|
};
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
3313
|
+
maxHourlyUsd?: number;
|
|
3314
|
+
replicas?: string | number;
|
|
3315
|
+
market?: string;
|
|
3316
|
+
};
|
|
3317
|
+
"text/plain": {
|
|
3318
|
+
enabled?: boolean;
|
|
3319
|
+
pricing?: {
|
|
3320
|
+
prompt: string;
|
|
3321
|
+
completion: string;
|
|
1708
3322
|
};
|
|
3323
|
+
maxHourlyUsd?: number;
|
|
3324
|
+
replicas?: string | number;
|
|
3325
|
+
market?: string;
|
|
3326
|
+
};
|
|
3327
|
+
};
|
|
3328
|
+
};
|
|
3329
|
+
responses: {
|
|
3330
|
+
200: {
|
|
3331
|
+
headers: {
|
|
3332
|
+
[name: string]: unknown;
|
|
1709
3333
|
};
|
|
3334
|
+
content?: never;
|
|
1710
3335
|
};
|
|
1711
3336
|
};
|
|
1712
3337
|
};
|
|
@@ -1930,7 +3555,7 @@ export interface operations {
|
|
|
1930
3555
|
ipfsHash: string;
|
|
1931
3556
|
/** @description Market address */
|
|
1932
3557
|
market: string;
|
|
1933
|
-
/** @description Job timeout in seconds (default: 3600) */
|
|
3558
|
+
/** @description Job timeout in seconds (default: 3600). Credit-paid jobs must run at least 3600 seconds; a shorter timeout returns 400. */
|
|
1934
3559
|
timeout?: number;
|
|
1935
3560
|
/** @description Optional node address */
|
|
1936
3561
|
node?: string;
|
|
@@ -1940,7 +3565,7 @@ export interface operations {
|
|
|
1940
3565
|
ipfsHash: string;
|
|
1941
3566
|
/** @description Market address */
|
|
1942
3567
|
market: string;
|
|
1943
|
-
/** @description Job timeout in seconds (default: 3600) */
|
|
3568
|
+
/** @description Job timeout in seconds (default: 3600). Credit-paid jobs must run at least 3600 seconds; a shorter timeout returns 400. */
|
|
1944
3569
|
timeout?: number;
|
|
1945
3570
|
/** @description Optional node address */
|
|
1946
3571
|
node?: string;
|
|
@@ -1950,7 +3575,7 @@ export interface operations {
|
|
|
1950
3575
|
ipfsHash: string;
|
|
1951
3576
|
/** @description Market address */
|
|
1952
3577
|
market: string;
|
|
1953
|
-
/** @description Job timeout in seconds (default: 3600) */
|
|
3578
|
+
/** @description Job timeout in seconds (default: 3600). Credit-paid jobs must run at least 3600 seconds; a shorter timeout returns 400. */
|
|
1954
3579
|
timeout?: number;
|
|
1955
3580
|
/** @description Optional node address */
|
|
1956
3581
|
node?: string;
|
|
@@ -2026,7 +3651,7 @@ export interface operations {
|
|
|
2026
3651
|
ipfsHash: string;
|
|
2027
3652
|
/** @description Market address */
|
|
2028
3653
|
market: string;
|
|
2029
|
-
/** @description Job timeout in seconds (default: 3600) */
|
|
3654
|
+
/** @description Job timeout in seconds (default: 3600). Same 3600-second minimum as single LIST; one too-short item rejects the whole batch with 400. */
|
|
2030
3655
|
timeout?: number;
|
|
2031
3656
|
}[];
|
|
2032
3657
|
};
|
|
@@ -2037,7 +3662,7 @@ export interface operations {
|
|
|
2037
3662
|
ipfsHash: string;
|
|
2038
3663
|
/** @description Market address */
|
|
2039
3664
|
market: string;
|
|
2040
|
-
/** @description Job timeout in seconds (default: 3600) */
|
|
3665
|
+
/** @description Job timeout in seconds (default: 3600). Same 3600-second minimum as single LIST; one too-short item rejects the whole batch with 400. */
|
|
2041
3666
|
timeout?: number;
|
|
2042
3667
|
}[];
|
|
2043
3668
|
};
|
|
@@ -2048,8 +3673,111 @@ export interface operations {
|
|
|
2048
3673
|
ipfsHash: string;
|
|
2049
3674
|
/** @description Market address */
|
|
2050
3675
|
market: string;
|
|
2051
|
-
/** @description Job timeout in seconds (default: 3600) */
|
|
3676
|
+
/** @description Job timeout in seconds (default: 3600). Same 3600-second minimum as single LIST; one too-short item rejects the whole batch with 400. */
|
|
3677
|
+
timeout?: number;
|
|
3678
|
+
}[];
|
|
3679
|
+
};
|
|
3680
|
+
};
|
|
3681
|
+
};
|
|
3682
|
+
responses: {
|
|
3683
|
+
/** @description Per-item results by `index`: `confirmed` (with its job/run address and the packed tx's `tx` signature) or `expired` — re-post only the expired items under a fresh key. `tx` is absent on an already-terminal no-op (nothing was sent); items packed into the same on-chain tx share one `tx`. */
|
|
3684
|
+
200: {
|
|
3685
|
+
headers: {
|
|
3686
|
+
[name: string]: unknown;
|
|
3687
|
+
};
|
|
3688
|
+
content: {
|
|
3689
|
+
"application/json": components["schemas"]["JobsBatchResponse"];
|
|
3690
|
+
};
|
|
3691
|
+
};
|
|
3692
|
+
/** @description Missing `Idempotency-Key` header (required on batch endpoints) or an otherwise invalid request. Ordinary error: no `code` field. */
|
|
3693
|
+
400: {
|
|
3694
|
+
headers: {
|
|
3695
|
+
[name: string]: unknown;
|
|
3696
|
+
};
|
|
3697
|
+
content: {
|
|
3698
|
+
"application/json": components["schemas"]["JobError"];
|
|
3699
|
+
};
|
|
3700
|
+
};
|
|
3701
|
+
/** @description Caller does not own the job, or the market is not credit-eligible. Ordinary error: no `code` field. */
|
|
3702
|
+
403: {
|
|
3703
|
+
headers: {
|
|
3704
|
+
[name: string]: unknown;
|
|
3705
|
+
};
|
|
3706
|
+
content: {
|
|
3707
|
+
"application/json": components["schemas"]["JobError"];
|
|
3708
|
+
};
|
|
3709
|
+
};
|
|
3710
|
+
/** @description Job, credit-job, or user not found — or an Idempotency-Key minted by a different user. Ordinary error: no `code` field. */
|
|
3711
|
+
404: {
|
|
3712
|
+
headers: {
|
|
3713
|
+
[name: string]: unknown;
|
|
3714
|
+
};
|
|
3715
|
+
content: {
|
|
3716
|
+
"application/json": components["schemas"]["JobError"];
|
|
3717
|
+
};
|
|
3718
|
+
};
|
|
3719
|
+
/** @description Idempotency control signal — branch on `code` (IDEMPOTENCY_KEY_*), never on the HTTP status. IN_PROGRESS → retry the same key after Retry-After; EXPIRED → mint a fresh key; PAYLOAD_MISMATCH → do not retry. */
|
|
3720
|
+
409: {
|
|
3721
|
+
headers: {
|
|
3722
|
+
/** @description Seconds to wait before retrying the same key. Sent only for IDEMPOTENCY_KEY_IN_PROGRESS. */
|
|
3723
|
+
"Retry-After"?: number;
|
|
3724
|
+
[name: string]: unknown;
|
|
3725
|
+
};
|
|
3726
|
+
content: {
|
|
3727
|
+
"application/json": components["schemas"]["IdempotencyError"];
|
|
3728
|
+
};
|
|
3729
|
+
};
|
|
3730
|
+
};
|
|
3731
|
+
};
|
|
3732
|
+
postJobsAssignBatch: {
|
|
3733
|
+
parameters: {
|
|
3734
|
+
query?: never;
|
|
3735
|
+
header: {
|
|
3736
|
+
/** @description De-duplicates retried requests sharing the same key (one key per batch). Required on batch endpoints — omitting it returns 400. */
|
|
3737
|
+
"Idempotency-Key": string;
|
|
3738
|
+
};
|
|
3739
|
+
path?: never;
|
|
3740
|
+
cookie?: never;
|
|
3741
|
+
};
|
|
3742
|
+
requestBody: {
|
|
3743
|
+
content: {
|
|
3744
|
+
"application/json": {
|
|
3745
|
+
/** @description Jobs to bulk-assign, each to its node */
|
|
3746
|
+
jobs: {
|
|
3747
|
+
/** @description IPFS hash of the job definition */
|
|
3748
|
+
ipfsHash: string;
|
|
3749
|
+
/** @description Market address */
|
|
3750
|
+
market: string;
|
|
3751
|
+
/** @description Job timeout in seconds (default: 3600). Same 3600-second minimum as single LIST; one too-short item rejects the whole batch with 400. */
|
|
3752
|
+
timeout?: number;
|
|
3753
|
+
/** @description Address (base58 public key) of the node to assign the job to */
|
|
3754
|
+
node: string;
|
|
3755
|
+
}[];
|
|
3756
|
+
};
|
|
3757
|
+
"multipart/form-data": {
|
|
3758
|
+
/** @description Jobs to bulk-assign, each to its node */
|
|
3759
|
+
jobs: {
|
|
3760
|
+
/** @description IPFS hash of the job definition */
|
|
3761
|
+
ipfsHash: string;
|
|
3762
|
+
/** @description Market address */
|
|
3763
|
+
market: string;
|
|
3764
|
+
/** @description Job timeout in seconds (default: 3600). Same 3600-second minimum as single LIST; one too-short item rejects the whole batch with 400. */
|
|
3765
|
+
timeout?: number;
|
|
3766
|
+
/** @description Address (base58 public key) of the node to assign the job to */
|
|
3767
|
+
node: string;
|
|
3768
|
+
}[];
|
|
3769
|
+
};
|
|
3770
|
+
"text/plain": {
|
|
3771
|
+
/** @description Jobs to bulk-assign, each to its node */
|
|
3772
|
+
jobs: {
|
|
3773
|
+
/** @description IPFS hash of the job definition */
|
|
3774
|
+
ipfsHash: string;
|
|
3775
|
+
/** @description Market address */
|
|
3776
|
+
market: string;
|
|
3777
|
+
/** @description Job timeout in seconds (default: 3600). Same 3600-second minimum as single LIST; one too-short item rejects the whole batch with 400. */
|
|
2052
3778
|
timeout?: number;
|
|
3779
|
+
/** @description Address (base58 public key) of the node to assign the job to */
|
|
3780
|
+
node: string;
|
|
2053
3781
|
}[];
|
|
2054
3782
|
};
|
|
2055
3783
|
};
|
|
@@ -2438,11 +4166,70 @@ export interface operations {
|
|
|
2438
4166
|
email: string;
|
|
2439
4167
|
};
|
|
2440
4168
|
"text/plain": {
|
|
2441
|
-
/**
|
|
2442
|
-
* Format: email
|
|
2443
|
-
* @description Email address to subscribe to the newsletter.
|
|
2444
|
-
*/
|
|
2445
|
-
email: string;
|
|
4169
|
+
/**
|
|
4170
|
+
* Format: email
|
|
4171
|
+
* @description Email address to subscribe to the newsletter.
|
|
4172
|
+
*/
|
|
4173
|
+
email: string;
|
|
4174
|
+
};
|
|
4175
|
+
};
|
|
4176
|
+
};
|
|
4177
|
+
responses: {
|
|
4178
|
+
200: {
|
|
4179
|
+
headers: {
|
|
4180
|
+
[name: string]: unknown;
|
|
4181
|
+
};
|
|
4182
|
+
content: {
|
|
4183
|
+
"application/json": {
|
|
4184
|
+
success: boolean;
|
|
4185
|
+
};
|
|
4186
|
+
"multipart/form-data": {
|
|
4187
|
+
success: boolean;
|
|
4188
|
+
};
|
|
4189
|
+
"text/plain": {
|
|
4190
|
+
success: boolean;
|
|
4191
|
+
};
|
|
4192
|
+
};
|
|
4193
|
+
};
|
|
4194
|
+
};
|
|
4195
|
+
};
|
|
4196
|
+
postPaymentsWebhooksStripe: {
|
|
4197
|
+
parameters: {
|
|
4198
|
+
query?: never;
|
|
4199
|
+
header?: never;
|
|
4200
|
+
path?: never;
|
|
4201
|
+
cookie?: never;
|
|
4202
|
+
};
|
|
4203
|
+
requestBody?: never;
|
|
4204
|
+
responses: {
|
|
4205
|
+
200: {
|
|
4206
|
+
headers: {
|
|
4207
|
+
[name: string]: unknown;
|
|
4208
|
+
};
|
|
4209
|
+
content?: never;
|
|
4210
|
+
};
|
|
4211
|
+
};
|
|
4212
|
+
};
|
|
4213
|
+
"postPaymentsSetup-intent": {
|
|
4214
|
+
parameters: {
|
|
4215
|
+
query?: never;
|
|
4216
|
+
header?: never;
|
|
4217
|
+
path?: never;
|
|
4218
|
+
cookie?: never;
|
|
4219
|
+
};
|
|
4220
|
+
requestBody: {
|
|
4221
|
+
content: {
|
|
4222
|
+
"application/json": {
|
|
4223
|
+
paymentMethodId: string;
|
|
4224
|
+
requireThreeDSecure?: boolean;
|
|
4225
|
+
};
|
|
4226
|
+
"multipart/form-data": {
|
|
4227
|
+
paymentMethodId: string;
|
|
4228
|
+
requireThreeDSecure?: boolean;
|
|
4229
|
+
};
|
|
4230
|
+
"text/plain": {
|
|
4231
|
+
paymentMethodId: string;
|
|
4232
|
+
requireThreeDSecure?: boolean;
|
|
2446
4233
|
};
|
|
2447
4234
|
};
|
|
2448
4235
|
};
|
|
@@ -2453,36 +4240,37 @@ export interface operations {
|
|
|
2453
4240
|
};
|
|
2454
4241
|
content: {
|
|
2455
4242
|
"application/json": {
|
|
2456
|
-
|
|
4243
|
+
accepted: boolean;
|
|
4244
|
+
verificationError: (string | null) | null;
|
|
4245
|
+
paymentVerified: boolean;
|
|
4246
|
+
threeDSecureAuthenticated: boolean;
|
|
4247
|
+
requiresAction: boolean;
|
|
4248
|
+
clientSecret: (string | null) | null;
|
|
4249
|
+
setupIntentId: (string | null) | null;
|
|
2457
4250
|
};
|
|
2458
4251
|
"multipart/form-data": {
|
|
2459
|
-
|
|
4252
|
+
accepted: boolean;
|
|
4253
|
+
verificationError: (string | null) | null;
|
|
4254
|
+
paymentVerified: boolean;
|
|
4255
|
+
threeDSecureAuthenticated: boolean;
|
|
4256
|
+
requiresAction: boolean;
|
|
4257
|
+
clientSecret: (string | null) | null;
|
|
4258
|
+
setupIntentId: (string | null) | null;
|
|
2460
4259
|
};
|
|
2461
4260
|
"text/plain": {
|
|
2462
|
-
|
|
4261
|
+
accepted: boolean;
|
|
4262
|
+
verificationError: (string | null) | null;
|
|
4263
|
+
paymentVerified: boolean;
|
|
4264
|
+
threeDSecureAuthenticated: boolean;
|
|
4265
|
+
requiresAction: boolean;
|
|
4266
|
+
clientSecret: (string | null) | null;
|
|
4267
|
+
setupIntentId: (string | null) | null;
|
|
2463
4268
|
};
|
|
2464
4269
|
};
|
|
2465
4270
|
};
|
|
2466
4271
|
};
|
|
2467
4272
|
};
|
|
2468
|
-
|
|
2469
|
-
parameters: {
|
|
2470
|
-
query?: never;
|
|
2471
|
-
header?: never;
|
|
2472
|
-
path?: never;
|
|
2473
|
-
cookie?: never;
|
|
2474
|
-
};
|
|
2475
|
-
requestBody?: never;
|
|
2476
|
-
responses: {
|
|
2477
|
-
200: {
|
|
2478
|
-
headers: {
|
|
2479
|
-
[name: string]: unknown;
|
|
2480
|
-
};
|
|
2481
|
-
content?: never;
|
|
2482
|
-
};
|
|
2483
|
-
};
|
|
2484
|
-
};
|
|
2485
|
-
"postPaymentsSetup-intent": {
|
|
4273
|
+
"postPaymentsSetup-intentConfirm": {
|
|
2486
4274
|
parameters: {
|
|
2487
4275
|
query?: never;
|
|
2488
4276
|
header?: never;
|
|
@@ -2492,13 +4280,13 @@ export interface operations {
|
|
|
2492
4280
|
requestBody: {
|
|
2493
4281
|
content: {
|
|
2494
4282
|
"application/json": {
|
|
2495
|
-
|
|
4283
|
+
setupIntentId: string;
|
|
2496
4284
|
};
|
|
2497
4285
|
"multipart/form-data": {
|
|
2498
|
-
|
|
4286
|
+
setupIntentId: string;
|
|
2499
4287
|
};
|
|
2500
4288
|
"text/plain": {
|
|
2501
|
-
|
|
4289
|
+
setupIntentId: string;
|
|
2502
4290
|
};
|
|
2503
4291
|
};
|
|
2504
4292
|
};
|
|
@@ -2512,6 +4300,7 @@ export interface operations {
|
|
|
2512
4300
|
accepted: boolean;
|
|
2513
4301
|
verificationError: (string | null) | null;
|
|
2514
4302
|
paymentVerified: boolean;
|
|
4303
|
+
threeDSecureAuthenticated: boolean;
|
|
2515
4304
|
requiresAction: boolean;
|
|
2516
4305
|
clientSecret: (string | null) | null;
|
|
2517
4306
|
setupIntentId: (string | null) | null;
|
|
@@ -2520,6 +4309,7 @@ export interface operations {
|
|
|
2520
4309
|
accepted: boolean;
|
|
2521
4310
|
verificationError: (string | null) | null;
|
|
2522
4311
|
paymentVerified: boolean;
|
|
4312
|
+
threeDSecureAuthenticated: boolean;
|
|
2523
4313
|
requiresAction: boolean;
|
|
2524
4314
|
clientSecret: (string | null) | null;
|
|
2525
4315
|
setupIntentId: (string | null) | null;
|
|
@@ -2528,6 +4318,7 @@ export interface operations {
|
|
|
2528
4318
|
accepted: boolean;
|
|
2529
4319
|
verificationError: (string | null) | null;
|
|
2530
4320
|
paymentVerified: boolean;
|
|
4321
|
+
threeDSecureAuthenticated: boolean;
|
|
2531
4322
|
requiresAction: boolean;
|
|
2532
4323
|
clientSecret: (string | null) | null;
|
|
2533
4324
|
setupIntentId: (string | null) | null;
|
|
@@ -2707,14 +4498,59 @@ export interface operations {
|
|
|
2707
4498
|
"application/json": {
|
|
2708
4499
|
clientSecret: (string | null) | null;
|
|
2709
4500
|
paymentIntentId: string;
|
|
4501
|
+
requiresAction: boolean;
|
|
2710
4502
|
};
|
|
2711
4503
|
"multipart/form-data": {
|
|
2712
4504
|
clientSecret: (string | null) | null;
|
|
2713
4505
|
paymentIntentId: string;
|
|
4506
|
+
requiresAction: boolean;
|
|
2714
4507
|
};
|
|
2715
4508
|
"text/plain": {
|
|
2716
4509
|
clientSecret: (string | null) | null;
|
|
2717
4510
|
paymentIntentId: string;
|
|
4511
|
+
requiresAction: boolean;
|
|
4512
|
+
};
|
|
4513
|
+
};
|
|
4514
|
+
};
|
|
4515
|
+
};
|
|
4516
|
+
};
|
|
4517
|
+
"postPaymentsPayment-intentConfirm": {
|
|
4518
|
+
parameters: {
|
|
4519
|
+
query?: never;
|
|
4520
|
+
header?: never;
|
|
4521
|
+
path?: never;
|
|
4522
|
+
cookie?: never;
|
|
4523
|
+
};
|
|
4524
|
+
requestBody: {
|
|
4525
|
+
content: {
|
|
4526
|
+
"application/json": {
|
|
4527
|
+
paymentIntentId: string;
|
|
4528
|
+
};
|
|
4529
|
+
"multipart/form-data": {
|
|
4530
|
+
paymentIntentId: string;
|
|
4531
|
+
};
|
|
4532
|
+
"text/plain": {
|
|
4533
|
+
paymentIntentId: string;
|
|
4534
|
+
};
|
|
4535
|
+
};
|
|
4536
|
+
};
|
|
4537
|
+
responses: {
|
|
4538
|
+
200: {
|
|
4539
|
+
headers: {
|
|
4540
|
+
[name: string]: unknown;
|
|
4541
|
+
};
|
|
4542
|
+
content: {
|
|
4543
|
+
"application/json": {
|
|
4544
|
+
success: boolean;
|
|
4545
|
+
paymentIntentId: string;
|
|
4546
|
+
};
|
|
4547
|
+
"multipart/form-data": {
|
|
4548
|
+
success: boolean;
|
|
4549
|
+
paymentIntentId: string;
|
|
4550
|
+
};
|
|
4551
|
+
"text/plain": {
|
|
4552
|
+
success: boolean;
|
|
4553
|
+
paymentIntentId: string;
|
|
2718
4554
|
};
|
|
2719
4555
|
};
|
|
2720
4556
|
};
|
|
@@ -2768,6 +4604,375 @@ export interface operations {
|
|
|
2768
4604
|
};
|
|
2769
4605
|
};
|
|
2770
4606
|
};
|
|
4607
|
+
"getOauth-apps": {
|
|
4608
|
+
parameters: {
|
|
4609
|
+
query?: never;
|
|
4610
|
+
header?: never;
|
|
4611
|
+
path?: never;
|
|
4612
|
+
cookie?: never;
|
|
4613
|
+
};
|
|
4614
|
+
requestBody?: never;
|
|
4615
|
+
responses: {
|
|
4616
|
+
200: {
|
|
4617
|
+
headers: {
|
|
4618
|
+
[name: string]: unknown;
|
|
4619
|
+
};
|
|
4620
|
+
content: {
|
|
4621
|
+
"application/json": {
|
|
4622
|
+
apps: {
|
|
4623
|
+
clientId: string;
|
|
4624
|
+
name: string;
|
|
4625
|
+
redirectUris: string[];
|
|
4626
|
+
logoUri?: string;
|
|
4627
|
+
clientUri?: string;
|
|
4628
|
+
tosUri?: string;
|
|
4629
|
+
policyUri?: string;
|
|
4630
|
+
confidential: boolean;
|
|
4631
|
+
/** @description The app's scope ceiling. */
|
|
4632
|
+
scopes: string[];
|
|
4633
|
+
createdAt?: string;
|
|
4634
|
+
}[];
|
|
4635
|
+
total: number;
|
|
4636
|
+
limit: number;
|
|
4637
|
+
};
|
|
4638
|
+
"multipart/form-data": {
|
|
4639
|
+
apps: {
|
|
4640
|
+
clientId: string;
|
|
4641
|
+
name: string;
|
|
4642
|
+
redirectUris: string[];
|
|
4643
|
+
logoUri?: string;
|
|
4644
|
+
clientUri?: string;
|
|
4645
|
+
tosUri?: string;
|
|
4646
|
+
policyUri?: string;
|
|
4647
|
+
confidential: boolean;
|
|
4648
|
+
/** @description The app's scope ceiling. */
|
|
4649
|
+
scopes: string[];
|
|
4650
|
+
createdAt?: string;
|
|
4651
|
+
}[];
|
|
4652
|
+
total: number;
|
|
4653
|
+
limit: number;
|
|
4654
|
+
};
|
|
4655
|
+
"text/plain": {
|
|
4656
|
+
apps: {
|
|
4657
|
+
clientId: string;
|
|
4658
|
+
name: string;
|
|
4659
|
+
redirectUris: string[];
|
|
4660
|
+
logoUri?: string;
|
|
4661
|
+
clientUri?: string;
|
|
4662
|
+
tosUri?: string;
|
|
4663
|
+
policyUri?: string;
|
|
4664
|
+
confidential: boolean;
|
|
4665
|
+
/** @description The app's scope ceiling. */
|
|
4666
|
+
scopes: string[];
|
|
4667
|
+
createdAt?: string;
|
|
4668
|
+
}[];
|
|
4669
|
+
total: number;
|
|
4670
|
+
limit: number;
|
|
4671
|
+
};
|
|
4672
|
+
};
|
|
4673
|
+
};
|
|
4674
|
+
};
|
|
4675
|
+
};
|
|
4676
|
+
"postOauth-apps": {
|
|
4677
|
+
parameters: {
|
|
4678
|
+
query?: never;
|
|
4679
|
+
header?: never;
|
|
4680
|
+
path?: never;
|
|
4681
|
+
cookie?: never;
|
|
4682
|
+
};
|
|
4683
|
+
requestBody: {
|
|
4684
|
+
content: {
|
|
4685
|
+
"application/json": {
|
|
4686
|
+
/** @description Display name shown to users on the Nosana consent screen. */
|
|
4687
|
+
name: string;
|
|
4688
|
+
/** @description Exact redirect URIs the authorization code may be returned to. */
|
|
4689
|
+
redirectUris: string[];
|
|
4690
|
+
/** @description Logo URL shown on the consent screen. */
|
|
4691
|
+
logoUri?: string;
|
|
4692
|
+
/** @description The app's homepage URL. */
|
|
4693
|
+
clientUri?: string;
|
|
4694
|
+
/** @description Terms of service URL. */
|
|
4695
|
+
tosUri?: string;
|
|
4696
|
+
/** @description Privacy policy URL. */
|
|
4697
|
+
policyUri?: string;
|
|
4698
|
+
/** @description Server-side app that gets a client secret (no PKCE required). Defaults to false (public app, PKCE). */
|
|
4699
|
+
confidential?: boolean;
|
|
4700
|
+
/** @description The app's ceiling: the most it may ever ask a user for. Must be a subset of the scopes the calling credential holds. Each user still chooses what to grant on the consent screen. Defaults to the caller's own scopes. */
|
|
4701
|
+
scopes?: string[];
|
|
4702
|
+
};
|
|
4703
|
+
"multipart/form-data": {
|
|
4704
|
+
/** @description Display name shown to users on the Nosana consent screen. */
|
|
4705
|
+
name: string;
|
|
4706
|
+
/** @description Exact redirect URIs the authorization code may be returned to. */
|
|
4707
|
+
redirectUris: string[];
|
|
4708
|
+
/** @description Logo URL shown on the consent screen. */
|
|
4709
|
+
logoUri?: string;
|
|
4710
|
+
/** @description The app's homepage URL. */
|
|
4711
|
+
clientUri?: string;
|
|
4712
|
+
/** @description Terms of service URL. */
|
|
4713
|
+
tosUri?: string;
|
|
4714
|
+
/** @description Privacy policy URL. */
|
|
4715
|
+
policyUri?: string;
|
|
4716
|
+
/** @description Server-side app that gets a client secret (no PKCE required). Defaults to false (public app, PKCE). */
|
|
4717
|
+
confidential?: boolean;
|
|
4718
|
+
/** @description The app's ceiling: the most it may ever ask a user for. Must be a subset of the scopes the calling credential holds. Each user still chooses what to grant on the consent screen. Defaults to the caller's own scopes. */
|
|
4719
|
+
scopes?: string[];
|
|
4720
|
+
};
|
|
4721
|
+
"text/plain": {
|
|
4722
|
+
/** @description Display name shown to users on the Nosana consent screen. */
|
|
4723
|
+
name: string;
|
|
4724
|
+
/** @description Exact redirect URIs the authorization code may be returned to. */
|
|
4725
|
+
redirectUris: string[];
|
|
4726
|
+
/** @description Logo URL shown on the consent screen. */
|
|
4727
|
+
logoUri?: string;
|
|
4728
|
+
/** @description The app's homepage URL. */
|
|
4729
|
+
clientUri?: string;
|
|
4730
|
+
/** @description Terms of service URL. */
|
|
4731
|
+
tosUri?: string;
|
|
4732
|
+
/** @description Privacy policy URL. */
|
|
4733
|
+
policyUri?: string;
|
|
4734
|
+
/** @description Server-side app that gets a client secret (no PKCE required). Defaults to false (public app, PKCE). */
|
|
4735
|
+
confidential?: boolean;
|
|
4736
|
+
/** @description The app's ceiling: the most it may ever ask a user for. Must be a subset of the scopes the calling credential holds. Each user still chooses what to grant on the consent screen. Defaults to the caller's own scopes. */
|
|
4737
|
+
scopes?: string[];
|
|
4738
|
+
};
|
|
4739
|
+
};
|
|
4740
|
+
};
|
|
4741
|
+
responses: {
|
|
4742
|
+
200: {
|
|
4743
|
+
headers: {
|
|
4744
|
+
[name: string]: unknown;
|
|
4745
|
+
};
|
|
4746
|
+
content: {
|
|
4747
|
+
"application/json": {
|
|
4748
|
+
clientId: string;
|
|
4749
|
+
name: string;
|
|
4750
|
+
redirectUris: string[];
|
|
4751
|
+
logoUri?: string;
|
|
4752
|
+
clientUri?: string;
|
|
4753
|
+
tosUri?: string;
|
|
4754
|
+
policyUri?: string;
|
|
4755
|
+
confidential: boolean;
|
|
4756
|
+
/** @description The app's scope ceiling. */
|
|
4757
|
+
scopes: string[];
|
|
4758
|
+
createdAt?: string;
|
|
4759
|
+
/** @description Confidential apps only — shown once, store it securely. */
|
|
4760
|
+
clientSecret?: string;
|
|
4761
|
+
};
|
|
4762
|
+
"multipart/form-data": {
|
|
4763
|
+
clientId: string;
|
|
4764
|
+
name: string;
|
|
4765
|
+
redirectUris: string[];
|
|
4766
|
+
logoUri?: string;
|
|
4767
|
+
clientUri?: string;
|
|
4768
|
+
tosUri?: string;
|
|
4769
|
+
policyUri?: string;
|
|
4770
|
+
confidential: boolean;
|
|
4771
|
+
/** @description The app's scope ceiling. */
|
|
4772
|
+
scopes: string[];
|
|
4773
|
+
createdAt?: string;
|
|
4774
|
+
/** @description Confidential apps only — shown once, store it securely. */
|
|
4775
|
+
clientSecret?: string;
|
|
4776
|
+
};
|
|
4777
|
+
"text/plain": {
|
|
4778
|
+
clientId: string;
|
|
4779
|
+
name: string;
|
|
4780
|
+
redirectUris: string[];
|
|
4781
|
+
logoUri?: string;
|
|
4782
|
+
clientUri?: string;
|
|
4783
|
+
tosUri?: string;
|
|
4784
|
+
policyUri?: string;
|
|
4785
|
+
confidential: boolean;
|
|
4786
|
+
/** @description The app's scope ceiling. */
|
|
4787
|
+
scopes: string[];
|
|
4788
|
+
createdAt?: string;
|
|
4789
|
+
/** @description Confidential apps only — shown once, store it securely. */
|
|
4790
|
+
clientSecret?: string;
|
|
4791
|
+
};
|
|
4792
|
+
};
|
|
4793
|
+
};
|
|
4794
|
+
};
|
|
4795
|
+
};
|
|
4796
|
+
"getOauth-appsById": {
|
|
4797
|
+
parameters: {
|
|
4798
|
+
query?: never;
|
|
4799
|
+
header?: never;
|
|
4800
|
+
path: {
|
|
4801
|
+
id: string;
|
|
4802
|
+
};
|
|
4803
|
+
cookie?: never;
|
|
4804
|
+
};
|
|
4805
|
+
requestBody?: never;
|
|
4806
|
+
responses: {
|
|
4807
|
+
200: {
|
|
4808
|
+
headers: {
|
|
4809
|
+
[name: string]: unknown;
|
|
4810
|
+
};
|
|
4811
|
+
content: {
|
|
4812
|
+
"application/json": {
|
|
4813
|
+
clientId: string;
|
|
4814
|
+
name: string;
|
|
4815
|
+
redirectUris: string[];
|
|
4816
|
+
logoUri?: string;
|
|
4817
|
+
clientUri?: string;
|
|
4818
|
+
tosUri?: string;
|
|
4819
|
+
policyUri?: string;
|
|
4820
|
+
confidential: boolean;
|
|
4821
|
+
/** @description The app's scope ceiling. */
|
|
4822
|
+
scopes: string[];
|
|
4823
|
+
createdAt?: string;
|
|
4824
|
+
};
|
|
4825
|
+
"multipart/form-data": {
|
|
4826
|
+
clientId: string;
|
|
4827
|
+
name: string;
|
|
4828
|
+
redirectUris: string[];
|
|
4829
|
+
logoUri?: string;
|
|
4830
|
+
clientUri?: string;
|
|
4831
|
+
tosUri?: string;
|
|
4832
|
+
policyUri?: string;
|
|
4833
|
+
confidential: boolean;
|
|
4834
|
+
/** @description The app's scope ceiling. */
|
|
4835
|
+
scopes: string[];
|
|
4836
|
+
createdAt?: string;
|
|
4837
|
+
};
|
|
4838
|
+
"text/plain": {
|
|
4839
|
+
clientId: string;
|
|
4840
|
+
name: string;
|
|
4841
|
+
redirectUris: string[];
|
|
4842
|
+
logoUri?: string;
|
|
4843
|
+
clientUri?: string;
|
|
4844
|
+
tosUri?: string;
|
|
4845
|
+
policyUri?: string;
|
|
4846
|
+
confidential: boolean;
|
|
4847
|
+
/** @description The app's scope ceiling. */
|
|
4848
|
+
scopes: string[];
|
|
4849
|
+
createdAt?: string;
|
|
4850
|
+
};
|
|
4851
|
+
};
|
|
4852
|
+
};
|
|
4853
|
+
};
|
|
4854
|
+
};
|
|
4855
|
+
"postOauth-appsByIdUpdate": {
|
|
4856
|
+
parameters: {
|
|
4857
|
+
query?: never;
|
|
4858
|
+
header?: never;
|
|
4859
|
+
path: {
|
|
4860
|
+
id: string;
|
|
4861
|
+
};
|
|
4862
|
+
cookie?: never;
|
|
4863
|
+
};
|
|
4864
|
+
requestBody: {
|
|
4865
|
+
content: {
|
|
4866
|
+
"application/json": {
|
|
4867
|
+
name?: string;
|
|
4868
|
+
redirectUris?: string[];
|
|
4869
|
+
logoUri?: string;
|
|
4870
|
+
clientUri?: string;
|
|
4871
|
+
tosUri?: string;
|
|
4872
|
+
policyUri?: string;
|
|
4873
|
+
/** @description Replace the app's scope ceiling. Subject to the same subset check as creation. Narrowing it does not revoke scopes already granted to users; those lapse when their tokens are next refreshed. */
|
|
4874
|
+
scopes?: string[];
|
|
4875
|
+
};
|
|
4876
|
+
"multipart/form-data": {
|
|
4877
|
+
name?: string;
|
|
4878
|
+
redirectUris?: string[];
|
|
4879
|
+
logoUri?: string;
|
|
4880
|
+
clientUri?: string;
|
|
4881
|
+
tosUri?: string;
|
|
4882
|
+
policyUri?: string;
|
|
4883
|
+
/** @description Replace the app's scope ceiling. Subject to the same subset check as creation. Narrowing it does not revoke scopes already granted to users; those lapse when their tokens are next refreshed. */
|
|
4884
|
+
scopes?: string[];
|
|
4885
|
+
};
|
|
4886
|
+
"text/plain": {
|
|
4887
|
+
name?: string;
|
|
4888
|
+
redirectUris?: string[];
|
|
4889
|
+
logoUri?: string;
|
|
4890
|
+
clientUri?: string;
|
|
4891
|
+
tosUri?: string;
|
|
4892
|
+
policyUri?: string;
|
|
4893
|
+
/** @description Replace the app's scope ceiling. Subject to the same subset check as creation. Narrowing it does not revoke scopes already granted to users; those lapse when their tokens are next refreshed. */
|
|
4894
|
+
scopes?: string[];
|
|
4895
|
+
};
|
|
4896
|
+
};
|
|
4897
|
+
};
|
|
4898
|
+
responses: {
|
|
4899
|
+
200: {
|
|
4900
|
+
headers: {
|
|
4901
|
+
[name: string]: unknown;
|
|
4902
|
+
};
|
|
4903
|
+
content: {
|
|
4904
|
+
"application/json": {
|
|
4905
|
+
clientId: string;
|
|
4906
|
+
name: string;
|
|
4907
|
+
redirectUris: string[];
|
|
4908
|
+
logoUri?: string;
|
|
4909
|
+
clientUri?: string;
|
|
4910
|
+
tosUri?: string;
|
|
4911
|
+
policyUri?: string;
|
|
4912
|
+
confidential: boolean;
|
|
4913
|
+
/** @description The app's scope ceiling. */
|
|
4914
|
+
scopes: string[];
|
|
4915
|
+
createdAt?: string;
|
|
4916
|
+
};
|
|
4917
|
+
"multipart/form-data": {
|
|
4918
|
+
clientId: string;
|
|
4919
|
+
name: string;
|
|
4920
|
+
redirectUris: string[];
|
|
4921
|
+
logoUri?: string;
|
|
4922
|
+
clientUri?: string;
|
|
4923
|
+
tosUri?: string;
|
|
4924
|
+
policyUri?: string;
|
|
4925
|
+
confidential: boolean;
|
|
4926
|
+
/** @description The app's scope ceiling. */
|
|
4927
|
+
scopes: string[];
|
|
4928
|
+
createdAt?: string;
|
|
4929
|
+
};
|
|
4930
|
+
"text/plain": {
|
|
4931
|
+
clientId: string;
|
|
4932
|
+
name: string;
|
|
4933
|
+
redirectUris: string[];
|
|
4934
|
+
logoUri?: string;
|
|
4935
|
+
clientUri?: string;
|
|
4936
|
+
tosUri?: string;
|
|
4937
|
+
policyUri?: string;
|
|
4938
|
+
confidential: boolean;
|
|
4939
|
+
/** @description The app's scope ceiling. */
|
|
4940
|
+
scopes: string[];
|
|
4941
|
+
createdAt?: string;
|
|
4942
|
+
};
|
|
4943
|
+
};
|
|
4944
|
+
};
|
|
4945
|
+
};
|
|
4946
|
+
};
|
|
4947
|
+
"postOauth-appsByIdDelete": {
|
|
4948
|
+
parameters: {
|
|
4949
|
+
query?: never;
|
|
4950
|
+
header?: never;
|
|
4951
|
+
path: {
|
|
4952
|
+
id: string;
|
|
4953
|
+
};
|
|
4954
|
+
cookie?: never;
|
|
4955
|
+
};
|
|
4956
|
+
requestBody?: never;
|
|
4957
|
+
responses: {
|
|
4958
|
+
200: {
|
|
4959
|
+
headers: {
|
|
4960
|
+
[name: string]: unknown;
|
|
4961
|
+
};
|
|
4962
|
+
content: {
|
|
4963
|
+
"application/json": {
|
|
4964
|
+
success: boolean;
|
|
4965
|
+
};
|
|
4966
|
+
"multipart/form-data": {
|
|
4967
|
+
success: boolean;
|
|
4968
|
+
};
|
|
4969
|
+
"text/plain": {
|
|
4970
|
+
success: boolean;
|
|
4971
|
+
};
|
|
4972
|
+
};
|
|
4973
|
+
};
|
|
4974
|
+
};
|
|
4975
|
+
};
|
|
2771
4976
|
getMetrics: {
|
|
2772
4977
|
parameters: {
|
|
2773
4978
|
query?: never;
|