@algolia/n8n-nodes-algolia 0.5.2 → 0.7.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.
@@ -0,0 +1,1493 @@
1
+ {
2
+ "openapi": "3.0.2",
3
+ "info": {
4
+ "title": "A/B Testing API",
5
+ "description": "The Algolia A/B Testing API lets you manage your Algolia A/B tests to optimize your search experience.\n\n## Base URLs\n\nThe base URLs for requests to the A/B testing API are:\n\n- `https://analytics.us.algolia.com`\n- `https://analytics.de.algolia.com`\n- `https://analytics.algolia.com` (alias of `analytics.us.algolia.com`)\n\nUse the URL that matches your [analytics region](https://dashboard.algolia.com/account/infrastructure/analytics).\n\n**All requests must use HTTPS.**\n\n## Availability and authentication\n\nAccess to the A/B testing API is available as part of the [Premium or Elevate plans](https://www.algolia.com/pricing).\n\nTo authenticate your API requests, add these headers:\n\n- `x-algolia-application-id`. Your Algolia application ID.\n- `x-algolia-api-key`. An API key with the necessary permissions to make the request.\n The required access control list (ACL) to make a request is listed in each endpoint's reference.\n\nYou can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account).\n\n## Rate limits\n\nYou can make up to **100 requests per minute per app** to the A/B testing API.\nThe response includes headers with information about the limits.\n\n## Parameters\n\nQuery parameters must be [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding).\nNon-ASCII characters must be UTF-8 encoded.\nPlus characters (`+`) are interpreted as spaces.\n\n## Response status and errors\n\nThe A/B testing API returns JSON responses.\nSince JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response.\n\nSuccessful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are indicated by a `5xx` status.\nError responses have a `message` property with more information.\n\n## Version\n\nThe current version of the A/B Testing API is version 2, as indicated by the `/2/` in each endpoint's URL.\n",
6
+ "version": "2.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://analytics.{region}.algolia.com",
11
+ "variables": {
12
+ "region": {
13
+ "description": "The region where your Algolia application is hosted.",
14
+ "enum": ["us", "de"],
15
+ "default": "us"
16
+ }
17
+ }
18
+ },
19
+ {
20
+ "url": "https://analytics.algolia.com"
21
+ }
22
+ ],
23
+ "security": [
24
+ {
25
+ "applicationId": [],
26
+ "apiKey": []
27
+ }
28
+ ],
29
+ "tags": [
30
+ {
31
+ "name": "abtest",
32
+ "x-displayName": "A/B testing",
33
+ "description": "Manage A/B tests.\n\nA/B tests are configurations one or more indices, usually your production index and an index with different settings that you want to test.\n"
34
+ }
35
+ ],
36
+ "externalDocs": {
37
+ "url": "https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing",
38
+ "description": "A/B testing."
39
+ },
40
+ "paths": {
41
+ "/{path}": {
42
+ "get": {
43
+ "operationId": "customGet",
44
+ "summary": "Send requests to the Algolia REST API",
45
+ "description": "This method lets you send requests to the Algolia REST API.",
46
+ "parameters": [
47
+ {
48
+ "$ref": "#/components/parameters/PathInPath"
49
+ },
50
+ {
51
+ "$ref": "#/components/parameters/Parameters"
52
+ }
53
+ ],
54
+ "responses": {
55
+ "200": {
56
+ "description": "OK",
57
+ "content": {
58
+ "application/json": {
59
+ "schema": {
60
+ "type": "object"
61
+ }
62
+ }
63
+ }
64
+ },
65
+ "400": {
66
+ "$ref": "#/components/responses/BadRequest"
67
+ },
68
+ "402": {
69
+ "$ref": "#/components/responses/FeatureNotEnabled"
70
+ },
71
+ "403": {
72
+ "$ref": "#/components/responses/MethodNotAllowed"
73
+ },
74
+ "404": {
75
+ "$ref": "#/components/responses/IndexNotFound"
76
+ }
77
+ }
78
+ },
79
+ "post": {
80
+ "operationId": "customPost",
81
+ "requestBody": {
82
+ "description": "Parameters to send with the custom request.",
83
+ "content": {
84
+ "application/json": {
85
+ "schema": {
86
+ "type": "object"
87
+ }
88
+ }
89
+ }
90
+ },
91
+ "summary": "Send requests to the Algolia REST API",
92
+ "description": "This method lets you send requests to the Algolia REST API.",
93
+ "parameters": [
94
+ {
95
+ "$ref": "#/components/parameters/PathInPath"
96
+ },
97
+ {
98
+ "$ref": "#/components/parameters/Parameters"
99
+ }
100
+ ],
101
+ "responses": {
102
+ "200": {
103
+ "description": "OK",
104
+ "content": {
105
+ "application/json": {
106
+ "schema": {
107
+ "type": "object"
108
+ }
109
+ }
110
+ }
111
+ },
112
+ "400": {
113
+ "$ref": "#/components/responses/BadRequest"
114
+ },
115
+ "402": {
116
+ "$ref": "#/components/responses/FeatureNotEnabled"
117
+ },
118
+ "403": {
119
+ "$ref": "#/components/responses/MethodNotAllowed"
120
+ },
121
+ "404": {
122
+ "$ref": "#/components/responses/IndexNotFound"
123
+ }
124
+ }
125
+ },
126
+ "put": {
127
+ "operationId": "customPut",
128
+ "requestBody": {
129
+ "description": "Parameters to send with the custom request.",
130
+ "content": {
131
+ "application/json": {
132
+ "schema": {
133
+ "type": "object"
134
+ }
135
+ }
136
+ }
137
+ },
138
+ "summary": "Send requests to the Algolia REST API",
139
+ "description": "This method lets you send requests to the Algolia REST API.",
140
+ "parameters": [
141
+ {
142
+ "$ref": "#/components/parameters/PathInPath"
143
+ },
144
+ {
145
+ "$ref": "#/components/parameters/Parameters"
146
+ }
147
+ ],
148
+ "responses": {
149
+ "200": {
150
+ "description": "OK",
151
+ "content": {
152
+ "application/json": {
153
+ "schema": {
154
+ "type": "object"
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "400": {
160
+ "$ref": "#/components/responses/BadRequest"
161
+ },
162
+ "402": {
163
+ "$ref": "#/components/responses/FeatureNotEnabled"
164
+ },
165
+ "403": {
166
+ "$ref": "#/components/responses/MethodNotAllowed"
167
+ },
168
+ "404": {
169
+ "$ref": "#/components/responses/IndexNotFound"
170
+ }
171
+ }
172
+ },
173
+ "delete": {
174
+ "operationId": "customDelete",
175
+ "summary": "Send requests to the Algolia REST API",
176
+ "description": "This method lets you send requests to the Algolia REST API.",
177
+ "parameters": [
178
+ {
179
+ "$ref": "#/components/parameters/PathInPath"
180
+ },
181
+ {
182
+ "$ref": "#/components/parameters/Parameters"
183
+ }
184
+ ],
185
+ "responses": {
186
+ "200": {
187
+ "description": "OK",
188
+ "content": {
189
+ "application/json": {
190
+ "schema": {
191
+ "type": "object"
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "400": {
197
+ "$ref": "#/components/responses/BadRequest"
198
+ },
199
+ "402": {
200
+ "$ref": "#/components/responses/FeatureNotEnabled"
201
+ },
202
+ "403": {
203
+ "$ref": "#/components/responses/MethodNotAllowed"
204
+ },
205
+ "404": {
206
+ "$ref": "#/components/responses/IndexNotFound"
207
+ }
208
+ }
209
+ }
210
+ },
211
+ "/2/abtests": {
212
+ "post": {
213
+ "tags": ["abtest"],
214
+ "operationId": "addABTests",
215
+ "x-acl": ["editSettings"],
216
+ "summary": "Create an A/B test",
217
+ "description": "Creates a new A/B test.",
218
+ "requestBody": {
219
+ "required": true,
220
+ "content": {
221
+ "application/json": {
222
+ "schema": {
223
+ "title": "addABTestsRequest",
224
+ "type": "object",
225
+ "additionalProperties": false,
226
+ "properties": {
227
+ "name": {
228
+ "$ref": "#/components/schemas/name"
229
+ },
230
+ "variants": {
231
+ "type": "array",
232
+ "description": "A/B test variants.",
233
+ "minItems": 2,
234
+ "maxItems": 2,
235
+ "items": {
236
+ "$ref": "#/components/schemas/AddABTestsVariant"
237
+ }
238
+ },
239
+ "endAt": {
240
+ "$ref": "#/components/schemas/endAt"
241
+ }
242
+ },
243
+ "required": ["name", "variants", "endAt"]
244
+ }
245
+ }
246
+ }
247
+ },
248
+ "responses": {
249
+ "200": {
250
+ "description": "OK",
251
+ "headers": {
252
+ "x-ratelimit-limit": {
253
+ "$ref": "#/components/headers/x-ratelimit-limit"
254
+ },
255
+ "x-ratelimit-remaining": {
256
+ "$ref": "#/components/headers/x-ratelimit-remaining"
257
+ },
258
+ "x-ratelimit-reset": {
259
+ "$ref": "#/components/headers/x-ratelimit-reset"
260
+ }
261
+ },
262
+ "content": {
263
+ "application/json": {
264
+ "schema": {
265
+ "$ref": "#/components/schemas/ABTestResponse"
266
+ }
267
+ }
268
+ }
269
+ },
270
+ "400": {
271
+ "$ref": "#/components/responses/BadRequest"
272
+ },
273
+ "402": {
274
+ "$ref": "#/components/responses/FeatureNotEnabled"
275
+ },
276
+ "403": {
277
+ "$ref": "#/components/responses/MethodNotAllowed"
278
+ },
279
+ "404": {
280
+ "$ref": "#/components/responses/IndexNotFound"
281
+ }
282
+ }
283
+ },
284
+ "get": {
285
+ "tags": ["abtest"],
286
+ "operationId": "listABTests",
287
+ "x-mcp-tool": true,
288
+ "x-acl": ["analytics"],
289
+ "summary": "List all A/B tests",
290
+ "description": "Lists all A/B tests you configured for this application.",
291
+ "parameters": [
292
+ {
293
+ "name": "offset",
294
+ "in": "query",
295
+ "description": "Position of the first item to return.",
296
+ "required": false,
297
+ "schema": {
298
+ "type": "integer",
299
+ "default": 0,
300
+ "minimum": 0
301
+ }
302
+ },
303
+ {
304
+ "name": "limit",
305
+ "in": "query",
306
+ "description": "Number of items to return.",
307
+ "required": false,
308
+ "schema": {
309
+ "type": "integer",
310
+ "default": 10
311
+ }
312
+ },
313
+ {
314
+ "name": "indexPrefix",
315
+ "in": "query",
316
+ "description": "Index name prefix. Only A/B tests for indices starting with this string are included in the response.",
317
+ "example": "dev_",
318
+ "schema": {
319
+ "type": "string"
320
+ }
321
+ },
322
+ {
323
+ "name": "indexSuffix",
324
+ "in": "query",
325
+ "description": "Index name suffix. Only A/B tests for indices ending with this string are included in the response.",
326
+ "example": "_development",
327
+ "schema": {
328
+ "type": "string"
329
+ }
330
+ }
331
+ ],
332
+ "responses": {
333
+ "200": {
334
+ "description": "OK",
335
+ "headers": {
336
+ "x-ratelimit-limit": {
337
+ "$ref": "#/components/headers/x-ratelimit-limit"
338
+ },
339
+ "x-ratelimit-remaining": {
340
+ "$ref": "#/components/headers/x-ratelimit-remaining"
341
+ },
342
+ "x-ratelimit-reset": {
343
+ "$ref": "#/components/headers/x-ratelimit-reset"
344
+ }
345
+ },
346
+ "content": {
347
+ "application/json": {
348
+ "schema": {
349
+ "title": "listABTestsResponse",
350
+ "type": "object",
351
+ "additionalProperties": false,
352
+ "properties": {
353
+ "abtests": {
354
+ "$ref": "#/components/schemas/ABTests"
355
+ },
356
+ "count": {
357
+ "type": "integer",
358
+ "description": "Number of A/B tests.",
359
+ "example": 10
360
+ },
361
+ "total": {
362
+ "type": "integer",
363
+ "description": "Number of retrievable A/B tests.",
364
+ "example": 12
365
+ }
366
+ },
367
+ "required": ["abtests", "count", "total"]
368
+ }
369
+ }
370
+ }
371
+ },
372
+ "400": {
373
+ "$ref": "#/components/responses/BadRequest"
374
+ },
375
+ "402": {
376
+ "$ref": "#/components/responses/FeatureNotEnabled"
377
+ },
378
+ "403": {
379
+ "$ref": "#/components/responses/MethodNotAllowed"
380
+ },
381
+ "404": {
382
+ "$ref": "#/components/responses/IndexNotFound"
383
+ }
384
+ }
385
+ }
386
+ },
387
+ "/2/abtests/{id}": {
388
+ "get": {
389
+ "tags": ["abtest"],
390
+ "operationId": "getABTest",
391
+ "x-acl": ["analytics"],
392
+ "summary": "Retrieve A/B test details",
393
+ "description": "Retrieves the details for an A/B test by its ID.",
394
+ "parameters": [
395
+ {
396
+ "$ref": "#/components/parameters/ID"
397
+ }
398
+ ],
399
+ "responses": {
400
+ "200": {
401
+ "description": "OK",
402
+ "headers": {
403
+ "x-ratelimit-limit": {
404
+ "$ref": "#/components/headers/x-ratelimit-limit"
405
+ },
406
+ "x-ratelimit-remaining": {
407
+ "$ref": "#/components/headers/x-ratelimit-remaining"
408
+ },
409
+ "x-ratelimit-reset": {
410
+ "$ref": "#/components/headers/x-ratelimit-reset"
411
+ }
412
+ },
413
+ "content": {
414
+ "application/json": {
415
+ "schema": {
416
+ "$ref": "#/components/schemas/ABTest"
417
+ }
418
+ }
419
+ }
420
+ },
421
+ "400": {
422
+ "$ref": "#/components/responses/BadRequest"
423
+ },
424
+ "402": {
425
+ "$ref": "#/components/responses/FeatureNotEnabled"
426
+ },
427
+ "403": {
428
+ "$ref": "#/components/responses/MethodNotAllowed"
429
+ },
430
+ "404": {
431
+ "$ref": "#/components/responses/IndexNotFound"
432
+ }
433
+ }
434
+ },
435
+ "delete": {
436
+ "tags": ["abtest"],
437
+ "operationId": "deleteABTest",
438
+ "x-acl": ["editSettings"],
439
+ "summary": "Delete an A/B test",
440
+ "description": "Deletes an A/B test by its ID.",
441
+ "parameters": [
442
+ {
443
+ "$ref": "#/components/parameters/ID"
444
+ }
445
+ ],
446
+ "responses": {
447
+ "200": {
448
+ "description": "OK",
449
+ "headers": {
450
+ "x-ratelimit-limit": {
451
+ "$ref": "#/components/headers/x-ratelimit-limit"
452
+ },
453
+ "x-ratelimit-remaining": {
454
+ "$ref": "#/components/headers/x-ratelimit-remaining"
455
+ },
456
+ "x-ratelimit-reset": {
457
+ "$ref": "#/components/headers/x-ratelimit-reset"
458
+ }
459
+ },
460
+ "content": {
461
+ "application/json": {
462
+ "schema": {
463
+ "$ref": "#/components/schemas/ABTestResponse"
464
+ }
465
+ }
466
+ }
467
+ },
468
+ "400": {
469
+ "$ref": "#/components/responses/BadRequest"
470
+ },
471
+ "402": {
472
+ "$ref": "#/components/responses/FeatureNotEnabled"
473
+ },
474
+ "403": {
475
+ "$ref": "#/components/responses/MethodNotAllowed"
476
+ },
477
+ "404": {
478
+ "$ref": "#/components/responses/IndexNotFound"
479
+ }
480
+ }
481
+ }
482
+ },
483
+ "/2/abtests/{id}/stop": {
484
+ "post": {
485
+ "tags": ["abtest"],
486
+ "operationId": "stopABTest",
487
+ "x-acl": ["editSettings"],
488
+ "summary": "Stop an A/B test",
489
+ "description": "Stops an A/B test by its ID.\n\nYou can't restart stopped A/B tests.\n",
490
+ "parameters": [
491
+ {
492
+ "$ref": "#/components/parameters/ID"
493
+ }
494
+ ],
495
+ "responses": {
496
+ "200": {
497
+ "description": "OK",
498
+ "headers": {
499
+ "x-ratelimit-limit": {
500
+ "$ref": "#/components/headers/x-ratelimit-limit"
501
+ },
502
+ "x-ratelimit-remaining": {
503
+ "$ref": "#/components/headers/x-ratelimit-remaining"
504
+ },
505
+ "x-ratelimit-reset": {
506
+ "$ref": "#/components/headers/x-ratelimit-reset"
507
+ }
508
+ },
509
+ "content": {
510
+ "application/json": {
511
+ "schema": {
512
+ "$ref": "#/components/schemas/ABTestResponse"
513
+ }
514
+ }
515
+ }
516
+ },
517
+ "400": {
518
+ "$ref": "#/components/responses/BadRequest"
519
+ },
520
+ "402": {
521
+ "$ref": "#/components/responses/FeatureNotEnabled"
522
+ },
523
+ "403": {
524
+ "$ref": "#/components/responses/MethodNotAllowed"
525
+ },
526
+ "404": {
527
+ "$ref": "#/components/responses/IndexNotFound"
528
+ }
529
+ }
530
+ }
531
+ },
532
+ "/2/abtests/schedule": {
533
+ "post": {
534
+ "tags": ["abtest"],
535
+ "operationId": "scheduleABTest",
536
+ "x-acl": ["editSettings"],
537
+ "summary": "Schedule an A/B test",
538
+ "description": "Schedule an A/B test to be started at a later time.\n",
539
+ "requestBody": {
540
+ "required": true,
541
+ "content": {
542
+ "application/json": {
543
+ "schema": {
544
+ "title": "scheduleABTestsRequest",
545
+ "type": "object",
546
+ "additionalProperties": false,
547
+ "properties": {
548
+ "name": {
549
+ "$ref": "#/components/schemas/name"
550
+ },
551
+ "variants": {
552
+ "type": "array",
553
+ "description": "A/B test variants.",
554
+ "minItems": 2,
555
+ "maxItems": 2,
556
+ "items": {
557
+ "$ref": "#/components/schemas/AddABTestsVariant"
558
+ }
559
+ },
560
+ "scheduledAt": {
561
+ "$ref": "#/components/schemas/scheduledAt"
562
+ },
563
+ "endAt": {
564
+ "$ref": "#/components/schemas/endAt"
565
+ }
566
+ },
567
+ "required": ["name", "variants", "scheduledAt", "endAt"]
568
+ }
569
+ }
570
+ }
571
+ },
572
+ "responses": {
573
+ "200": {
574
+ "description": "OK",
575
+ "headers": {
576
+ "x-ratelimit-limit": {
577
+ "$ref": "#/components/headers/x-ratelimit-limit"
578
+ },
579
+ "x-ratelimit-remaining": {
580
+ "$ref": "#/components/headers/x-ratelimit-remaining"
581
+ },
582
+ "x-ratelimit-reset": {
583
+ "$ref": "#/components/headers/x-ratelimit-reset"
584
+ }
585
+ },
586
+ "content": {
587
+ "application/json": {
588
+ "schema": {
589
+ "$ref": "#/components/schemas/ScheduleABTestResponse"
590
+ }
591
+ }
592
+ }
593
+ },
594
+ "400": {
595
+ "$ref": "#/components/responses/BadRequest"
596
+ },
597
+ "402": {
598
+ "$ref": "#/components/responses/FeatureNotEnabled"
599
+ },
600
+ "403": {
601
+ "$ref": "#/components/responses/MethodNotAllowed"
602
+ },
603
+ "404": {
604
+ "$ref": "#/components/responses/IndexNotFound"
605
+ }
606
+ }
607
+ }
608
+ },
609
+ "/2/abtests/estimate": {
610
+ "post": {
611
+ "tags": ["abtest"],
612
+ "operationId": "estimateABTest",
613
+ "x-acl": ["analytics"],
614
+ "summary": "Estimate the sample size and duration of an A/B test",
615
+ "description": "Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.",
616
+ "requestBody": {
617
+ "required": true,
618
+ "content": {
619
+ "application/json": {
620
+ "schema": {
621
+ "title": "estimateABTestRequest",
622
+ "type": "object",
623
+ "additionalProperties": false,
624
+ "properties": {
625
+ "configuration": {
626
+ "title": "estimateConfiguration",
627
+ "type": "object",
628
+ "description": "A/B test configuration for estimating the sample size and duration using minimum detectable effect.",
629
+ "properties": {
630
+ "outliers": {
631
+ "$ref": "#/components/schemas/Outliers"
632
+ },
633
+ "emptySearch": {
634
+ "$ref": "#/components/schemas/EmptySearch"
635
+ },
636
+ "minimumDetectableEffect": {
637
+ "$ref": "#/components/schemas/MinimumDetectableEffect"
638
+ }
639
+ },
640
+ "required": ["minimumDetectableEffect"]
641
+ },
642
+ "variants": {
643
+ "type": "array",
644
+ "description": "A/B test variants.",
645
+ "minItems": 2,
646
+ "maxItems": 2,
647
+ "items": {
648
+ "$ref": "#/components/schemas/AddABTestsVariant"
649
+ }
650
+ }
651
+ },
652
+ "required": ["configuration", "variants"]
653
+ }
654
+ }
655
+ }
656
+ },
657
+ "responses": {
658
+ "200": {
659
+ "description": "OK",
660
+ "headers": {
661
+ "x-ratelimit-limit": {
662
+ "$ref": "#/components/headers/x-ratelimit-limit"
663
+ },
664
+ "x-ratelimit-remaining": {
665
+ "$ref": "#/components/headers/x-ratelimit-remaining"
666
+ },
667
+ "x-ratelimit-reset": {
668
+ "$ref": "#/components/headers/x-ratelimit-reset"
669
+ }
670
+ },
671
+ "content": {
672
+ "application/json": {
673
+ "schema": {
674
+ "$ref": "#/components/schemas/EstimateABTestResponse"
675
+ }
676
+ }
677
+ }
678
+ },
679
+ "400": {
680
+ "$ref": "#/components/responses/BadRequest"
681
+ },
682
+ "402": {
683
+ "$ref": "#/components/responses/FeatureNotEnabled"
684
+ },
685
+ "403": {
686
+ "$ref": "#/components/responses/MethodNotAllowed"
687
+ },
688
+ "404": {
689
+ "$ref": "#/components/responses/IndexNotFound"
690
+ }
691
+ }
692
+ }
693
+ },
694
+ "/setClientApiKey": {
695
+ "get": {
696
+ "x-helper": true,
697
+ "x-asynchronous-helper": false,
698
+ "tags": ["Api Key"],
699
+ "operationId": "setClientApiKey",
700
+ "summary": "Switch the API key used to authenticate requests",
701
+ "description": "Switch the API key used to authenticate requests.\n",
702
+ "parameters": [
703
+ {
704
+ "in": "query",
705
+ "name": "apiKey",
706
+ "description": "API key to be used from now on.",
707
+ "required": true,
708
+ "schema": {
709
+ "type": "string"
710
+ }
711
+ }
712
+ ],
713
+ "responses": {
714
+ "204": {
715
+ "description": "No content."
716
+ }
717
+ }
718
+ }
719
+ }
720
+ },
721
+ "components": {
722
+ "securitySchemes": {
723
+ "applicationId": {
724
+ "type": "apiKey",
725
+ "in": "header",
726
+ "name": "x-algolia-application-id",
727
+ "description": "Your Algolia application ID."
728
+ },
729
+ "apiKey": {
730
+ "type": "apiKey",
731
+ "in": "header",
732
+ "name": "x-algolia-api-key",
733
+ "description": "Your Algolia API key with the necessary permissions to make the request.\nPermissions are controlled through access control lists (ACL) and access restrictions.\nThe required ACL to make a request is listed in each endpoint's reference.\n"
734
+ }
735
+ },
736
+ "parameters": {
737
+ "PathInPath": {
738
+ "name": "path",
739
+ "in": "path",
740
+ "description": "Path of the endpoint, for example `1/newFeature`.",
741
+ "required": true,
742
+ "schema": {
743
+ "type": "string",
744
+ "example": "/keys"
745
+ }
746
+ },
747
+ "Parameters": {
748
+ "name": "parameters",
749
+ "in": "query",
750
+ "description": "Query parameters to apply to the current query.",
751
+ "schema": {
752
+ "type": "object",
753
+ "additionalProperties": true
754
+ }
755
+ },
756
+ "ID": {
757
+ "in": "path",
758
+ "name": "id",
759
+ "description": "Unique A/B test identifier.",
760
+ "required": true,
761
+ "schema": {
762
+ "$ref": "#/components/schemas/abTestID"
763
+ }
764
+ }
765
+ },
766
+ "schemas": {
767
+ "ErrorBase": {
768
+ "description": "Error.",
769
+ "type": "object",
770
+ "x-keep-model": true,
771
+ "additionalProperties": true,
772
+ "properties": {
773
+ "message": {
774
+ "type": "string",
775
+ "example": "Invalid Application-Id or API-Key"
776
+ }
777
+ }
778
+ },
779
+ "abTestID": {
780
+ "type": "integer",
781
+ "description": "Unique A/B test identifier.",
782
+ "example": 224
783
+ },
784
+ "updatedAt": {
785
+ "type": "string",
786
+ "description": "Date and time when the A/B test was last updated, in RFC 3339 format.",
787
+ "example": "2023-06-15T15:06:44.400601Z"
788
+ },
789
+ "createdAt": {
790
+ "type": "string",
791
+ "description": "Date and time when the A/B test was created, in RFC 3339 format.",
792
+ "example": "2023-06-15T15:06:04.249906Z"
793
+ },
794
+ "endAt": {
795
+ "type": "string",
796
+ "description": "End date and time of the A/B test, in RFC 3339 format.",
797
+ "example": "2023-06-17T00:00:00Z"
798
+ },
799
+ "stoppedAt": {
800
+ "type": "string",
801
+ "description": "Date and time when the A/B test was stopped, in RFC 3339 format.",
802
+ "example": "2023-06-15T15:06:44.400601Z",
803
+ "nullable": true
804
+ },
805
+ "name": {
806
+ "type": "string",
807
+ "description": "A/B test name.",
808
+ "example": "Custom ranking sales rank test"
809
+ },
810
+ "Status": {
811
+ "type": "string",
812
+ "description": "A/B test status.\n\n- `active`. The A/B test is live and search traffic is split between the two variants.\n- `stopped`. You stopped the A/B test. The A/B test data is still available for analysis.\n- `expired`. The A/B test was automatically stopped after reaching its end date.\n- `failed`. Creating the A/B test failed.\n",
813
+ "example": "active",
814
+ "enum": ["active", "stopped", "expired", "failed"]
815
+ },
816
+ "currency": {
817
+ "type": "object",
818
+ "properties": {
819
+ "currency": {
820
+ "type": "string",
821
+ "description": "Currency code.",
822
+ "example": "USD"
823
+ },
824
+ "revenue": {
825
+ "type": "number",
826
+ "format": "double",
827
+ "description": "Revenue for this currency.",
828
+ "example": 120
829
+ },
830
+ "mean": {
831
+ "type": "number",
832
+ "format": "double",
833
+ "description": "Mean for this currency.",
834
+ "example": 53.7
835
+ },
836
+ "standardDeviation": {
837
+ "type": "number",
838
+ "format": "double",
839
+ "description": "Standard deviation for this currency.",
840
+ "example": 12.3
841
+ },
842
+ "winsorizedAmount": {
843
+ "type": "number",
844
+ "format": "double",
845
+ "description": "The amount of revenue for this currency that was removed after capping purchase amounts to the 95th percentile.",
846
+ "example": 23
847
+ }
848
+ }
849
+ },
850
+ "currencies": {
851
+ "type": "object",
852
+ "description": "A/B test currencies.",
853
+ "example": {
854
+ "USD": {
855
+ "currency": "USD",
856
+ "revenue": 120,
857
+ "mean": 53.7,
858
+ "standardDeviation": 12.3,
859
+ "winsorizedAmount": 23
860
+ },
861
+ "EUR": {
862
+ "currency": "EUR",
863
+ "revenue": 100,
864
+ "mean": 43.7,
865
+ "standardDeviation": 10.3,
866
+ "winsorizedAmount": 10
867
+ }
868
+ },
869
+ "additionalProperties": {
870
+ "$ref": "#/components/schemas/currency",
871
+ "x-additionalPropertiesName": "currency code"
872
+ }
873
+ },
874
+ "description": {
875
+ "type": "string",
876
+ "description": "Description for this variant.",
877
+ "example": "Current production index"
878
+ },
879
+ "filterEffects": {
880
+ "type": "object",
881
+ "description": "A/B test filter effects resulting from configuration settings.",
882
+ "properties": {
883
+ "outliers": {
884
+ "title": "outliersFilter",
885
+ "type": "object",
886
+ "description": "Outliers removed from the A/B test as a result of configuration settings.",
887
+ "example": {
888
+ "usersCount": 1,
889
+ "trackedSearchesCount": 237
890
+ },
891
+ "properties": {
892
+ "usersCount": {
893
+ "type": "integer",
894
+ "description": "Number of users removed from the A/B test.",
895
+ "example": 1
896
+ },
897
+ "trackedSearchesCount": {
898
+ "type": "integer",
899
+ "description": "Number of tracked searches removed from the A/B test.",
900
+ "example": 237
901
+ }
902
+ }
903
+ },
904
+ "emptySearch": {
905
+ "title": "emptySearchFilter",
906
+ "type": "object",
907
+ "description": "Empty searches removed from the A/B test as a result of configuration settings.",
908
+ "example": {
909
+ "usersCount": 1,
910
+ "trackedSearchesCount": 237
911
+ },
912
+ "properties": {
913
+ "usersCount": {
914
+ "type": "integer",
915
+ "description": "Number of users removed from the A/B test.",
916
+ "example": 1
917
+ },
918
+ "trackedSearchesCount": {
919
+ "type": "integer",
920
+ "description": "Number of tracked searches removed from the A/B test.",
921
+ "example": 237
922
+ }
923
+ }
924
+ }
925
+ }
926
+ },
927
+ "index": {
928
+ "type": "string",
929
+ "description": "Index name of the A/B test variant (case-sensitive).",
930
+ "example": "delcourt_production"
931
+ },
932
+ "trackedSearchCount": {
933
+ "type": "integer",
934
+ "example": 2,
935
+ "default": 0,
936
+ "description": "Number of tracked searches. Tracked searches are search requests where the `clickAnalytics` parameter is true."
937
+ },
938
+ "trafficPercentage": {
939
+ "type": "integer",
940
+ "description": "Percentage of search requests each variant receives.",
941
+ "minimum": 0,
942
+ "maximum": 100,
943
+ "example": 60
944
+ },
945
+ "variant": {
946
+ "type": "object",
947
+ "additionalProperties": false,
948
+ "properties": {
949
+ "addToCartCount": {
950
+ "type": "integer",
951
+ "description": "Number of add-to-cart events for this variant.",
952
+ "example": 0
953
+ },
954
+ "addToCartRate": {
955
+ "oneOf": [
956
+ {
957
+ "type": "number",
958
+ "format": "double",
959
+ "description": "[Add-to-cart rate](https://www.algolia.com/doc/guides/search-analytics/concepts/metrics/#add-to-cart-rate) for this variant.\n",
960
+ "example": 0
961
+ },
962
+ {
963
+ "type": "null"
964
+ }
965
+ ]
966
+ },
967
+ "averageClickPosition": {
968
+ "oneOf": [
969
+ {
970
+ "type": "number",
971
+ "format": "double",
972
+ "description": "[Average click position](https://www.algolia.com/doc/guides/search-analytics/concepts/metrics/#click-position) for this variant.\n",
973
+ "example": 29.12342
974
+ },
975
+ {
976
+ "type": "null"
977
+ }
978
+ ]
979
+ },
980
+ "clickCount": {
981
+ "type": "integer",
982
+ "description": "Number of click events for this variant.",
983
+ "example": 65131
984
+ },
985
+ "clickThroughRate": {
986
+ "oneOf": [
987
+ {
988
+ "type": "number",
989
+ "format": "double",
990
+ "description": "[Click-through rate](https://www.algolia.com/doc/guides/search-analytics/concepts/metrics/#click-through-rate) for this variant.\n",
991
+ "example": 0.22219857724813036
992
+ },
993
+ {
994
+ "type": "null"
995
+ }
996
+ ]
997
+ },
998
+ "conversionCount": {
999
+ "type": "integer",
1000
+ "description": "Number of click events for this variant.",
1001
+ "example": 4785
1002
+ },
1003
+ "conversionRate": {
1004
+ "oneOf": [
1005
+ {
1006
+ "type": "number",
1007
+ "format": "double",
1008
+ "description": "[Conversion rate](https://www.algolia.com/doc/guides/search-analytics/concepts/metrics/#conversion-rate) for this variant.\n",
1009
+ "example": 0.14546725846658964
1010
+ },
1011
+ {
1012
+ "type": "null"
1013
+ }
1014
+ ]
1015
+ },
1016
+ "currencies": {
1017
+ "$ref": "#/components/schemas/currencies"
1018
+ },
1019
+ "description": {
1020
+ "$ref": "#/components/schemas/description"
1021
+ },
1022
+ "estimatedSampleSize": {
1023
+ "type": "integer",
1024
+ "description": "Estimated number of searches required to achieve the desired statistical significance.\n\nThe A/B test configuration must include a `mininmumDetectableEffect` setting for this number to be included in the response.\n",
1025
+ "example": 0
1026
+ },
1027
+ "filterEffects": {
1028
+ "$ref": "#/components/schemas/filterEffects"
1029
+ },
1030
+ "index": {
1031
+ "$ref": "#/components/schemas/index"
1032
+ },
1033
+ "noResultCount": {
1034
+ "oneOf": [
1035
+ {
1036
+ "type": "integer",
1037
+ "description": "Number of [searches without results](https://www.algolia.com/doc/guides/search-analytics/concepts/metrics/#searches-without-results) for this variant.",
1038
+ "example": 0
1039
+ },
1040
+ {
1041
+ "type": "null"
1042
+ }
1043
+ ]
1044
+ },
1045
+ "purchaseCount": {
1046
+ "type": "integer",
1047
+ "description": "Number of purchase events for this variant.",
1048
+ "example": 0
1049
+ },
1050
+ "purchaseRate": {
1051
+ "oneOf": [
1052
+ {
1053
+ "type": "number",
1054
+ "format": "double",
1055
+ "description": "[Purchase rate](https://www.algolia.com/doc/guides/search-analytics/concepts/metrics/#purchase-rate) for this variant.\n",
1056
+ "example": 0
1057
+ },
1058
+ {
1059
+ "type": "null"
1060
+ }
1061
+ ]
1062
+ },
1063
+ "searchCount": {
1064
+ "oneOf": [
1065
+ {
1066
+ "type": "integer",
1067
+ "description": "Number of searches for this variant.",
1068
+ "example": 86269
1069
+ },
1070
+ {
1071
+ "type": "null"
1072
+ }
1073
+ ]
1074
+ },
1075
+ "trackedSearchCount": {
1076
+ "$ref": "#/components/schemas/trackedSearchCount"
1077
+ },
1078
+ "trafficPercentage": {
1079
+ "$ref": "#/components/schemas/trafficPercentage"
1080
+ },
1081
+ "userCount": {
1082
+ "oneOf": [
1083
+ {
1084
+ "type": "integer",
1085
+ "description": "Number of users that made searches to this variant.",
1086
+ "example": 55501
1087
+ },
1088
+ {
1089
+ "type": "null"
1090
+ }
1091
+ ]
1092
+ },
1093
+ "trackedUserCount": {
1094
+ "oneOf": [
1095
+ {
1096
+ "type": "integer",
1097
+ "description": "Number of users that made tracked searches to this variant.",
1098
+ "example": 55501
1099
+ },
1100
+ {
1101
+ "type": "null"
1102
+ }
1103
+ ]
1104
+ }
1105
+ },
1106
+ "required": [
1107
+ "userCount",
1108
+ "trackedUserCount",
1109
+ "trafficPercentage",
1110
+ "searchCount",
1111
+ "noResultCount",
1112
+ "index",
1113
+ "conversionCount",
1114
+ "clickCount",
1115
+ "addToCartCount",
1116
+ "purchaseCount"
1117
+ ]
1118
+ },
1119
+ "variants": {
1120
+ "type": "array",
1121
+ "description": "A/B test variants.\n\nThe first variant is your _control_ index, typically your production index.\nThe second variant is an index with changed settings that you want to test against the control.\n",
1122
+ "items": {
1123
+ "$ref": "#/components/schemas/variant"
1124
+ }
1125
+ },
1126
+ "Outliers": {
1127
+ "type": "object",
1128
+ "description": "Configuration for handling outliers.",
1129
+ "properties": {
1130
+ "exclude": {
1131
+ "type": "boolean",
1132
+ "description": "Whether to exclude outliers when calculating A/B test results.",
1133
+ "default": true
1134
+ }
1135
+ }
1136
+ },
1137
+ "EmptySearch": {
1138
+ "type": "object",
1139
+ "description": "Configuration for handling empty searches.",
1140
+ "properties": {
1141
+ "exclude": {
1142
+ "type": "boolean",
1143
+ "description": "Whether to exclude empty searches when calculating A/B test results."
1144
+ }
1145
+ }
1146
+ },
1147
+ "EffectMetric": {
1148
+ "type": "string",
1149
+ "description": "Metric for which you want to detect the smallest relative difference.",
1150
+ "enum": ["addToCartRate", "clickThroughRate", "conversionRate", "purchaseRate"]
1151
+ },
1152
+ "MinimumDetectableEffect": {
1153
+ "type": "object",
1154
+ "description": "Configuration for the smallest difference between test variants you want to detect.",
1155
+ "properties": {
1156
+ "size": {
1157
+ "type": "number",
1158
+ "format": "double",
1159
+ "minimum": 0,
1160
+ "maximum": 1,
1161
+ "description": "Smallest difference in an observable metric between variants.\nFor example, to detect a 10% difference between variants, set this value to 0.1.\n"
1162
+ },
1163
+ "metric": {
1164
+ "$ref": "#/components/schemas/EffectMetric"
1165
+ }
1166
+ },
1167
+ "required": ["size", "metric"]
1168
+ },
1169
+ "ABTestConfiguration": {
1170
+ "title": "configuration",
1171
+ "type": "object",
1172
+ "description": "A/B test configuration.",
1173
+ "properties": {
1174
+ "outliers": {
1175
+ "$ref": "#/components/schemas/Outliers"
1176
+ },
1177
+ "emptySearch": {
1178
+ "$ref": "#/components/schemas/EmptySearch"
1179
+ },
1180
+ "minimumDetectableEffect": {
1181
+ "$ref": "#/components/schemas/MinimumDetectableEffect"
1182
+ }
1183
+ }
1184
+ },
1185
+ "ABTest": {
1186
+ "type": "object",
1187
+ "additionalProperties": false,
1188
+ "properties": {
1189
+ "abTestID": {
1190
+ "$ref": "#/components/schemas/abTestID"
1191
+ },
1192
+ "clickSignificance": {
1193
+ "description": "A/B test significance calculated from click events.\n\nValues of 0.95 or higher can be considered significant,\nthat is, the difference between A and B variants is _not_ due to random variations.\nLower values have a.\n",
1194
+ "oneOf": [
1195
+ {
1196
+ "type": "number",
1197
+ "format": "double",
1198
+ "example": 1
1199
+ },
1200
+ {
1201
+ "type": "null"
1202
+ }
1203
+ ]
1204
+ },
1205
+ "conversionSignificance": {
1206
+ "description": "A/B test significance calculated from conversion events.\n\nValues of 0.95 or higher can be considered significant,\nthat is, the difference between A and B variants is _not_ due to random variations.\n",
1207
+ "oneOf": [
1208
+ {
1209
+ "type": "number",
1210
+ "format": "double",
1211
+ "example": 1
1212
+ },
1213
+ {
1214
+ "type": "null"
1215
+ }
1216
+ ]
1217
+ },
1218
+ "addToCartSignificance": {
1219
+ "description": "A/B test significance calculated from add-to-cart events.\n\nValues of 0.95 or higher can be considered significant,\nthat is, the difference between A and B variants is _not_ due to random variations.\n",
1220
+ "oneOf": [
1221
+ {
1222
+ "type": "number",
1223
+ "format": "double",
1224
+ "example": 1
1225
+ },
1226
+ {
1227
+ "type": "null"
1228
+ }
1229
+ ]
1230
+ },
1231
+ "purchaseSignificance": {
1232
+ "description": "A/B test significance calculated from purchase events.\n\nValues of 0.95 or higher can be considered significant,\nthat is, the difference between A and B variants is _not_ due to random variations.\n",
1233
+ "oneOf": [
1234
+ {
1235
+ "type": "number",
1236
+ "format": "double",
1237
+ "example": 1
1238
+ },
1239
+ {
1240
+ "type": "null"
1241
+ }
1242
+ ]
1243
+ },
1244
+ "revenueSignificance": {
1245
+ "description": "A/B test significance calculated from revenue data.\n\nValues of 0.95 or higher can be considered significant,\nthat is, the difference between A and B variants is _not_ due to random variations.\n",
1246
+ "oneOf": [
1247
+ {
1248
+ "type": "object",
1249
+ "additionalProperties": {
1250
+ "type": "number",
1251
+ "format": "double",
1252
+ "x-additionalPropertiesName": "currency code"
1253
+ },
1254
+ "example": {
1255
+ "USD": 1,
1256
+ "EUR": 0.87
1257
+ }
1258
+ },
1259
+ {
1260
+ "type": "null"
1261
+ }
1262
+ ]
1263
+ },
1264
+ "updatedAt": {
1265
+ "$ref": "#/components/schemas/updatedAt"
1266
+ },
1267
+ "createdAt": {
1268
+ "$ref": "#/components/schemas/createdAt"
1269
+ },
1270
+ "endAt": {
1271
+ "$ref": "#/components/schemas/endAt"
1272
+ },
1273
+ "stoppedAt": {
1274
+ "$ref": "#/components/schemas/stoppedAt"
1275
+ },
1276
+ "name": {
1277
+ "$ref": "#/components/schemas/name"
1278
+ },
1279
+ "status": {
1280
+ "$ref": "#/components/schemas/Status"
1281
+ },
1282
+ "variants": {
1283
+ "$ref": "#/components/schemas/variants"
1284
+ },
1285
+ "configuration": {
1286
+ "$ref": "#/components/schemas/ABTestConfiguration"
1287
+ }
1288
+ },
1289
+ "required": ["status", "name", "createdAt", "endAt", "updatedAt", "abTestID", "variants"]
1290
+ },
1291
+ "ABTests": {
1292
+ "oneOf": [
1293
+ {
1294
+ "type": "array",
1295
+ "description": "The list of A/B tests, null if no A/B tests are configured for this application.",
1296
+ "items": {
1297
+ "$ref": "#/components/schemas/ABTest"
1298
+ }
1299
+ },
1300
+ {
1301
+ "type": "null"
1302
+ }
1303
+ ]
1304
+ },
1305
+ "abTestsVariant": {
1306
+ "type": "object",
1307
+ "additionalProperties": false,
1308
+ "properties": {
1309
+ "index": {
1310
+ "$ref": "#/components/schemas/index"
1311
+ },
1312
+ "trafficPercentage": {
1313
+ "$ref": "#/components/schemas/trafficPercentage"
1314
+ },
1315
+ "description": {
1316
+ "$ref": "#/components/schemas/description"
1317
+ }
1318
+ },
1319
+ "required": ["index", "trafficPercentage"]
1320
+ },
1321
+ "customSearchParams": {
1322
+ "type": "object",
1323
+ "description": "Search parameters to add to the test variant.\nOnly use this parameter if the two variants use the same index.\n",
1324
+ "example": {
1325
+ "typoTolerance": false,
1326
+ "synonyms": false
1327
+ },
1328
+ "additionalProperties": false,
1329
+ "properties": {
1330
+ "customSearchParameters": {
1331
+ "type": "object"
1332
+ }
1333
+ },
1334
+ "required": ["customSearchParameters"],
1335
+ "x-discriminator-fields": ["customSearchParameters"]
1336
+ },
1337
+ "abTestsVariantSearchParams": {
1338
+ "allOf": [
1339
+ {
1340
+ "$ref": "#/components/schemas/abTestsVariant"
1341
+ },
1342
+ {
1343
+ "$ref": "#/components/schemas/customSearchParams"
1344
+ }
1345
+ ]
1346
+ },
1347
+ "AddABTestsVariant": {
1348
+ "oneOf": [
1349
+ {
1350
+ "$ref": "#/components/schemas/abTestsVariant"
1351
+ },
1352
+ {
1353
+ "$ref": "#/components/schemas/abTestsVariantSearchParams"
1354
+ }
1355
+ ]
1356
+ },
1357
+ "taskID": {
1358
+ "type": "integer",
1359
+ "format": "int64",
1360
+ "example": 1514562690001,
1361
+ "description": "Unique identifier of a task.\n\nA successful API response means that a task was added to a queue.\nIt might not run immediately.\nYou can check the task's progress with the [`task` operation](https://www.algolia.com/doc/rest-api/search/get-task) and this task ID.\n"
1362
+ },
1363
+ "ABTestResponse": {
1364
+ "type": "object",
1365
+ "additionalProperties": false,
1366
+ "properties": {
1367
+ "index": {
1368
+ "$ref": "#/components/schemas/index"
1369
+ },
1370
+ "abTestID": {
1371
+ "$ref": "#/components/schemas/abTestID"
1372
+ },
1373
+ "taskID": {
1374
+ "$ref": "#/components/schemas/taskID"
1375
+ }
1376
+ },
1377
+ "required": ["abTestID", "index", "taskID"]
1378
+ },
1379
+ "scheduledAt": {
1380
+ "type": "string",
1381
+ "description": "Date and time when the A/B test is scheduled to start, in RFC 3339 format.",
1382
+ "example": "2023-06-15T15:06:44.400601Z"
1383
+ },
1384
+ "abTestScheduleID": {
1385
+ "type": "integer",
1386
+ "description": "Unique scheduled A/B test identifier.",
1387
+ "example": 224
1388
+ },
1389
+ "ScheduleABTestResponse": {
1390
+ "type": "object",
1391
+ "additionalProperties": false,
1392
+ "properties": {
1393
+ "abTestScheduleID": {
1394
+ "$ref": "#/components/schemas/abTestScheduleID"
1395
+ }
1396
+ },
1397
+ "required": ["abTestScheduleID"]
1398
+ },
1399
+ "EstimateABTestResponse": {
1400
+ "type": "object",
1401
+ "properties": {
1402
+ "durationDays": {
1403
+ "type": "integer",
1404
+ "format": "int64",
1405
+ "description": "Estimated number of days needed to reach the sample sizes required for detecting the configured effect. This value is based on historical traffic.",
1406
+ "example": 21
1407
+ },
1408
+ "sampleSizes": {
1409
+ "type": "array",
1410
+ "description": "Sample size estimates for each variant. The first element is the control variant.\nEach element is the estimated number of searches required to achieve the desired statistical significance.\n",
1411
+ "items": {
1412
+ "type": "integer",
1413
+ "format": "int64",
1414
+ "description": "Number of tracked searches needed to be able to detect the configured effect for the control variant.",
1415
+ "example": 23415
1416
+ }
1417
+ }
1418
+ }
1419
+ }
1420
+ },
1421
+ "responses": {
1422
+ "BadRequest": {
1423
+ "description": "Bad request or request arguments.",
1424
+ "content": {
1425
+ "application/json": {
1426
+ "schema": {
1427
+ "$ref": "#/components/schemas/ErrorBase"
1428
+ }
1429
+ }
1430
+ }
1431
+ },
1432
+ "FeatureNotEnabled": {
1433
+ "description": "This feature is not enabled on your Algolia account.",
1434
+ "content": {
1435
+ "application/json": {
1436
+ "schema": {
1437
+ "$ref": "#/components/schemas/ErrorBase"
1438
+ }
1439
+ }
1440
+ }
1441
+ },
1442
+ "MethodNotAllowed": {
1443
+ "description": "Method not allowed with this API key.",
1444
+ "content": {
1445
+ "application/json": {
1446
+ "schema": {
1447
+ "$ref": "#/components/schemas/ErrorBase"
1448
+ }
1449
+ }
1450
+ }
1451
+ },
1452
+ "IndexNotFound": {
1453
+ "description": "Index not found.",
1454
+ "content": {
1455
+ "application/json": {
1456
+ "schema": {
1457
+ "$ref": "#/components/schemas/ErrorBase"
1458
+ }
1459
+ }
1460
+ }
1461
+ }
1462
+ },
1463
+ "headers": {
1464
+ "x-ratelimit-limit": {
1465
+ "description": "Number of allowed requests per one minute.",
1466
+ "example": 100,
1467
+ "schema": {
1468
+ "type": "integer"
1469
+ }
1470
+ },
1471
+ "x-ratelimit-remaining": {
1472
+ "description": "Number of remaining requests in the current period.",
1473
+ "example": 99,
1474
+ "schema": {
1475
+ "type": "integer"
1476
+ }
1477
+ },
1478
+ "x-ratelimit-reset": {
1479
+ "description": "Timstamp when the rate limit will reset, measured in seconds since the Unix epoch.",
1480
+ "example": 1710682486,
1481
+ "schema": {
1482
+ "type": "integer"
1483
+ }
1484
+ }
1485
+ }
1486
+ },
1487
+ "x-tagGroups": [
1488
+ {
1489
+ "name": "General",
1490
+ "tags": ["abtest"]
1491
+ }
1492
+ ]
1493
+ }