@ovra/ts-sdk 0.4.1 → 0.5.1

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.
@@ -1018,6 +1018,301 @@ export type AgenticCommerceOrderVerifyResult = {
1018
1018
  kid?: string | null;
1019
1019
  verified_at: string;
1020
1020
  };
1021
+ export type CostAllocation = {
1022
+ id: string;
1023
+ object: 'cost_allocation';
1024
+ /**
1025
+ * True when this resource originated from a live-mode API key; false when from a test-mode key.
1026
+ */
1027
+ livemode: boolean;
1028
+ name?: string;
1029
+ type?: 'cost_center' | 'project';
1030
+ /**
1031
+ * Hex colour (e.g. #34d399) — optional swatch.
1032
+ */
1033
+ color?: string | null;
1034
+ total?: Money;
1035
+ assigned_count?: number;
1036
+ /**
1037
+ * Rows inserted by the most recent /assign call (POST /assign responses only).
1038
+ */
1039
+ assigned?: number;
1040
+ owner?: string;
1041
+ created?: string;
1042
+ updated?: string;
1043
+ };
1044
+ export type CostAllocationDeleted = {
1045
+ id: string;
1046
+ object: 'cost_allocation';
1047
+ livemode: boolean;
1048
+ deleted: true;
1049
+ };
1050
+ export type SpendAnomaly = {
1051
+ id: string;
1052
+ object: 'spend_anomaly';
1053
+ /**
1054
+ * True when this resource originated from a live-mode API key; false when from a test-mode key.
1055
+ */
1056
+ livemode: boolean;
1057
+ agent?: string | null;
1058
+ owner?: string;
1059
+ /**
1060
+ * Detector kind (e.g. spike, depletion, off_hours, pattern_break).
1061
+ */
1062
+ type?: string;
1063
+ severity?: 'low' | 'medium' | 'high' | 'critical';
1064
+ title?: string;
1065
+ details?: {
1066
+ [key: string]: unknown;
1067
+ };
1068
+ explanation?: string | null;
1069
+ status?: 'open' | 'acknowledged' | 'dismissed';
1070
+ period_start?: string;
1071
+ period_end?: string;
1072
+ created?: string;
1073
+ };
1074
+ export type ActivityEvent = {
1075
+ id: string;
1076
+ object: 'activity_event';
1077
+ type: 'transaction' | 'dispute' | 'run' | 'ledger' | 'audit';
1078
+ /**
1079
+ * ISO 8601 — legacy field name; new clients should treat as `created`.
1080
+ */
1081
+ timestamp: string;
1082
+ agent?: string | null;
1083
+ agent_name?: string | null;
1084
+ amount?: Money | null;
1085
+ merchant?: string | null;
1086
+ status?: string | null;
1087
+ payload: {
1088
+ [key: string]: unknown;
1089
+ };
1090
+ };
1091
+ export type ApiRequestLog = {
1092
+ object: 'api_request_log';
1093
+ id: string;
1094
+ request_id: string;
1095
+ method: string;
1096
+ path: string;
1097
+ status: number;
1098
+ duration_ms: number;
1099
+ api_version?: string | null;
1100
+ test_mode?: boolean;
1101
+ auth_type?: string | null;
1102
+ user_agent?: string | null;
1103
+ ip_address?: string | null;
1104
+ error_code?: string | null;
1105
+ created: string;
1106
+ livemode?: boolean;
1107
+ };
1108
+ export type SessionInitResult = {
1109
+ session_id: string;
1110
+ /**
1111
+ * Short code the user types into the dashboard verification form.
1112
+ */
1113
+ user_code: string;
1114
+ verification_uri: string;
1115
+ /**
1116
+ * Dashboard URL with the user_code pre-filled.
1117
+ */
1118
+ verification_uri_complete: string;
1119
+ /**
1120
+ * Seconds until the pending session expires.
1121
+ */
1122
+ expires_in: number;
1123
+ /**
1124
+ * Recommended poll interval in seconds.
1125
+ */
1126
+ interval: number;
1127
+ status: 'pending' | 'verified' | 'revoked' | 'expired';
1128
+ };
1129
+ export type SessionPollResult = {
1130
+ status: 'pending' | 'verified' | 'revoked' | 'expired' | 'not_found';
1131
+ session?: {
1132
+ id?: string;
1133
+ device_id?: string;
1134
+ device_name?: string | null;
1135
+ client_type?: string | null;
1136
+ status?: 'pending' | 'verified' | 'revoked' | 'expired';
1137
+ verified_at?: string | null;
1138
+ expires_at?: string | null;
1139
+ } | null;
1140
+ };
1141
+ export type SessionVerifyOptions = {
1142
+ challenge_id: string;
1143
+ /**
1144
+ * WebAuthn PublicKeyCredentialRequestOptions JSON.
1145
+ */
1146
+ options: {
1147
+ [key: string]: unknown;
1148
+ };
1149
+ session: {
1150
+ id?: string;
1151
+ device_id?: string;
1152
+ client_type?: string | null;
1153
+ ip_first_seen?: string | null;
1154
+ user_agent?: string | null;
1155
+ api_key_id?: string | null;
1156
+ agent_token_id?: string | null;
1157
+ created_at?: string;
1158
+ };
1159
+ };
1160
+ export type SessionVerifyResult = {
1161
+ ok: boolean;
1162
+ session: {
1163
+ id?: string;
1164
+ device_name?: string | null;
1165
+ verified_at?: string | null;
1166
+ expires_at?: string | null;
1167
+ };
1168
+ };
1169
+ export type SessionSummary = {
1170
+ id?: string;
1171
+ api_key_id?: string | null;
1172
+ agent_token_id?: string | null;
1173
+ device_id?: string;
1174
+ device_name?: string | null;
1175
+ client_type?: string | null;
1176
+ ip_last_seen?: string | null;
1177
+ status?: 'pending' | 'verified' | 'revoked' | 'expired';
1178
+ verified_at?: string | null;
1179
+ last_seen_at?: string | null;
1180
+ expires_at?: string | null;
1181
+ revoked_at?: string | null;
1182
+ revoked_reason?: string | null;
1183
+ created_at?: string;
1184
+ };
1185
+ export type SessionList = {
1186
+ data: Array<SessionSummary>;
1187
+ };
1188
+ export type SessionRevokeResult = {
1189
+ ok: boolean;
1190
+ };
1191
+ export type MandateConstraints = {
1192
+ maxAmountPerTransactionCents?: number | null;
1193
+ maxAmountPerDayCents?: number | null;
1194
+ maxAmountPerMonthCents?: number | null;
1195
+ maxTotalAmountCents?: number | null;
1196
+ maxUsageCount?: number | null;
1197
+ allowedMccs?: Array<string> | null;
1198
+ allowedMerchants?: Array<string> | null;
1199
+ allowedCountries?: Array<string> | null;
1200
+ };
1201
+ export type MandateOptions = {
1202
+ challenge_id: string;
1203
+ /**
1204
+ * WebAuthn PublicKeyCredentialRequestOptions JSON.
1205
+ */
1206
+ options: {
1207
+ [key: string]: unknown;
1208
+ };
1209
+ };
1210
+ export type Mandate = {
1211
+ data: {
1212
+ id?: string;
1213
+ ownerId?: string;
1214
+ agentId?: string;
1215
+ constraints?: MandateConstraints;
1216
+ status?: 'init' | 'active' | 'revoked' | 'expired' | 'exhausted';
1217
+ approvedViaPasskeyId?: string | null;
1218
+ expiresAt?: string;
1219
+ createdAt?: string;
1220
+ [key: string]: unknown;
1221
+ };
1222
+ };
1223
+ export type MandateList = {
1224
+ data: Array<{
1225
+ id?: string;
1226
+ ownerId?: string;
1227
+ agentId?: string;
1228
+ constraints?: MandateConstraints;
1229
+ status?: 'init' | 'active' | 'revoked' | 'expired' | 'exhausted';
1230
+ approvedViaPasskeyId?: string | null;
1231
+ expiresAt?: string;
1232
+ createdAt?: string;
1233
+ [key: string]: unknown;
1234
+ }>;
1235
+ };
1236
+ export type MandateRevokeResult = {
1237
+ ok: boolean;
1238
+ };
1239
+ export type AgentCredential = {
1240
+ token_ref: string;
1241
+ /**
1242
+ * Network Token (DPAN) — Visa/MC declines anything outside the bound scope.
1243
+ */
1244
+ pan: string;
1245
+ exp_month: number;
1246
+ exp_year: number;
1247
+ cvv: string;
1248
+ /**
1249
+ * Dynamic, one-time cryptogram.
1250
+ */
1251
+ cryptogram: string;
1252
+ expires_at: string;
1253
+ network_metadata: {
1254
+ agent_id_bound: boolean;
1255
+ intent_id_bound: string;
1256
+ merchant_scope_bound: string;
1257
+ amount_limit_bound: number;
1258
+ token_type: 'single_use' | 'recurring' | 'metered';
1259
+ };
1260
+ };
1261
+ /**
1262
+ * Metadata-only view — never returns plaintext credentials on reads.
1263
+ */
1264
+ export type AgentCredentialSummary = {
1265
+ token_ref?: string;
1266
+ agent_id?: string;
1267
+ intent_id?: string;
1268
+ merchant_scope?: string;
1269
+ token_type?: 'single_use' | 'recurring' | 'metered';
1270
+ amount_limit_cents?: number;
1271
+ currency?: string;
1272
+ status?: 'active' | 'revoked' | 'exhausted' | 'expired';
1273
+ charges_consumed?: number;
1274
+ max_charges?: number | null;
1275
+ network_transaction_id?: string | null;
1276
+ expires_at?: string;
1277
+ created_at?: string;
1278
+ };
1279
+ export type AgentCredentialList = {
1280
+ data: Array<{
1281
+ token_ref?: string;
1282
+ agent_id?: string;
1283
+ merchant_scope?: string;
1284
+ token_type?: 'single_use' | 'recurring' | 'metered';
1285
+ amount_limit_cents?: number;
1286
+ currency?: string;
1287
+ status?: 'active' | 'revoked' | 'exhausted' | 'expired';
1288
+ charges_consumed?: number;
1289
+ expires_at?: string;
1290
+ created_at?: string;
1291
+ }>;
1292
+ };
1293
+ export type AgentCredentialRevokeResult = {
1294
+ revoked: boolean;
1295
+ };
1296
+ /**
1297
+ * Single SSE message payload (the `data:` line, JSON-encoded). The `event:` line carries the channel name; `id:` carries a monotonic per-owner seq used for `Last-Event-ID` reconnect replay.
1298
+ */
1299
+ export type SettlementEvent = {
1300
+ /**
1301
+ * Channel name (e.g. transaction.settled, intent.approved, card.frozen, refund.completed).
1302
+ */
1303
+ event: string;
1304
+ /**
1305
+ * Unique event id (matches webhook delivery id).
1306
+ */
1307
+ eventId: string;
1308
+ emittedAt: string;
1309
+ /**
1310
+ * Event-specific payload — shape follows the matching webhook envelope.
1311
+ */
1312
+ data: {
1313
+ [key: string]: unknown;
1314
+ };
1315
+ };
1021
1316
  export type ListAgentsData = {
1022
1317
  body?: never;
1023
1318
  path?: never;
@@ -11152,6 +11447,92 @@ export type SearchCatalogResponses = {
11152
11447
  };
11153
11448
  };
