Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sundowndev
GitHub Repository: sundowndev/phoneinfoga
Path: blob/master/web/docs/swagger.json
994 views
1
{
2
"schemes": [
3
"http",
4
"https"
5
],
6
"swagger": "2.0",
7
"info": {
8
"description": "Advanced information gathering \u0026 OSINT framework for phone numbers.",
9
"title": "PhoneInfoga REST API",
10
"contact": {},
11
"license": {
12
"name": "GNU General Public License v3.0",
13
"url": "https://github.com/sundowndev/phoneinfoga/blob/master/LICENSE"
14
},
15
"version": "v2"
16
},
17
"host": "localhost:5000",
18
"basePath": "/api",
19
"paths": {
20
"/": {
21
"get": {
22
"produces": [
23
"application/json"
24
],
25
"tags": [
26
"General"
27
],
28
"summary": "Check if service is healthy.",
29
"operationId": "healthCheck",
30
"responses": {
31
"200": {
32
"description": "OK",
33
"schema": {
34
"$ref": "#/definitions/web.healthResponse"
35
}
36
},
37
"500": {
38
"description": "Internal Server Error",
39
"schema": {
40
"$ref": "#/definitions/web.JSONResponse"
41
}
42
}
43
}
44
}
45
},
46
"/numbers": {
47
"get": {
48
"description": "This route is actually not used yet.",
49
"produces": [
50
"application/json"
51
],
52
"tags": [
53
"Numbers"
54
],
55
"summary": "Fetch all previously scanned numbers.",
56
"operationId": "getAllNumbers",
57
"deprecated": true,
58
"responses": {
59
"200": {
60
"description": "OK",
61
"schema": {
62
"$ref": "#/definitions/web.getAllNumbersResponse"
63
}
64
}
65
}
66
}
67
},
68
"/numbers/{number}/scan/googlesearch": {
69
"get": {
70
"produces": [
71
"application/json"
72
],
73
"tags": [
74
"Numbers"
75
],
76
"summary": "Perform a scan using Google Search engine.",
77
"operationId": "googleSearchScan",
78
"deprecated": true,
79
"parameters": [
80
{
81
"type": "string",
82
"description": "Input phone number",
83
"name": "number",
84
"in": "path",
85
"required": true
86
}
87
],
88
"responses": {
89
"200": {
90
"description": "OK",
91
"schema": {
92
"allOf": [
93
{
94
"$ref": "#/definitions/web.ScanResultResponse"
95
},
96
{
97
"type": "object",
98
"properties": {
99
"result": {
100
"$ref": "#/definitions/remote.GoogleSearchResponse"
101
}
102
}
103
}
104
]
105
}
106
},
107
"400": {
108
"description": "Bad Request",
109
"schema": {
110
"$ref": "#/definitions/web.JSONResponse"
111
}
112
}
113
}
114
}
115
},
116
"/numbers/{number}/scan/local": {
117
"get": {
118
"produces": [
119
"application/json"
120
],
121
"tags": [
122
"Numbers"
123
],
124
"summary": "Perform a scan using local phone number library.",
125
"operationId": "localScan",
126
"deprecated": true,
127
"parameters": [
128
{
129
"type": "string",
130
"description": "Input phone number",
131
"name": "number",
132
"in": "path",
133
"required": true
134
}
135
],
136
"responses": {
137
"200": {
138
"description": "OK",
139
"schema": {
140
"allOf": [
141
{
142
"$ref": "#/definitions/web.ScanResultResponse"
143
},
144
{
145
"type": "object",
146
"properties": {
147
"result": {
148
"$ref": "#/definitions/number.Number"
149
}
150
}
151
}
152
]
153
}
154
},
155
"400": {
156
"description": "Bad Request",
157
"schema": {
158
"$ref": "#/definitions/web.JSONResponse"
159
}
160
}
161
}
162
}
163
},
164
"/numbers/{number}/scan/numverify": {
165
"get": {
166
"produces": [
167
"application/json"
168
],
169
"tags": [
170
"Numbers"
171
],
172
"summary": "Perform a scan using Numverify's API.",
173
"operationId": "numverifyScan",
174
"deprecated": true,
175
"parameters": [
176
{
177
"type": "string",
178
"description": "Input phone number",
179
"name": "number",
180
"in": "path",
181
"required": true
182
}
183
],
184
"responses": {
185
"200": {
186
"description": "OK",
187
"schema": {
188
"allOf": [
189
{
190
"$ref": "#/definitions/web.ScanResultResponse"
191
},
192
{
193
"type": "object",
194
"properties": {
195
"result": {
196
"$ref": "#/definitions/remote.NumverifyScannerResponse"
197
}
198
}
199
}
200
]
201
}
202
},
203
"400": {
204
"description": "Bad Request",
205
"schema": {
206
"$ref": "#/definitions/web.JSONResponse"
207
}
208
}
209
}
210
}
211
},
212
"/numbers/{number}/scan/ovh": {
213
"get": {
214
"produces": [
215
"application/json"
216
],
217
"tags": [
218
"Numbers"
219
],
220
"summary": "Perform a scan using OVH's API.",
221
"operationId": "ovhScan",
222
"deprecated": true,
223
"parameters": [
224
{
225
"type": "string",
226
"description": "Input phone number",
227
"name": "number",
228
"in": "path",
229
"required": true
230
}
231
],
232
"responses": {
233
"200": {
234
"description": "OK",
235
"schema": {
236
"allOf": [
237
{
238
"$ref": "#/definitions/web.ScanResultResponse"
239
},
240
{
241
"type": "object",
242
"properties": {
243
"result": {
244
"$ref": "#/definitions/remote.OVHScannerResponse"
245
}
246
}
247
}
248
]
249
}
250
},
251
"400": {
252
"description": "Bad Request",
253
"schema": {
254
"$ref": "#/definitions/web.JSONResponse"
255
}
256
}
257
}
258
}
259
},
260
"/numbers/{number}/validate": {
261
"get": {
262
"produces": [
263
"application/json"
264
],
265
"tags": [
266
"Numbers"
267
],
268
"summary": "Check if a number is valid and possible.",
269
"operationId": "validate",
270
"deprecated": true,
271
"parameters": [
272
{
273
"type": "string",
274
"description": "Input phone number",
275
"name": "number",
276
"in": "path",
277
"required": true
278
}
279
],
280
"responses": {
281
"200": {
282
"description": "OK",
283
"schema": {
284
"$ref": "#/definitions/web.JSONResponse"
285
}
286
},
287
"400": {
288
"description": "Bad Request",
289
"schema": {
290
"$ref": "#/definitions/web.JSONResponse"
291
}
292
}
293
}
294
}
295
},
296
"/v2/numbers": {
297
"post": {
298
"description": "This route returns information about a given phone number.",
299
"consumes": [
300
"application/json"
301
],
302
"produces": [
303
"application/json"
304
],
305
"tags": [
306
"Numbers"
307
],
308
"summary": "Add a new number.",
309
"operationId": "AddNumber",
310
"parameters": [
311
{
312
"description": "Request body",
313
"name": "request",
314
"in": "body",
315
"required": true,
316
"schema": {
317
"$ref": "#/definitions/handlers.AddNumberInput"
318
}
319
}
320
],
321
"responses": {
322
"200": {
323
"description": "OK",
324
"schema": {
325
"$ref": "#/definitions/handlers.AddNumberResponse"
326
}
327
},
328
"500": {
329
"description": "Internal Server Error",
330
"schema": {
331
"$ref": "#/definitions/api.ErrorResponse"
332
}
333
}
334
}
335
}
336
},
337
"/v2/scanners": {
338
"get": {
339
"description": "This route returns all available scanners.",
340
"produces": [
341
"application/json"
342
],
343
"tags": [
344
"Numbers"
345
],
346
"summary": "Get all available scanners.",
347
"operationId": "GetAllScanners",
348
"responses": {
349
"200": {
350
"description": "OK",
351
"schema": {
352
"$ref": "#/definitions/handlers.GetAllScannersResponse"
353
}
354
}
355
}
356
}
357
},
358
"/v2/scanners/{scanner}/dryrun": {
359
"post": {
360
"description": "This route performs a dry run with the given phone number. This doesn't perform an actual scan.",
361
"consumes": [
362
"application/json"
363
],
364
"produces": [
365
"application/json"
366
],
367
"tags": [
368
"Numbers"
369
],
370
"summary": "Dry run a single scanner",
371
"operationId": "DryRunScanner",
372
"parameters": [
373
{
374
"description": "Request body",
375
"name": "request",
376
"in": "body",
377
"required": true,
378
"schema": {
379
"$ref": "#/definitions/handlers.DryRunScannerInput"
380
}
381
},
382
{
383
"type": "string",
384
"description": "Scanner name",
385
"name": "scanner",
386
"in": "path",
387
"required": true
388
}
389
],
390
"responses": {
391
"200": {
392
"description": "OK",
393
"schema": {
394
"$ref": "#/definitions/handlers.DryRunScannerResponse"
395
}
396
},
397
"404": {
398
"description": "Not Found",
399
"schema": {
400
"$ref": "#/definitions/api.ErrorResponse"
401
}
402
},
403
"500": {
404
"description": "Internal Server Error",
405
"schema": {
406
"$ref": "#/definitions/api.ErrorResponse"
407
}
408
}
409
}
410
}
411
},
412
"/v2/scanners/{scanner}/run": {
413
"post": {
414
"description": "This route runs a single scanner with the given phone number",
415
"consumes": [
416
"application/json"
417
],
418
"produces": [
419
"application/json"
420
],
421
"tags": [
422
"Numbers"
423
],
424
"summary": "Run a single scanner",
425
"operationId": "RunScanner",
426
"parameters": [
427
{
428
"description": "Request body",
429
"name": "request",
430
"in": "body",
431
"required": true,
432
"schema": {
433
"$ref": "#/definitions/handlers.RunScannerInput"
434
}
435
},
436
{
437
"type": "string",
438
"description": "Scanner name",
439
"name": "scanner",
440
"in": "path",
441
"required": true
442
}
443
],
444
"responses": {
445
"200": {
446
"description": "OK",
447
"schema": {
448
"$ref": "#/definitions/handlers.RunScannerResponse"
449
}
450
},
451
"404": {
452
"description": "Not Found",
453
"schema": {
454
"$ref": "#/definitions/api.ErrorResponse"
455
}
456
},
457
"500": {
458
"description": "Internal Server Error",
459
"schema": {
460
"$ref": "#/definitions/api.ErrorResponse"
461
}
462
}
463
}
464
}
465
}
466
},
467
"definitions": {
468
"api.ErrorResponse": {
469
"type": "object",
470
"properties": {
471
"error": {
472
"type": "string"
473
}
474
}
475
},
476
"handlers.AddNumberInput": {
477
"type": "object",
478
"required": [
479
"number"
480
],
481
"properties": {
482
"number": {
483
"type": "string"
484
}
485
}
486
},
487
"handlers.AddNumberResponse": {
488
"type": "object",
489
"properties": {
490
"carrier": {
491
"type": "string"
492
},
493
"country": {
494
"type": "string"
495
},
496
"countryCode": {
497
"type": "integer"
498
},
499
"e164": {
500
"type": "string"
501
},
502
"international": {
503
"type": "string"
504
},
505
"local": {
506
"type": "string"
507
},
508
"rawLocal": {
509
"type": "string"
510
},
511
"valid": {
512
"type": "boolean"
513
}
514
}
515
},
516
"handlers.DryRunScannerInput": {
517
"type": "object",
518
"required": [
519
"number",
520
"options"
521
],
522
"properties": {
523
"number": {
524
"type": "string"
525
},
526
"options": {
527
"$ref": "#/definitions/remote.ScannerOptions"
528
}
529
}
530
},
531
"handlers.DryRunScannerResponse": {
532
"type": "object",
533
"properties": {
534
"error": {
535
"type": "string"
536
},
537
"success": {
538
"type": "boolean"
539
}
540
}
541
},
542
"handlers.GetAllScannersResponse": {
543
"type": "object",
544
"properties": {
545
"scanners": {
546
"type": "array",
547
"items": {
548
"$ref": "#/definitions/handlers.Scanner"
549
}
550
}
551
}
552
},
553
"handlers.RunScannerInput": {
554
"type": "object",
555
"required": [
556
"number",
557
"options"
558
],
559
"properties": {
560
"number": {
561
"type": "string"
562
},
563
"options": {
564
"$ref": "#/definitions/remote.ScannerOptions"
565
}
566
}
567
},
568
"handlers.RunScannerResponse": {
569
"type": "object",
570
"properties": {
571
"result": {}
572
}
573
},
574
"handlers.Scanner": {
575
"type": "object",
576
"properties": {
577
"description": {
578
"type": "string"
579
},
580
"name": {
581
"type": "string"
582
}
583
}
584
},
585
"number.Number": {
586
"type": "object",
587
"properties": {
588
"carrier": {
589
"type": "string"
590
},
591
"country": {
592
"type": "string"
593
},
594
"countryCode": {
595
"type": "integer"
596
},
597
"e164": {
598
"type": "string"
599
},
600
"international": {
601
"type": "string"
602
},
603
"local": {
604
"type": "string"
605
},
606
"rawLocal": {
607
"type": "string"
608
},
609
"valid": {
610
"type": "boolean"
611
}
612
}
613
},
614
"remote.GoogleSearchDork": {
615
"type": "object",
616
"properties": {
617
"dork": {
618
"type": "string"
619
},
620
"number": {
621
"type": "string"
622
},
623
"url": {
624
"type": "string"
625
}
626
}
627
},
628
"remote.GoogleSearchResponse": {
629
"type": "object",
630
"properties": {
631
"disposable_providers": {
632
"type": "array",
633
"items": {
634
"$ref": "#/definitions/remote.GoogleSearchDork"
635
}
636
},
637
"general": {
638
"type": "array",
639
"items": {
640
"$ref": "#/definitions/remote.GoogleSearchDork"
641
}
642
},
643
"individuals": {
644
"type": "array",
645
"items": {
646
"$ref": "#/definitions/remote.GoogleSearchDork"
647
}
648
},
649
"reputation": {
650
"type": "array",
651
"items": {
652
"$ref": "#/definitions/remote.GoogleSearchDork"
653
}
654
},
655
"social_media": {
656
"type": "array",
657
"items": {
658
"$ref": "#/definitions/remote.GoogleSearchDork"
659
}
660
}
661
}
662
},
663
"remote.NumverifyScannerResponse": {
664
"type": "object",
665
"properties": {
666
"carrier": {
667
"type": "string"
668
},
669
"country_code": {
670
"type": "string"
671
},
672
"country_name": {
673
"type": "string"
674
},
675
"country_prefix": {
676
"type": "string"
677
},
678
"international_format": {
679
"type": "string"
680
},
681
"line_type": {
682
"type": "string"
683
},
684
"local_format": {
685
"type": "string"
686
},
687
"location": {
688
"type": "string"
689
},
690
"number": {
691
"type": "string"
692
},
693
"valid": {
694
"type": "boolean"
695
}
696
}
697
},
698
"remote.OVHScannerResponse": {
699
"type": "object",
700
"properties": {
701
"city": {
702
"type": "string"
703
},
704
"found": {
705
"type": "boolean"
706
},
707
"number_range": {
708
"type": "string"
709
},
710
"zip_code": {
711
"type": "string"
712
}
713
}
714
},
715
"remote.ScannerOptions": {
716
"type": "object",
717
"additionalProperties": true
718
},
719
"web.JSONResponse": {
720
"type": "object",
721
"properties": {
722
"error": {
723
"type": "string"
724
},
725
"message": {
726
"type": "string"
727
},
728
"success": {
729
"type": "boolean"
730
}
731
}
732
},
733
"web.ScanResultResponse": {
734
"type": "object",
735
"properties": {
736
"error": {
737
"type": "string"
738
},
739
"message": {
740
"type": "string"
741
},
742
"result": {},
743
"success": {
744
"type": "boolean"
745
}
746
}
747
},
748
"web.getAllNumbersResponse": {
749
"type": "object",
750
"properties": {
751
"error": {
752
"type": "string"
753
},
754
"message": {
755
"type": "string"
756
},
757
"numbers": {
758
"type": "array",
759
"items": {
760
"$ref": "#/definitions/number.Number"
761
}
762
},
763
"success": {
764
"type": "boolean"
765
}
766
}
767
},
768
"web.healthResponse": {
769
"type": "object",
770
"properties": {
771
"commit": {
772
"type": "string"
773
},
774
"demo": {
775
"type": "boolean"
776
},
777
"success": {
778
"type": "boolean"
779
},
780
"version": {
781
"type": "string"
782
}
783
}
784
}
785
}
786
}
787