11154
11449
  export type SearchCatalogResponse = SearchCatalogResponses[keyof SearchCatalogResponses];
11450
+ export type ListCatalogOffersData = {
11451
+ body?: never;
11452
+ path?: never;
11453
+ query?: {
11454
+ /**
11455
+ * Page size (1–100, default 10).
11456
+ */
11457
+ limit?: number;
11458
+ /**
11459
+ * Opaque cursor — return rows strictly older than this anchor.
11460
+ */
11461
+ starting_after?: string;
11462
+ /**
11463
+ * Opaque cursor — return rows strictly newer than this anchor.
11464
+ */
11465
+ ending_before?: string;
11466
+ };
11467
+ url: '/v1/catalog/offers';
11468
+ };
11469
+ export type ListCatalogOffersErrors = {
11470
+ /**
11471
+ * Validation error
11472
+ */
11473
+ 400: ErrorEnvelope;
11474
+ /**
11475
+ * Unauthorized
11476
+ */
11477
+ 401: ErrorEnvelope;
11478
+ /**
11479
+ * Payment required
11480
+ */
11481
+ 402: ErrorEnvelope;
11482
+ /**
11483
+ * Forbidden
11484
+ */
11485
+ 403: ErrorEnvelope;
11486
+ /**
11487
+ * Not found
11488
+ */
11489
+ 404: ErrorEnvelope;
11490
+ /**
11491
+ * Conflict
11492
+ */
11493
+ 409: ErrorEnvelope;
11494
+ /**
11495
+ * Payload too large
11496
+ */
11497
+ 413: ErrorEnvelope;
11498
+ /**
11499
+ * Rate limited
11500
+ */
11501
+ 429: ErrorEnvelope;
11502
+ /**
11503
+ * Internal server error
11504
+ */
11505
+ 500: ErrorEnvelope;
11506
+ /**
11507
+ * Upstream service error
11508
+ */
11509
+ 502: ErrorEnvelope;
11510
+ /**
11511
+ * Service unavailable
11512
+ */
11513
+ 503: ErrorEnvelope;
11514
+ /**
11515
+ * Upstream timeout
11516
+ */
11517
+ 504: ErrorEnvelope;
11518
+ };
11519
+ export type ListCatalogOffersError = ListCatalogOffersErrors[keyof ListCatalogOffersErrors];
11520
+ export type ListCatalogOffersResponses = {
11521
+ /**
11522
+ * Success
11523
+ */
11524
+ 200: {
11525
+ object: 'list';
11526
+ data: Array<CatalogOffer>;
11527
+ has_more: boolean;
11528
+ next_cursor: string | null;
11529
+ /**
11530
+ * Canonical URL of the CatalogOffer list.
11531
+ */
11532
+ url: string;
11533
+ };
11534
+ };
11535
+ export type ListCatalogOffersResponse = ListCatalogOffersResponses[keyof ListCatalogOffersResponses];
11155
11536
  export type GetCatalogOfferData = {
11156
11537
  body?: never;
11157
11538
  path: {
@@ -11644,4 +12025,1751 @@ export type RefundAgenticCommerceOrderResponses = {
11644
12025
  201: AgenticCommerceOrder;
11645
12026
  };
11646
12027
  export type RefundAgenticCommerceOrderResponse = RefundAgenticCommerceOrderResponses[keyof RefundAgenticCommerceOrderResponses];
12028
+ export type ListCostAllocationsData = {
12029
+ body?: never;
12030
+ path?: never;
12031
+ query?: {
12032
+ /**
12033
+ * Page size (1–100, default 10).
12034
+ */
12035
+ limit?: number;
12036
+ /**
12037
+ * Opaque cursor — return rows strictly older than this anchor.
12038
+ */
12039
+ starting_after?: string;
12040
+ /**
12041
+ * Opaque cursor — return rows strictly newer than this anchor.
12042
+ */
12043
+ ending_before?: string;
12044
+ };
12045
+ url: '/v1/cost_allocations';
12046
+ };
12047
+ export type ListCostAllocationsErrors = {
12048
+ /**
12049
+ * Validation error
12050
+ */
12051
+ 400: ErrorEnvelope;
12052
+ /**
12053
+ * Unauthorized
12054
+ */
12055
+ 401: ErrorEnvelope;
12056
+ /**
12057
+ * Payment required
12058
+ */
12059
+ 402: ErrorEnvelope;
12060
+ /**
12061
+ * Forbidden
12062
+ */
12063
+ 403: ErrorEnvelope;
12064
+ /**
12065
+ * Not found
12066
+ */
12067
+ 404: ErrorEnvelope;
12068
+ /**
12069
+ * Conflict
12070
+ */
12071
+ 409: ErrorEnvelope;
12072
+ /**
12073
+ * Payload too large
12074
+ */
12075
+ 413: ErrorEnvelope;
12076
+ /**
12077
+ * Rate limited
12078
+ */
12079
+ 429: ErrorEnvelope;
12080
+ /**
12081
+ * Internal server error
12082
+ */
12083
+ 500: ErrorEnvelope;
12084
+ /**
12085
+ * Upstream service error
12086
+ */
12087
+ 502: ErrorEnvelope;
12088
+ /**
12089
+ * Service unavailable
12090
+ */
12091
+ 503: ErrorEnvelope;
12092
+ /**
12093
+ * Upstream timeout
12094
+ */
12095
+ 504: ErrorEnvelope;
12096
+ };
12097
+ export type ListCostAllocationsError = ListCostAllocationsErrors[keyof ListCostAllocationsErrors];
12098
+ export type ListCostAllocationsResponses = {
12099
+ /**
12100
+ * Success
12101
+ */
12102
+ 200: {
12103
+ object: 'list';
12104
+ data: Array<CostAllocation>;
12105
+ has_more: boolean;
12106
+ next_cursor: string | null;
12107
+ /**
12108
+ * Canonical URL of the CostAllocation list.
12109
+ */
12110
+ url: string;
12111
+ };
12112
+ };
12113
+ export type ListCostAllocationsResponse = ListCostAllocationsResponses[keyof ListCostAllocationsResponses];
12114
+ export type CreateCostAllocationData = {
12115
+ body: {
12116
+ name: string;
12117
+ type: 'cost_center' | 'project';
12118
+ color?: string | null;
12119
+ };
12120
+ headers: {
12121
+ /**
12122
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
12123
+ */
12124
+ 'Idempotency-Key': string;
12125
+ };
12126
+ path?: never;
12127
+ query?: never;
12128
+ url: '/v1/cost_allocations';
12129
+ };
12130
+ export type CreateCostAllocationErrors = {
12131
+ /**
12132
+ * Validation error
12133
+ */
12134
+ 400: ErrorEnvelope;
12135
+ /**
12136
+ * Unauthorized
12137
+ */
12138
+ 401: ErrorEnvelope;
12139
+ /**
12140
+ * Payment required
12141
+ */
12142
+ 402: ErrorEnvelope;
12143
+ /**
12144
+ * Forbidden
12145
+ */
12146
+ 403: ErrorEnvelope;
12147
+ /**
12148
+ * Not found
12149
+ */
12150
+ 404: ErrorEnvelope;
12151
+ /**
12152
+ * Conflict
12153
+ */
12154
+ 409: ErrorEnvelope;
12155
+ /**
12156
+ * Payload too large
12157
+ */
12158
+ 413: ErrorEnvelope;
12159
+ /**
12160
+ * Rate limited
12161
+ */
12162
+ 429: ErrorEnvelope;
12163
+ /**
12164
+ * Internal server error
12165
+ */
12166
+ 500: ErrorEnvelope;
12167
+ /**
12168
+ * Upstream service error
12169
+ */
12170
+ 502: ErrorEnvelope;
12171
+ /**
12172
+ * Service unavailable
12173
+ */
12174
+ 503: ErrorEnvelope;
12175
+ /**
12176
+ * Upstream timeout
12177
+ */
12178
+ 504: ErrorEnvelope;
12179
+ };
12180
+ export type CreateCostAllocationError = CreateCostAllocationErrors[keyof CreateCostAllocationErrors];
12181
+ export type CreateCostAllocationResponses = {
12182
+ /**
12183
+ * Success
12184
+ */
12185
+ 201: CostAllocation;
12186
+ };
12187
+ export type CreateCostAllocationResponse = CreateCostAllocationResponses[keyof CreateCostAllocationResponses];
12188
+ export type DeleteCostAllocationData = {
12189
+ body?: never;
12190
+ path: {
12191
+ id: string;
12192
+ };
12193
+ query?: never;
12194
+ url: '/v1/cost_allocations/{id}';
12195
+ };
12196
+ export type DeleteCostAllocationErrors = {
12197
+ /**
12198
+ * Validation error
12199
+ */
12200
+ 400: ErrorEnvelope;
12201
+ /**
12202
+ * Unauthorized
12203
+ */
12204
+ 401: ErrorEnvelope;
12205
+ /**
12206
+ * Payment required
12207
+ */
12208
+ 402: ErrorEnvelope;
12209
+ /**
12210
+ * Forbidden
12211
+ */
12212
+ 403: ErrorEnvelope;
12213
+ /**
12214
+ * Not found
12215
+ */
12216
+ 404: ErrorEnvelope;
12217
+ /**
12218
+ * Conflict
12219
+ */
12220
+ 409: ErrorEnvelope;
12221
+ /**
12222
+ * Payload too large
12223
+ */
12224
+ 413: ErrorEnvelope;
12225
+ /**
12226
+ * Rate limited
12227
+ */
12228
+ 429: ErrorEnvelope;
12229
+ /**
12230
+ * Internal server error
12231
+ */
12232
+ 500: ErrorEnvelope;
12233
+ /**
12234
+ * Upstream service error
12235
+ */
12236
+ 502: ErrorEnvelope;
12237
+ /**
12238
+ * Service unavailable
12239
+ */
12240
+ 503: ErrorEnvelope;
12241
+ /**
12242
+ * Upstream timeout
12243
+ */
12244
+ 504: ErrorEnvelope;
12245
+ };
12246
+ export type DeleteCostAllocationError = DeleteCostAllocationErrors[keyof DeleteCostAllocationErrors];
12247
+ export type DeleteCostAllocationResponses = {
12248
+ /**
12249
+ * Success
12250
+ */
12251
+ 200: CostAllocationDeleted;
12252
+ };
12253
+ export type DeleteCostAllocationResponse = DeleteCostAllocationResponses[keyof DeleteCostAllocationResponses];
12254
+ export type AssignCostAllocationData = {
12255
+ body: {
12256
+ target_type: 'agent' | 'transaction';
12257
+ target_ids: Array<string>;
12258
+ };
12259
+ headers: {
12260
+ /**
12261
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
12262
+ */
12263
+ 'Idempotency-Key': string;
12264
+ };
12265
+ path: {
12266
+ id: string;
12267
+ };
12268
+ query?: never;
12269
+ url: '/v1/cost_allocations/{id}/assign';
12270
+ };
12271
+ export type AssignCostAllocationErrors = {
12272
+ /**
12273
+ * Validation error
12274
+ */
12275
+ 400: ErrorEnvelope;
12276
+ /**
12277
+ * Unauthorized
12278
+ */
12279
+ 401: ErrorEnvelope;
12280
+ /**
12281
+ * Payment required
12282
+ */
12283
+ 402: ErrorEnvelope;
12284
+ /**
12285
+ * Forbidden
12286
+ */
12287
+ 403: ErrorEnvelope;
12288
+ /**
12289
+ * Not found
12290
+ */
12291
+ 404: ErrorEnvelope;
12292
+ /**
12293
+ * Conflict
12294
+ */
12295
+ 409: ErrorEnvelope;
12296
+ /**
12297
+ * Payload too large
12298
+ */
12299
+ 413: ErrorEnvelope;
12300
+ /**
12301
+ * Rate limited
12302
+ */
12303
+ 429: ErrorEnvelope;
12304
+ /**
12305
+ * Internal server error
12306
+ */
12307
+ 500: ErrorEnvelope;
12308
+ /**
12309
+ * Upstream service error
12310
+ */
12311
+ 502: ErrorEnvelope;
12312
+ /**
12313
+ * Service unavailable
12314
+ */
12315
+ 503: ErrorEnvelope;
12316
+ /**
12317
+ * Upstream timeout
12318
+ */
12319
+ 504: ErrorEnvelope;
12320
+ };
12321
+ export type AssignCostAllocationError = AssignCostAllocationErrors[keyof AssignCostAllocationErrors];
12322
+ export type AssignCostAllocationResponses = {
12323
+ /**
12324
+ * Success
12325
+ */
12326
+ 200: CostAllocation;
12327
+ };
12328
+ export type AssignCostAllocationResponse = AssignCostAllocationResponses[keyof AssignCostAllocationResponses];
12329
+ export type ListSpendAnomaliesData = {
12330
+ body?: never;
12331
+ path?: never;
12332
+ query?: {
12333
+ /**
12334
+ * Page size (1–100, default 10).
12335
+ */
12336
+ limit?: number;
12337
+ /**
12338
+ * Opaque cursor — return rows strictly older than this anchor.
12339
+ */
12340
+ starting_after?: string;
12341
+ /**
12342
+ * Opaque cursor — return rows strictly newer than this anchor.
12343
+ */
12344
+ ending_before?: string;
12345
+ };
12346
+ url: '/v1/spend_anomalies';
12347
+ };
12348
+ export type ListSpendAnomaliesErrors = {
12349
+ /**
12350
+ * Validation error
12351
+ */
12352
+ 400: ErrorEnvelope;
12353
+ /**
12354
+ * Unauthorized
12355
+ */
12356
+ 401: ErrorEnvelope;
12357
+ /**
12358
+ * Payment required
12359
+ */
12360
+ 402: ErrorEnvelope;
12361
+ /**
12362
+ * Forbidden
12363
+ */
12364
+ 403: ErrorEnvelope;
12365
+ /**
12366
+ * Not found
12367
+ */
12368
+ 404: ErrorEnvelope;
12369
+ /**
12370
+ * Conflict
12371
+ */
12372
+ 409: ErrorEnvelope;
12373
+ /**
12374
+ * Payload too large
12375
+ */
12376
+ 413: ErrorEnvelope;
12377
+ /**
12378
+ * Rate limited
12379
+ */
12380
+ 429: ErrorEnvelope;
12381
+ /**
12382
+ * Internal server error
12383
+ */
12384
+ 500: ErrorEnvelope;
12385
+ /**
12386
+ * Upstream service error
12387
+ */
12388
+ 502: ErrorEnvelope;
12389
+ /**
12390
+ * Service unavailable
12391
+ */
12392
+ 503: ErrorEnvelope;
12393
+ /**
12394
+ * Upstream timeout
12395
+ */
12396
+ 504: ErrorEnvelope;
12397
+ };
12398
+ export type ListSpendAnomaliesError = ListSpendAnomaliesErrors[keyof ListSpendAnomaliesErrors];
12399
+ export type ListSpendAnomaliesResponses = {
12400
+ /**
12401
+ * Success
12402
+ */
12403
+ 200: {
12404
+ object: 'list';
12405
+ data: Array<SpendAnomaly>;
12406
+ has_more: boolean;
12407
+ next_cursor: string | null;
12408
+ /**
12409
+ * Canonical URL of the SpendAnomaly list.
12410
+ */
12411
+ url: string;
12412
+ };
12413
+ };
12414
+ export type ListSpendAnomaliesResponse = ListSpendAnomaliesResponses[keyof ListSpendAnomaliesResponses];
12415
+ export type UpdateSpendAnomalyData = {
12416
+ body?: never;
12417
+ path: {
12418
+ id: string;
12419
+ };
12420
+ query?: never;
12421
+ url: '/v1/spend_anomalies/{id}';
12422
+ };
12423
+ export type UpdateSpendAnomalyErrors = {
12424
+ /**
12425
+ * Validation error
12426
+ */
12427
+ 400: ErrorEnvelope;
12428
+ /**
12429
+ * Unauthorized
12430
+ */
12431
+ 401: ErrorEnvelope;
12432
+ /**
12433
+ * Payment required
12434
+ */
12435
+ 402: ErrorEnvelope;
12436
+ /**
12437
+ * Forbidden
12438
+ */
12439
+ 403: ErrorEnvelope;
12440
+ /**
12441
+ * Not found
12442
+ */
12443
+ 404: ErrorEnvelope;
12444
+ /**
12445
+ * Conflict
12446
+ */
12447
+ 409: ErrorEnvelope;
12448
+ /**
12449
+ * Payload too large
12450
+ */
12451
+ 413: ErrorEnvelope;
12452
+ /**
12453
+ * Rate limited
12454
+ */
12455
+ 429: ErrorEnvelope;
12456
+ /**
12457
+ * Internal server error
12458
+ */
12459
+ 500: ErrorEnvelope;
12460
+ /**
12461
+ * Upstream service error
12462
+ */
12463
+ 502: ErrorEnvelope;
12464
+ /**
12465
+ * Service unavailable
12466
+ */
12467
+ 503: ErrorEnvelope;
12468
+ /**
12469
+ * Upstream timeout
12470
+ */
12471
+ 504: ErrorEnvelope;
12472
+ };
12473
+ export type UpdateSpendAnomalyError = UpdateSpendAnomalyErrors[keyof UpdateSpendAnomalyErrors];
12474
+ export type UpdateSpendAnomalyResponses = {
12475
+ /**
12476
+ * Success
12477
+ */
12478
+ 200: SpendAnomaly;
12479
+ };
12480
+ export type UpdateSpendAnomalyResponse = UpdateSpendAnomalyResponses[keyof UpdateSpendAnomalyResponses];
12481
+ export type ListActivityData = {
12482
+ body?: never;
12483
+ path?: never;
12484
+ query?: {
12485
+ /**
12486
+ * Page size (1–100, default 10).
12487
+ */
12488
+ limit?: number;
12489
+ /**
12490
+ * Opaque cursor — return rows strictly older than this anchor.
12491
+ */
12492
+ starting_after?: string;
12493
+ /**
12494
+ * Opaque cursor — return rows strictly newer than this anchor.
12495
+ */
12496
+ ending_before?: string;
12497
+ };
12498
+ url: '/v1/activity';
12499
+ };
12500
+ export type ListActivityErrors = {
12501
+ /**
12502
+ * Validation error
12503
+ */
12504
+ 400: ErrorEnvelope;
12505
+ /**
12506
+ * Unauthorized
12507
+ */
12508
+ 401: ErrorEnvelope;
12509
+ /**
12510
+ * Payment required
12511
+ */
12512
+ 402: ErrorEnvelope;
12513
+ /**
12514
+ * Forbidden
12515
+ */
12516
+ 403: ErrorEnvelope;
12517
+ /**
12518
+ * Not found
12519
+ */
12520
+ 404: ErrorEnvelope;
12521
+ /**
12522
+ * Conflict
12523
+ */
12524
+ 409: ErrorEnvelope;
12525
+ /**
12526
+ * Payload too large
12527
+ */
12528
+ 413: ErrorEnvelope;
12529
+ /**
12530
+ * Rate limited
12531
+ */
12532
+ 429: ErrorEnvelope;
12533
+ /**
12534
+ * Internal server error
12535
+ */
12536
+ 500: ErrorEnvelope;
12537
+ /**
12538
+ * Upstream service error
12539
+ */
12540
+ 502: ErrorEnvelope;
12541
+ /**
12542
+ * Service unavailable
12543
+ */
12544
+ 503: ErrorEnvelope;
12545
+ /**
12546
+ * Upstream timeout
12547
+ */
12548
+ 504: ErrorEnvelope;
12549
+ };
12550
+ export type ListActivityError = ListActivityErrors[keyof ListActivityErrors];
12551
+ export type ListActivityResponses = {
12552
+ /**
12553
+ * Success
12554
+ */
12555
+ 200: {
12556
+ object: 'list';
12557
+ data: Array<ActivityEvent>;
12558
+ has_more: boolean;
12559
+ next_cursor: string | null;
12560
+ /**
12561
+ * Canonical URL of the ActivityEvent list.
12562
+ */
12563
+ url: string;
12564
+ };
12565
+ };
12566
+ export type ListActivityResponse = ListActivityResponses[keyof ListActivityResponses];
12567
+ export type ListSandboxLogsData = {
12568
+ body?: never;
12569
+ path?: never;
12570
+ query?: {
12571
+ /**
12572
+ * Page size (1–100, default 10).
12573
+ */
12574
+ limit?: number;
12575
+ /**
12576
+ * Opaque cursor — return rows strictly older than this anchor.
12577
+ */
12578
+ starting_after?: string;
12579
+ /**
12580
+ * Opaque cursor — return rows strictly newer than this anchor.
12581
+ */
12582
+ ending_before?: string;
12583
+ };
12584
+ url: '/v1/sandbox/logs';
12585
+ };
12586
+ export type ListSandboxLogsErrors = {
12587
+ /**
12588
+ * Validation error
12589
+ */
12590
+ 400: ErrorEnvelope;
12591
+ /**
12592
+ * Unauthorized
12593
+ */
12594
+ 401: ErrorEnvelope;
12595
+ /**
12596
+ * Payment required
12597
+ */
12598
+ 402: ErrorEnvelope;
12599
+ /**
12600
+ * Forbidden
12601
+ */
12602
+ 403: ErrorEnvelope;
12603
+ /**
12604
+ * Not found
12605
+ */
12606
+ 404: ErrorEnvelope;
12607
+ /**
12608
+ * Conflict
12609
+ */
12610
+ 409: ErrorEnvelope;
12611
+ /**
12612
+ * Payload too large
12613
+ */
12614
+ 413: ErrorEnvelope;
12615
+ /**
12616
+ * Rate limited
12617
+ */
12618
+ 429: ErrorEnvelope;
12619
+ /**
12620
+ * Internal server error
12621
+ */
12622
+ 500: ErrorEnvelope;
12623
+ /**
12624
+ * Upstream service error
12625
+ */
12626
+ 502: ErrorEnvelope;
12627
+ /**
12628
+ * Service unavailable
12629
+ */
12630
+ 503: ErrorEnvelope;
12631
+ /**
12632
+ * Upstream timeout
12633
+ */
12634
+ 504: ErrorEnvelope;
12635
+ };
12636
+ export type ListSandboxLogsError = ListSandboxLogsErrors[keyof ListSandboxLogsErrors];
12637
+ export type ListSandboxLogsResponses = {
12638
+ /**
12639
+ * Success
12640
+ */
12641
+ 200: {
12642
+ object: 'list';
12643
+ data: Array<ApiRequestLog>;
12644
+ has_more: boolean;
12645
+ next_cursor: string | null;
12646
+ /**
12647
+ * Canonical URL of the ApiRequestLog list.
12648
+ */
12649
+ url: string;
12650
+ };
12651
+ };
12652
+ export type ListSandboxLogsResponse = ListSandboxLogsResponses[keyof ListSandboxLogsResponses];
12653
+ export type GetSandboxLogData = {
12654
+ body?: never;
12655
+ path: {
12656
+ id: string;
12657
+ };
12658
+ query?: never;
12659
+ url: '/v1/sandbox/logs/{id}';
12660
+ };
12661
+ export type GetSandboxLogErrors = {
12662
+ /**
12663
+ * Validation error
12664
+ */
12665
+ 400: ErrorEnvelope;
12666
+ /**
12667
+ * Unauthorized
12668
+ */
12669
+ 401: ErrorEnvelope;
12670
+ /**
12671
+ * Payment required
12672
+ */
12673
+ 402: ErrorEnvelope;
12674
+ /**
12675
+ * Forbidden
12676
+ */
12677
+ 403: ErrorEnvelope;
12678
+ /**
12679
+ * Not found
12680
+ */
12681
+ 404: ErrorEnvelope;
12682
+ /**
12683
+ * Conflict
12684
+ */
12685
+ 409: ErrorEnvelope;
12686
+ /**
12687
+ * Payload too large
12688
+ */
12689
+ 413: ErrorEnvelope;
12690
+ /**
12691
+ * Rate limited
12692
+ */
12693
+ 429: ErrorEnvelope;
12694
+ /**
12695
+ * Internal server error
12696
+ */
12697
+ 500: ErrorEnvelope;
12698
+ /**
12699
+ * Upstream service error
12700
+ */
12701
+ 502: ErrorEnvelope;
12702
+ /**
12703
+ * Service unavailable
12704
+ */
12705
+ 503: ErrorEnvelope;
12706
+ /**
12707
+ * Upstream timeout
12708
+ */
12709
+ 504: ErrorEnvelope;
12710
+ };
12711
+ export type GetSandboxLogError = GetSandboxLogErrors[keyof GetSandboxLogErrors];
12712
+ export type GetSandboxLogResponses = {
12713
+ /**
12714
+ * Success
12715
+ */
12716
+ 200: ApiRequestLog;
12717
+ };
12718
+ export type GetSandboxLogResponse = GetSandboxLogResponses[keyof GetSandboxLogResponses];
12719
+ export type InitSessionData = {
12720
+ body: {
12721
+ device_id: string;
12722
+ device_name?: string;
12723
+ client_type?: 'sdk' | 'cli' | 'mcp' | 'api' | 'browser' | 'unknown';
12724
+ };
12725
+ path?: never;
12726
+ query?: never;
12727
+ url: '/v1/sessions/init';
12728
+ };
12729
+ export type InitSessionErrors = {
12730
+ /**
12731
+ * Validation error
12732
+ */
12733
+ 400: ErrorEnvelope;
12734
+ /**
12735
+ * Unauthorized
12736
+ */
12737
+ 401: ErrorEnvelope;
12738
+ /**
12739
+ * Payment required
12740
+ */
12741
+ 402: ErrorEnvelope;
12742
+ /**
12743
+ * Forbidden
12744
+ */
12745
+ 403: ErrorEnvelope;
12746
+ /**
12747
+ * Not found
12748
+ */
12749
+ 404: ErrorEnvelope;
12750
+ /**
12751
+ * Conflict
12752
+ */
12753
+ 409: ErrorEnvelope;
12754
+ /**
12755
+ * Payload too large
12756
+ */
12757
+ 413: ErrorEnvelope;
12758
+ /**
12759
+ * Rate limited
12760
+ */
12761
+ 429: ErrorEnvelope;
12762
+ /**
12763
+ * Internal server error
12764
+ */
12765
+ 500: ErrorEnvelope;
12766
+ /**
12767
+ * Upstream service error
12768
+ */
12769
+ 502: ErrorEnvelope;
12770
+ /**
12771
+ * Service unavailable
12772
+ */
12773
+ 503: ErrorEnvelope;
12774
+ /**
12775
+ * Upstream timeout
12776
+ */
12777
+ 504: ErrorEnvelope;
12778
+ };
12779
+ export type InitSessionError = InitSessionErrors[keyof InitSessionErrors];
12780
+ export type InitSessionResponses = {
12781
+ /**
12782
+ * Success
12783
+ */
12784
+ 200: SessionInitResult;
12785
+ };
12786
+ export type InitSessionResponse = InitSessionResponses[keyof InitSessionResponses];
12787
+ export type PollSessionData = {
12788
+ body: {
12789
+ session_id: string;
12790
+ };
12791
+ path?: never;
12792
+ query?: never;
12793
+ url: '/v1/sessions/poll';
12794
+ };
12795
+ export type PollSessionErrors = {
12796
+ /**
12797
+ * Validation error
12798
+ */
12799
+ 400: ErrorEnvelope;
12800
+ /**
12801
+ * Unauthorized
12802
+ */
12803
+ 401: ErrorEnvelope;
12804
+ /**
12805
+ * Payment required
12806
+ */
12807
+ 402: ErrorEnvelope;
12808
+ /**
12809
+ * Forbidden
12810
+ */
12811
+ 403: ErrorEnvelope;
12812
+ /**
12813
+ * Not found
12814
+ */
12815
+ 404: ErrorEnvelope;
12816
+ /**
12817
+ * Conflict
12818
+ */
12819
+ 409: ErrorEnvelope;
12820
+ /**
12821
+ * Payload too large
12822
+ */
12823
+ 413: ErrorEnvelope;
12824
+ /**
12825
+ * Rate limited
12826
+ */
12827
+ 429: ErrorEnvelope;
12828
+ /**
12829
+ * Internal server error
12830
+ */
12831
+ 500: ErrorEnvelope;
12832
+ /**
12833
+ * Upstream service error
12834
+ */
12835
+ 502: ErrorEnvelope;
12836
+ /**
12837
+ * Service unavailable
12838
+ */
12839
+ 503: ErrorEnvelope;
12840
+ /**
12841
+ * Upstream timeout
12842
+ */
12843
+ 504: ErrorEnvelope;
12844
+ };
12845
+ export type PollSessionError = PollSessionErrors[keyof PollSessionErrors];
12846
+ export type PollSessionResponses = {
12847
+ /**
12848
+ * Success
12849
+ */
12850
+ 200: SessionPollResult;
12851
+ };
12852
+ export type PollSessionResponse = PollSessionResponses[keyof PollSessionResponses];
12853
+ export type SessionVerifyOptionsData = {
12854
+ body: {
12855
+ user_code: string;
12856
+ };
12857
+ path?: never;
12858
+ query?: never;
12859
+ url: '/v1/sessions/verify-options';
12860
+ };
12861
+ export type SessionVerifyOptionsErrors = {
12862
+ /**
12863
+ * Validation error
12864
+ */
12865
+ 400: ErrorEnvelope;
12866
+ /**
12867
+ * Unauthorized
12868
+ */
12869
+ 401: ErrorEnvelope;
12870
+ /**
12871
+ * Payment required
12872
+ */
12873
+ 402: ErrorEnvelope;
12874
+ /**
12875
+ * Forbidden
12876
+ */
12877
+ 403: ErrorEnvelope;
12878
+ /**
12879
+ * Not found
12880
+ */
12881
+ 404: ErrorEnvelope;
12882
+ /**
12883
+ * Conflict
12884
+ */
12885
+ 409: ErrorEnvelope;
12886
+ /**
12887
+ * Payload too large
12888
+ */
12889
+ 413: ErrorEnvelope;
12890
+ /**
12891
+ * Rate limited
12892
+ */
12893
+ 429: ErrorEnvelope;
12894
+ /**
12895
+ * Internal server error
12896
+ */
12897
+ 500: ErrorEnvelope;
12898
+ /**
12899
+ * Upstream service error
12900
+ */
12901
+ 502: ErrorEnvelope;
12902
+ /**
12903
+ * Service unavailable
12904
+ */
12905
+ 503: ErrorEnvelope;
12906
+ /**
12907
+ * Upstream timeout
12908
+ */
12909
+ 504: ErrorEnvelope;
12910
+ };
12911
+ export type SessionVerifyOptionsError = SessionVerifyOptionsErrors[keyof SessionVerifyOptionsErrors];
12912
+ export type SessionVerifyOptionsResponses = {
12913
+ /**
12914
+ * Success
12915
+ */
12916
+ 200: SessionVerifyOptions;
12917
+ };
12918
+ export type SessionVerifyOptionsResponse = SessionVerifyOptionsResponses[keyof SessionVerifyOptionsResponses];
12919
+ export type VerifySessionData = {
12920
+ body: {
12921
+ user_code: string;
12922
+ challenge_id: string;
12923
+ assertion: {
12924
+ [key: string]: unknown;
12925
+ };
12926
+ device_name?: string;
12927
+ };
12928
+ path?: never;
12929
+ query?: never;
12930
+ url: '/v1/sessions/verify';
12931
+ };
12932
+ export type VerifySessionErrors = {
12933
+ /**
12934
+ * Validation error
12935
+ */
12936
+ 400: ErrorEnvelope;
12937
+ /**
12938
+ * Unauthorized
12939
+ */
12940
+ 401: ErrorEnvelope;
12941
+ /**
12942
+ * Payment required
12943
+ */
12944
+ 402: ErrorEnvelope;
12945
+ /**
12946
+ * Forbidden
12947
+ */
12948
+ 403: ErrorEnvelope;
12949
+ /**
12950
+ * Not found
12951
+ */
12952
+ 404: ErrorEnvelope;
12953
+ /**
12954
+ * Conflict
12955
+ */
12956
+ 409: ErrorEnvelope;
12957
+ /**
12958
+ * Payload too large
12959
+ */
12960
+ 413: ErrorEnvelope;
12961
+ /**
12962
+ * Rate limited
12963
+ */
12964
+ 429: ErrorEnvelope;
12965
+ /**
12966
+ * Internal server error
12967
+ */
12968
+ 500: ErrorEnvelope;
12969
+ /**
12970
+ * Upstream service error
12971
+ */
12972
+ 502: ErrorEnvelope;
12973
+ /**
12974
+ * Service unavailable
12975
+ */
12976
+ 503: ErrorEnvelope;
12977
+ /**
12978
+ * Upstream timeout
12979
+ */
12980
+ 504: ErrorEnvelope;
12981
+ };
12982
+ export type VerifySessionError = VerifySessionErrors[keyof VerifySessionErrors];
12983
+ export type VerifySessionResponses = {
12984
+ /**
12985
+ * Success
12986
+ */
12987
+ 200: SessionVerifyResult;
12988
+ };
12989
+ export type VerifySessionResponse = VerifySessionResponses[keyof VerifySessionResponses];
12990
+ export type ListSessionsData = {
12991
+ body?: never;
12992
+ path?: never;
12993
+ query?: never;
12994
+ url: '/v1/sessions';
12995
+ };
12996
+ export type ListSessionsErrors = {
12997
+ /**
12998
+ * Validation error
12999
+ */
13000
+ 400: ErrorEnvelope;
13001
+ /**
13002
+ * Unauthorized
13003
+ */
13004
+ 401: ErrorEnvelope;
13005
+ /**
13006
+ * Payment required
13007
+ */
13008
+ 402: ErrorEnvelope;
13009
+ /**
13010
+ * Forbidden
13011
+ */
13012
+ 403: ErrorEnvelope;
13013
+ /**
13014
+ * Not found
13015
+ */
13016
+ 404: ErrorEnvelope;
13017
+ /**
13018
+ * Conflict
13019
+ */
13020
+ 409: ErrorEnvelope;
13021
+ /**
13022
+ * Payload too large
13023
+ */
13024
+ 413: ErrorEnvelope;
13025
+ /**
13026
+ * Rate limited
13027
+ */
13028
+ 429: ErrorEnvelope;
13029
+ /**
13030
+ * Internal server error
13031
+ */
13032
+ 500: ErrorEnvelope;
13033
+ /**
13034
+ * Upstream service error
13035
+ */
13036
+ 502: ErrorEnvelope;
13037
+ /**
13038
+ * Service unavailable
13039
+ */
13040
+ 503: ErrorEnvelope;
13041
+ /**
13042
+ * Upstream timeout
13043
+ */
13044
+ 504: ErrorEnvelope;
13045
+ };
13046
+ export type ListSessionsError = ListSessionsErrors[keyof ListSessionsErrors];
13047
+ export type ListSessionsResponses = {
13048
+ /**
13049
+ * Success
13050
+ */
13051
+ 200: SessionList;
13052
+ };
13053
+ export type ListSessionsResponse = ListSessionsResponses[keyof ListSessionsResponses];
13054
+ export type RevokeSessionData = {
13055
+ body?: never;
13056
+ path: {
13057
+ id: string;
13058
+ };
13059
+ query?: never;
13060
+ url: '/v1/sessions/{id}/revoke';
13061
+ };
13062
+ export type RevokeSessionErrors = {
13063
+ /**
13064
+ * Validation error
13065
+ */
13066
+ 400: ErrorEnvelope;
13067
+ /**
13068
+ * Unauthorized
13069
+ */
13070
+ 401: ErrorEnvelope;
13071
+ /**
13072
+ * Payment required
13073
+ */
13074
+ 402: ErrorEnvelope;
13075
+ /**
13076
+ * Forbidden
13077
+ */
13078
+ 403: ErrorEnvelope;
13079
+ /**
13080
+ * Not found
13081
+ */
13082
+ 404: ErrorEnvelope;
13083
+ /**
13084
+ * Conflict
13085
+ */
13086
+ 409: ErrorEnvelope;
13087
+ /**
13088
+ * Payload too large
13089
+ */
13090
+ 413: ErrorEnvelope;
13091
+ /**
13092
+ * Rate limited
13093
+ */
13094
+ 429: ErrorEnvelope;
13095
+ /**
13096
+ * Internal server error
13097
+ */
13098
+ 500: ErrorEnvelope;
13099
+ /**
13100
+ * Upstream service error
13101
+ */
13102
+ 502: ErrorEnvelope;
13103
+ /**
13104
+ * Service unavailable
13105
+ */
13106
+ 503: ErrorEnvelope;
13107
+ /**
13108
+ * Upstream timeout
13109
+ */
13110
+ 504: ErrorEnvelope;
13111
+ };
13112
+ export type RevokeSessionError = RevokeSessionErrors[keyof RevokeSessionErrors];
13113
+ export type RevokeSessionResponses = {
13114
+ /**
13115
+ * Success
13116
+ */
13117
+ 200: SessionRevokeResult;
13118
+ };
13119
+ export type RevokeSessionResponse = RevokeSessionResponses[keyof RevokeSessionResponses];
13120
+ export type CreateMandateOptionsData = {
13121
+ body: {
13122
+ agent_id: string;
13123
+ constraints: {
13124
+ maxAmountPerTransactionCents?: number | null;
13125
+ maxAmountPerDayCents?: number | null;
13126
+ maxAmountPerMonthCents?: number | null;
13127
+ maxTotalAmountCents?: number | null;
13128
+ maxUsageCount?: number | null;
13129
+ allowedMccs?: Array<string> | null;
13130
+ allowedMerchants?: Array<string> | null;
13131
+ allowedCountries?: Array<string> | null;
13132
+ };
13133
+ expires_at: string;
13134
+ };
13135
+ headers: {
13136
+ /**
13137
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
13138
+ */
13139
+ 'Idempotency-Key': string;
13140
+ };
13141
+ path?: never;
13142
+ query?: never;
13143
+ url: '/v1/mandates/options';
13144
+ };
13145
+ export type CreateMandateOptionsErrors = {
13146
+ /**
13147
+ * Validation error
13148
+ */
13149
+ 400: ErrorEnvelope;
13150
+ /**
13151
+ * Unauthorized
13152
+ */
13153
+ 401: ErrorEnvelope;
13154
+ /**
13155
+ * Payment required
13156
+ */
13157
+ 402: ErrorEnvelope;
13158
+ /**
13159
+ * Forbidden
13160
+ */
13161
+ 403: ErrorEnvelope;
13162
+ /**
13163
+ * Not found
13164
+ */
13165
+ 404: ErrorEnvelope;
13166
+ /**
13167
+ * Conflict
13168
+ */
13169
+ 409: ErrorEnvelope;
13170
+ /**
13171
+ * Payload too large
13172
+ */
13173
+ 413: ErrorEnvelope;
13174
+ /**
13175
+ * Rate limited
13176
+ */
13177
+ 429: ErrorEnvelope;
13178
+ /**
13179
+ * Internal server error
13180
+ */
13181
+ 500: ErrorEnvelope;
13182
+ /**
13183
+ * Upstream service error
13184
+ */
13185
+ 502: ErrorEnvelope;
13186
+ /**
13187
+ * Service unavailable
13188
+ */
13189
+ 503: ErrorEnvelope;
13190
+ /**
13191
+ * Upstream timeout
13192
+ */
13193
+ 504: ErrorEnvelope;
13194
+ };
13195
+ export type CreateMandateOptionsError = CreateMandateOptionsErrors[keyof CreateMandateOptionsErrors];
13196
+ export type CreateMandateOptionsResponses = {
13197
+ /**
13198
+ * Success
13199
+ */
13200
+ 200: MandateOptions;
13201
+ };
13202
+ export type CreateMandateOptionsResponse = CreateMandateOptionsResponses[keyof CreateMandateOptionsResponses];
13203
+ export type ListMandatesData = {
13204
+ body?: never;
13205
+ path?: never;
13206
+ query?: never;
13207
+ url: '/v1/mandates';
13208
+ };
13209
+ export type ListMandatesErrors = {
13210
+ /**
13211
+ * Validation error
13212
+ */
13213
+ 400: ErrorEnvelope;
13214
+ /**
13215
+ * Unauthorized
13216
+ */
13217
+ 401: ErrorEnvelope;
13218
+ /**
13219
+ * Payment required
13220
+ */
13221
+ 402: ErrorEnvelope;
13222
+ /**
13223
+ * Forbidden
13224
+ */
13225
+ 403: ErrorEnvelope;
13226
+ /**
13227
+ * Not found
13228
+ */
13229
+ 404: ErrorEnvelope;
13230
+ /**
13231
+ * Conflict
13232
+ */
13233
+ 409: ErrorEnvelope;
13234
+ /**
13235
+ * Payload too large
13236
+ */
13237
+ 413: ErrorEnvelope;
13238
+ /**
13239
+ * Rate limited
13240
+ */
13241
+ 429: ErrorEnvelope;
13242
+ /**
13243
+ * Internal server error
13244
+ */
13245
+ 500: ErrorEnvelope;
13246
+ /**
13247
+ * Upstream service error
13248
+ */
13249
+ 502: ErrorEnvelope;
13250
+ /**
13251
+ * Service unavailable
13252
+ */
13253
+ 503: ErrorEnvelope;
13254
+ /**
13255
+ * Upstream timeout
13256
+ */
13257
+ 504: ErrorEnvelope;
13258
+ };
13259
+ export type ListMandatesError = ListMandatesErrors[keyof ListMandatesErrors];
13260
+ export type ListMandatesResponses = {
13261
+ /**
13262
+ * Success
13263
+ */
13264
+ 200: MandateList;
13265
+ };
13266
+ export type ListMandatesResponse = ListMandatesResponses[keyof ListMandatesResponses];
13267
+ export type CreateMandateData = {
13268
+ body: {
13269
+ agent_id: string;
13270
+ constraints: {
13271
+ maxAmountPerTransactionCents?: number | null;
13272
+ maxAmountPerDayCents?: number | null;
13273
+ maxAmountPerMonthCents?: number | null;
13274
+ maxTotalAmountCents?: number | null;
13275
+ maxUsageCount?: number | null;
13276
+ allowedMccs?: Array<string> | null;
13277
+ allowedMerchants?: Array<string> | null;
13278
+ allowedCountries?: Array<string> | null;
13279
+ };
13280
+ expires_at: string;
13281
+ challenge_id: string;
13282
+ assertion: {
13283
+ [key: string]: unknown;
13284
+ };
13285
+ };
13286
+ headers: {
13287
+ /**
13288
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
13289
+ */
13290
+ 'Idempotency-Key': string;
13291
+ };
13292
+ path?: never;
13293
+ query?: never;
13294
+ url: '/v1/mandates';
13295
+ };
13296
+ export type CreateMandateErrors = {
13297
+ /**
13298
+ * Validation error
13299
+ */
13300
+ 400: ErrorEnvelope;
13301
+ /**
13302
+ * Unauthorized
13303
+ */
13304
+ 401: ErrorEnvelope;
13305
+ /**
13306
+ * Payment required
13307
+ */
13308
+ 402: ErrorEnvelope;
13309
+ /**
13310
+ * Forbidden
13311
+ */
13312
+ 403: ErrorEnvelope;
13313
+ /**
13314
+ * Not found
13315
+ */
13316
+ 404: ErrorEnvelope;
13317
+ /**
13318
+ * Conflict
13319
+ */
13320
+ 409: ErrorEnvelope;
13321
+ /**
13322
+ * Payload too large
13323
+ */
13324
+ 413: ErrorEnvelope;
13325
+ /**
13326
+ * Rate limited
13327
+ */
13328
+ 429: ErrorEnvelope;
13329
+ /**
13330
+ * Internal server error
13331
+ */
13332
+ 500: ErrorEnvelope;
13333
+ /**
13334
+ * Upstream service error
13335
+ */
13336
+ 502: ErrorEnvelope;
13337
+ /**
13338
+ * Service unavailable
13339
+ */
13340
+ 503: ErrorEnvelope;
13341
+ /**
13342
+ * Upstream timeout
13343
+ */
13344
+ 504: ErrorEnvelope;
13345
+ };
13346
+ export type CreateMandateError = CreateMandateErrors[keyof CreateMandateErrors];
13347
+ export type CreateMandateResponses = {
13348
+ /**
13349
+ * Success
13350
+ */
13351
+ 201: Mandate;
13352
+ };
13353
+ export type CreateMandateResponse = CreateMandateResponses[keyof CreateMandateResponses];
13354
+ export type RevokeMandateData = {
13355
+ body?: never;
13356
+ headers: {
13357
+ /**
13358
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
13359
+ */
13360
+ 'Idempotency-Key': string;
13361
+ };
13362
+ path: {
13363
+ id: string;
13364
+ };
13365
+ query?: never;
13366
+ url: '/v1/mandates/{id}/revoke';
13367
+ };
13368
+ export type RevokeMandateErrors = {
13369
+ /**
13370
+ * Validation error
13371
+ */
13372
+ 400: ErrorEnvelope;
13373
+ /**
13374
+ * Unauthorized
13375
+ */
13376
+ 401: ErrorEnvelope;
13377
+ /**
13378
+ * Payment required
13379
+ */
13380
+ 402: ErrorEnvelope;
13381
+ /**
13382
+ * Forbidden
13383
+ */
13384
+ 403: ErrorEnvelope;
13385
+ /**
13386
+ * Not found
13387
+ */
13388
+ 404: ErrorEnvelope;
13389
+ /**
13390
+ * Conflict
13391
+ */
13392
+ 409: ErrorEnvelope;
13393
+ /**
13394
+ * Payload too large
13395
+ */
13396
+ 413: ErrorEnvelope;
13397
+ /**
13398
+ * Rate limited
13399
+ */
13400
+ 429: ErrorEnvelope;
13401
+ /**
13402
+ * Internal server error
13403
+ */
13404
+ 500: ErrorEnvelope;
13405
+ /**
13406
+ * Upstream service error
13407
+ */
13408
+ 502: ErrorEnvelope;
13409
+ /**
13410
+ * Service unavailable
13411
+ */
13412
+ 503: ErrorEnvelope;
13413
+ /**
13414
+ * Upstream timeout
13415
+ */
13416
+ 504: ErrorEnvelope;
13417
+ };
13418
+ export type RevokeMandateError = RevokeMandateErrors[keyof RevokeMandateErrors];
13419
+ export type RevokeMandateResponses = {
13420
+ /**
13421
+ * Success
13422
+ */
13423
+ 200: MandateRevokeResult;
13424
+ };
13425
+ export type RevokeMandateResponse = RevokeMandateResponses[keyof RevokeMandateResponses];
13426
+ export type ListAgentCredentialsData = {
13427
+ body?: never;
13428
+ path?: never;
13429
+ query?: never;
13430
+ url: '/v1/agent-credentials';
13431
+ };
13432
+ export type ListAgentCredentialsErrors = {
13433
+ /**
13434
+ * Validation error
13435
+ */
13436
+ 400: ErrorEnvelope;
13437
+ /**
13438
+ * Unauthorized
13439
+ */
13440
+ 401: ErrorEnvelope;
13441
+ /**
13442
+ * Payment required
13443
+ */
13444
+ 402: ErrorEnvelope;
13445
+ /**
13446
+ * Forbidden
13447
+ */
13448
+ 403: ErrorEnvelope;
13449
+ /**
13450
+ * Not found
13451
+ */
13452
+ 404: ErrorEnvelope;
13453
+ /**
13454
+ * Conflict
13455
+ */
13456
+ 409: ErrorEnvelope;
13457
+ /**
13458
+ * Payload too large
13459
+ */
13460
+ 413: ErrorEnvelope;
13461
+ /**
13462
+ * Rate limited
13463
+ */
13464
+ 429: ErrorEnvelope;
13465
+ /**
13466
+ * Internal server error
13467
+ */
13468
+ 500: ErrorEnvelope;
13469
+ /**
13470
+ * Upstream service error
13471
+ */
13472
+ 502: ErrorEnvelope;
13473
+ /**
13474
+ * Service unavailable
13475
+ */
13476
+ 503: ErrorEnvelope;
13477
+ /**
13478
+ * Upstream timeout
13479
+ */
13480
+ 504: ErrorEnvelope;
13481
+ };
13482
+ export type ListAgentCredentialsError = ListAgentCredentialsErrors[keyof ListAgentCredentialsErrors];
13483
+ export type ListAgentCredentialsResponses = {
13484
+ /**
13485
+ * Success
13486
+ */
13487
+ 200: AgentCredentialList;
13488
+ };
13489
+ export type ListAgentCredentialsResponse = ListAgentCredentialsResponses[keyof ListAgentCredentialsResponses];
13490
+ export type CreateAgentCredentialData = {
13491
+ body: {
13492
+ agent_id: string;
13493
+ intent_id: string;
13494
+ base_card_id: string;
13495
+ merchant_scope: string;
13496
+ amount_limit_cents: number;
13497
+ currency?: string;
13498
+ token_type: 'single_use' | 'recurring' | 'metered';
13499
+ ttl_seconds?: number;
13500
+ cadence_days_min?: number;
13501
+ cadence_days_max?: number;
13502
+ max_charges?: number | null;
13503
+ cap_euros?: number;
13504
+ };
13505
+ headers: {
13506
+ /**
13507
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
13508
+ */
13509
+ 'Idempotency-Key': string;
13510
+ };
13511
+ path?: never;
13512
+ query?: never;
13513
+ url: '/v1/agent-credentials';
13514
+ };
13515
+ export type CreateAgentCredentialErrors = {
13516
+ /**
13517
+ * Validation error
13518
+ */
13519
+ 400: ErrorEnvelope;
13520
+ /**
13521
+ * Unauthorized
13522
+ */
13523
+ 401: ErrorEnvelope;
13524
+ /**
13525
+ * Payment required
13526
+ */
13527
+ 402: ErrorEnvelope;
13528
+ /**
13529
+ * Forbidden
13530
+ */
13531
+ 403: ErrorEnvelope;
13532
+ /**
13533
+ * Not found
13534
+ */
13535
+ 404: ErrorEnvelope;
13536
+ /**
13537
+ * Conflict
13538
+ */
13539
+ 409: ErrorEnvelope;
13540
+ /**
13541
+ * Payload too large
13542
+ */
13543
+ 413: ErrorEnvelope;
13544
+ /**
13545
+ * Rate limited
13546
+ */
13547
+ 429: ErrorEnvelope;
13548
+ /**
13549
+ * Internal server error
13550
+ */
13551
+ 500: ErrorEnvelope;
13552
+ /**
13553
+ * Upstream service error
13554
+ */
13555
+ 502: ErrorEnvelope;
13556
+ /**
13557
+ * Service unavailable
13558
+ */
13559
+ 503: ErrorEnvelope;
13560
+ /**
13561
+ * Upstream timeout
13562
+ */
13563
+ 504: ErrorEnvelope;
13564
+ };
13565
+ export type CreateAgentCredentialError = CreateAgentCredentialErrors[keyof CreateAgentCredentialErrors];
13566
+ export type CreateAgentCredentialResponses = {
13567
+ /**
13568
+ * Success
13569
+ */
13570
+ 201: AgentCredential;
13571
+ };
13572
+ export type CreateAgentCredentialResponse = CreateAgentCredentialResponses[keyof CreateAgentCredentialResponses];
13573
+ export type GetAgentCredentialData = {
13574
+ body?: never;
13575
+ path: {
13576
+ id: string;
13577
+ };
13578
+ query?: never;
13579
+ url: '/v1/agent-credentials/{id}';
13580
+ };
13581
+ export type GetAgentCredentialErrors = {
13582
+ /**
13583
+ * Validation error
13584
+ */
13585
+ 400: ErrorEnvelope;
13586
+ /**
13587
+ * Unauthorized
13588
+ */
13589
+ 401: ErrorEnvelope;
13590
+ /**
13591
+ * Payment required
13592
+ */
13593
+ 402: ErrorEnvelope;
13594
+ /**
13595
+ * Forbidden
13596
+ */
13597
+ 403: ErrorEnvelope;
13598
+ /**
13599
+ * Not found
13600
+ */
13601
+ 404: ErrorEnvelope;
13602
+ /**
13603
+ * Conflict
13604
+ */
13605
+ 409: ErrorEnvelope;
13606
+ /**
13607
+ * Payload too large
13608
+ */
13609
+ 413: ErrorEnvelope;
13610
+ /**
13611
+ * Rate limited
13612
+ */
13613
+ 429: ErrorEnvelope;
13614
+ /**
13615
+ * Internal server error
13616
+ */
13617
+ 500: ErrorEnvelope;
13618
+ /**
13619
+ * Upstream service error
13620
+ */
13621
+ 502: ErrorEnvelope;
13622
+ /**
13623
+ * Service unavailable
13624
+ */
13625
+ 503: ErrorEnvelope;
13626
+ /**
13627
+ * Upstream timeout
13628
+ */
13629
+ 504: ErrorEnvelope;
13630
+ };
13631
+ export type GetAgentCredentialError = GetAgentCredentialErrors[keyof GetAgentCredentialErrors];
13632
+ export type GetAgentCredentialResponses = {
13633
+ /**
13634
+ * Success
13635
+ */
13636
+ 200: AgentCredentialSummary;
13637
+ };
13638
+ export type GetAgentCredentialResponse = GetAgentCredentialResponses[keyof GetAgentCredentialResponses];
13639
+ export type RevokeAgentCredentialData = {
13640
+ body?: never;
13641
+ headers: {
13642
+ /**
13643
+ * Unique key per logical operation. Retries with the same key are deduped (replay = 200 + X-Idempotent-Replayed).
13644
+ */
13645
+ 'Idempotency-Key': string;
13646
+ };
13647
+ path: {
13648
+ id: string;
13649
+ };
13650
+ query?: never;
13651
+ url: '/v1/agent-credentials/{id}/revoke';
13652
+ };
13653
+ export type RevokeAgentCredentialErrors = {
13654
+ /**
13655
+ * Validation error
13656
+ */
13657
+ 400: ErrorEnvelope;
13658
+ /**
13659
+ * Unauthorized
13660
+ */
13661
+ 401: ErrorEnvelope;
13662
+ /**
13663
+ * Payment required
13664
+ */
13665
+ 402: ErrorEnvelope;
13666
+ /**
13667
+ * Forbidden
13668
+ */
13669
+ 403: ErrorEnvelope;
13670
+ /**
13671
+ * Not found
13672
+ */
13673
+ 404: ErrorEnvelope;
13674
+ /**
13675
+ * Conflict
13676
+ */
13677
+ 409: ErrorEnvelope;
13678
+ /**
13679
+ * Payload too large
13680
+ */
13681
+ 413: ErrorEnvelope;
13682
+ /**
13683
+ * Rate limited
13684
+ */
13685
+ 429: ErrorEnvelope;
13686
+ /**
13687
+ * Internal server error
13688
+ */
13689
+ 500: ErrorEnvelope;
13690
+ /**
13691
+ * Upstream service error
13692
+ */
13693
+ 502: ErrorEnvelope;
13694
+ /**
13695
+ * Service unavailable
13696
+ */
13697
+ 503: ErrorEnvelope;
13698
+ /**
13699
+ * Upstream timeout
13700
+ */
13701
+ 504: ErrorEnvelope;
13702
+ };
13703
+ export type RevokeAgentCredentialError = RevokeAgentCredentialErrors[keyof RevokeAgentCredentialErrors];
13704
+ export type RevokeAgentCredentialResponses = {
13705
+ /**
13706
+ * Success
13707
+ */
13708
+ 200: AgentCredentialRevokeResult;
13709
+ };
13710
+ export type RevokeAgentCredentialResponse = RevokeAgentCredentialResponses[keyof RevokeAgentCredentialResponses];
13711
+ export type StreamSettlementEventsData = {
13712
+ body?: never;
13713
+ path?: never;
13714
+ query?: never;
13715
+ url: '/v1/events/settlement';
13716
+ };
13717
+ export type StreamSettlementEventsErrors = {
13718
+ /**
13719
+ * Validation error
13720
+ */
13721
+ 400: ErrorEnvelope;
13722
+ /**
13723
+ * Unauthorized
13724
+ */
13725
+ 401: ErrorEnvelope;
13726
+ /**
13727
+ * Payment required
13728
+ */
13729
+ 402: ErrorEnvelope;
13730
+ /**
13731
+ * Forbidden
13732
+ */
13733
+ 403: ErrorEnvelope;
13734
+ /**
13735
+ * Not found
13736
+ */
13737
+ 404: ErrorEnvelope;
13738
+ /**
13739
+ * Conflict
13740
+ */
13741
+ 409: ErrorEnvelope;
13742
+ /**
13743
+ * Payload too large
13744
+ */
13745
+ 413: ErrorEnvelope;
13746
+ /**
13747
+ * Rate limited
13748
+ */
13749
+ 429: ErrorEnvelope;
13750
+ /**
13751
+ * Internal server error
13752
+ */
13753
+ 500: ErrorEnvelope;
13754
+ /**
13755
+ * Upstream service error
13756
+ */
13757
+ 502: ErrorEnvelope;
13758
+ /**
13759
+ * Service unavailable
13760
+ */
13761
+ 503: ErrorEnvelope;
13762
+ /**
13763
+ * Upstream timeout
13764
+ */
13765
+ 504: ErrorEnvelope;
13766
+ };
13767
+ export type StreamSettlementEventsError = StreamSettlementEventsErrors[keyof StreamSettlementEventsErrors];
13768
+ export type StreamSettlementEventsResponses = {
13769
+ /**
13770
+ * Success
13771
+ */
13772
+ 200: SettlementEvent;
13773
+ };
13774
+ export type StreamSettlementEventsResponse = StreamSettlementEventsResponses[keyof StreamSettlementEventsResponses];
11647
13775
  //# sourceMappingURL=types.gen.d.ts.map