@crawlora-org/sdk 1.19.0-sdk.1 → 1.22.0-sdk.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.
@@ -14960,6 +14960,10 @@
14960
14960
  "name": {
14961
14961
  "type": "string"
14962
14962
  },
14963
+ "not_found_streak": {
14964
+ "description": "NotFoundStreak counts consecutive crawls that returned not-found for an\notherwise-active item. Removal is only confirmed once it reaches the\nworker's threshold, so a transient upstream block does not delist a live\nitem. No omitempty: a successful crawl must write 0 to reset the streak\nthrough the partial-merge upsert.",
14965
+ "type": "integer"
14966
+ },
14963
14967
  "optional_host_permissions": {
14964
14968
  "items": {
14965
14969
  "type": "string"
@@ -16889,12 +16893,21 @@
16889
16893
  "latest_annual_net_income": {
16890
16894
  "type": "number"
16891
16895
  },
16896
+ "latest_annual_net_income_usd": {
16897
+ "type": "number"
16898
+ },
16892
16899
  "latest_annual_revenue": {
16893
16900
  "type": "number"
16894
16901
  },
16902
+ "latest_annual_revenue_usd": {
16903
+ "type": "number"
16904
+ },
16895
16905
  "latest_annual_total_assets": {
16896
16906
  "type": "number"
16897
16907
  },
16908
+ "latest_annual_total_assets_usd": {
16909
+ "type": "number"
16910
+ },
16898
16911
  "latest_filing_date": {
16899
16912
  "type": "string"
16900
16913
  },
@@ -16916,6 +16929,10 @@
16916
16929
  },
16917
16930
  "type": "array"
16918
16931
  },
16932
+ "reporting_currency": {
16933
+ "description": "Native-currency figures are exactly as the filer reported them (see\nReportingCurrency); the *USD fields are the same values converted at fixed\nreference rates (services/sec.CurrencyToUSD) so they can be sorted, banded\nand range-filtered ACROSS currencies. Screen on the USD fields; display the\nnative value + currency.",
16934
+ "type": "string"
16935
+ },
16919
16936
  "revenue_band": {
16920
16937
  "type": "string"
16921
16938
  },
@@ -18063,12 +18080,29 @@
18063
18080
  "bio": {
18064
18081
  "type": "string"
18065
18082
  },
18083
+ "bio_url_host": {
18084
+ "items": {
18085
+ "type": "string"
18086
+ },
18087
+ "type": "array"
18088
+ },
18089
+ "bio_urls": {
18090
+ "description": "BioURLs are links written in the bio text, expanded from t.co. Distinct\nfrom ExternalURL (the single profile-header link).",
18091
+ "items": {
18092
+ "type": "string"
18093
+ },
18094
+ "type": "array"
18095
+ },
18066
18096
  "crawled_at": {
18067
18097
  "type": "string"
18068
18098
  },
18069
18099
  "created_at": {
18070
18100
  "type": "string"
18071
18101
  },
18102
+ "email": {
18103
+ "description": "Email is an address the account self-published in its own bio. Extracted\nverbatim, never inferred or de-obfuscated. HasEmail is the faceting flag\n(an exists query on a keyword is fine, but a bool keeps parity with the\nother has_* fields and is cheaper to aggregate).",
18104
+ "type": "string"
18105
+ },
18072
18106
  "external_url": {
18073
18107
  "type": "string"
18074
18108
  },
@@ -18084,6 +18118,12 @@
18084
18118
  "has_bio": {
18085
18119
  "type": "boolean"
18086
18120
  },
18121
+ "has_bio_url": {
18122
+ "type": "boolean"
18123
+ },
18124
+ "has_email": {
18125
+ "type": "boolean"
18126
+ },
18087
18127
  "has_external_url": {
18088
18128
  "type": "boolean"
18089
18129
  },
@@ -18093,9 +18133,23 @@
18093
18133
  "is_blue_verified": {
18094
18134
  "type": "boolean"
18095
18135
  },
18136
+ "is_default_profile_image": {
18137
+ "description": "IsDefaultProfileImage marks never-customized shells.",
18138
+ "type": "boolean"
18139
+ },
18140
+ "likes": {
18141
+ "type": "integer"
18142
+ },
18143
+ "listed": {
18144
+ "description": "Listed is how many curated lists include the account -- the best\nauthority proxy available. Media/Likes are activity signals.",
18145
+ "type": "integer"
18146
+ },
18096
18147
  "location_raw": {
18097
18148
  "type": "string"
18098
18149
  },
18150
+ "media": {
18151
+ "type": "integer"
18152
+ },
18099
18153
  "name": {
18100
18154
  "type": "string"
18101
18155
  },
@@ -18110,6 +18164,10 @@
18110
18164
  },
18111
18165
  "username": {
18112
18166
  "type": "string"
18167
+ },
18168
+ "verified_type": {
18169
+ "description": "VerifiedType is the verification flavour (\"Business\", \"Government\", ...);\nempty for ordinary/blue accounts.",
18170
+ "type": "string"
18113
18171
  }
18114
18172
  },
18115
18173
  "type": "object"
@@ -18125,12 +18183,29 @@
18125
18183
  "bio": {
18126
18184
  "type": "string"
18127
18185
  },
18186
+ "bio_url_host": {
18187
+ "items": {
18188
+ "type": "string"
18189
+ },
18190
+ "type": "array"
18191
+ },
18192
+ "bio_urls": {
18193
+ "description": "BioURLs are links written in the bio text, expanded from t.co. Distinct\nfrom ExternalURL (the single profile-header link).",
18194
+ "items": {
18195
+ "type": "string"
18196
+ },
18197
+ "type": "array"
18198
+ },
18128
18199
  "crawled_at": {
18129
18200
  "type": "string"
18130
18201
  },
18131
18202
  "created_at": {
18132
18203
  "type": "string"
18133
18204
  },
18205
+ "email": {
18206
+ "description": "Email is an address the account self-published in its own bio. Extracted\nverbatim, never inferred or de-obfuscated. HasEmail is the faceting flag\n(an exists query on a keyword is fine, but a bool keeps parity with the\nother has_* fields and is cheaper to aggregate).",
18207
+ "type": "string"
18208
+ },
18134
18209
  "external_url": {
18135
18210
  "type": "string"
18136
18211
  },
@@ -18146,6 +18221,12 @@
18146
18221
  "has_bio": {
18147
18222
  "type": "boolean"
18148
18223
  },
18224
+ "has_bio_url": {
18225
+ "type": "boolean"
18226
+ },
18227
+ "has_email": {
18228
+ "type": "boolean"
18229
+ },
18149
18230
  "has_external_url": {
18150
18231
  "type": "boolean"
18151
18232
  },
@@ -18155,9 +18236,23 @@
18155
18236
  "is_blue_verified": {
18156
18237
  "type": "boolean"
18157
18238
  },
18239
+ "is_default_profile_image": {
18240
+ "description": "IsDefaultProfileImage marks never-customized shells.",
18241
+ "type": "boolean"
18242
+ },
18243
+ "likes": {
18244
+ "type": "integer"
18245
+ },
18246
+ "listed": {
18247
+ "description": "Listed is how many curated lists include the account -- the best\nauthority proxy available. Media/Likes are activity signals.",
18248
+ "type": "integer"
18249
+ },
18158
18250
  "location_raw": {
18159
18251
  "type": "string"
18160
18252
  },
18253
+ "media": {
18254
+ "type": "integer"
18255
+ },
18161
18256
  "name": {
18162
18257
  "type": "string"
18163
18258
  },
@@ -18172,6 +18267,10 @@
18172
18267
  },
18173
18268
  "username": {
18174
18269
  "type": "string"
18270
+ },
18271
+ "verified_type": {
18272
+ "description": "VerifiedType is the verification flavour (\"Business\", \"Government\", ...);\nempty for ordinary/blue accounts.",
18273
+ "type": "string"
18175
18274
  }
18176
18275
  },
18177
18276
  "type": "object"
@@ -48271,6 +48370,265 @@
48271
48370
  },
48272
48371
  "type": "object"
48273
48372
  },
48373
+ "threads.Author": {
48374
+ "properties": {
48375
+ "id": {
48376
+ "type": "string"
48377
+ },
48378
+ "name": {
48379
+ "type": "string"
48380
+ },
48381
+ "username": {
48382
+ "type": "string"
48383
+ }
48384
+ },
48385
+ "type": "object"
48386
+ },
48387
+ "threads.Post": {
48388
+ "properties": {
48389
+ "author": {
48390
+ "$ref": "#/definitions/threads.Author"
48391
+ },
48392
+ "code": {
48393
+ "type": "string"
48394
+ },
48395
+ "image_url": {
48396
+ "type": "string"
48397
+ },
48398
+ "text": {
48399
+ "type": "string"
48400
+ },
48401
+ "url": {
48402
+ "type": "string"
48403
+ }
48404
+ },
48405
+ "type": "object"
48406
+ },
48407
+ "threads.Profile": {
48408
+ "properties": {
48409
+ "avatar_url": {
48410
+ "type": "string"
48411
+ },
48412
+ "biography": {
48413
+ "type": "string"
48414
+ },
48415
+ "followers_count": {
48416
+ "type": "integer"
48417
+ },
48418
+ "name": {
48419
+ "type": "string"
48420
+ },
48421
+ "threads_count": {
48422
+ "type": "integer"
48423
+ },
48424
+ "url": {
48425
+ "type": "string"
48426
+ },
48427
+ "username": {
48428
+ "type": "string"
48429
+ }
48430
+ },
48431
+ "type": "object"
48432
+ },
48433
+ "threads.ProfilePostsResult": {
48434
+ "properties": {
48435
+ "has_more": {
48436
+ "type": "boolean"
48437
+ },
48438
+ "items": {
48439
+ "items": {
48440
+ "$ref": "#/definitions/threads.Thread"
48441
+ },
48442
+ "type": "array"
48443
+ },
48444
+ "next_cursor": {
48445
+ "type": "string"
48446
+ },
48447
+ "username": {
48448
+ "type": "string"
48449
+ }
48450
+ },
48451
+ "type": "object"
48452
+ },
48453
+ "threads.RepliesResult": {
48454
+ "properties": {
48455
+ "code": {
48456
+ "type": "string"
48457
+ },
48458
+ "has_more": {
48459
+ "type": "boolean"
48460
+ },
48461
+ "items": {
48462
+ "items": {
48463
+ "$ref": "#/definitions/threads.Thread"
48464
+ },
48465
+ "type": "array"
48466
+ },
48467
+ "next_cursor": {
48468
+ "type": "string"
48469
+ },
48470
+ "pagination_limited": {
48471
+ "type": "boolean"
48472
+ },
48473
+ "username": {
48474
+ "type": "string"
48475
+ }
48476
+ },
48477
+ "type": "object"
48478
+ },
48479
+ "threads.SearchResult": {
48480
+ "properties": {
48481
+ "has_more": {
48482
+ "type": "boolean"
48483
+ },
48484
+ "items": {
48485
+ "items": {
48486
+ "$ref": "#/definitions/threads.Thread"
48487
+ },
48488
+ "type": "array"
48489
+ },
48490
+ "next_cursor": {
48491
+ "type": "string"
48492
+ },
48493
+ "query": {
48494
+ "type": "string"
48495
+ }
48496
+ },
48497
+ "type": "object"
48498
+ },
48499
+ "threads.Thread": {
48500
+ "properties": {
48501
+ "author": {
48502
+ "$ref": "#/definitions/threads.Author"
48503
+ },
48504
+ "code": {
48505
+ "type": "string"
48506
+ },
48507
+ "created_at": {
48508
+ "type": "string"
48509
+ },
48510
+ "id": {
48511
+ "type": "string"
48512
+ },
48513
+ "image_urls": {
48514
+ "items": {
48515
+ "type": "string"
48516
+ },
48517
+ "type": "array"
48518
+ },
48519
+ "is_reply": {
48520
+ "type": "boolean"
48521
+ },
48522
+ "like_count": {
48523
+ "type": "integer"
48524
+ },
48525
+ "quote_count": {
48526
+ "type": "integer"
48527
+ },
48528
+ "reply_count": {
48529
+ "type": "integer"
48530
+ },
48531
+ "reply_to": {
48532
+ "type": "string"
48533
+ },
48534
+ "repost_count": {
48535
+ "type": "integer"
48536
+ },
48537
+ "text": {
48538
+ "type": "string"
48539
+ },
48540
+ "url": {
48541
+ "type": "string"
48542
+ },
48543
+ "video_urls": {
48544
+ "items": {
48545
+ "type": "string"
48546
+ },
48547
+ "type": "array"
48548
+ }
48549
+ },
48550
+ "type": "object"
48551
+ },
48552
+ "threads.postResponseDoc": {
48553
+ "properties": {
48554
+ "code": {
48555
+ "example": 200,
48556
+ "type": "integer"
48557
+ },
48558
+ "data": {
48559
+ "$ref": "#/definitions/threads.Post"
48560
+ },
48561
+ "msg": {
48562
+ "example": "OK",
48563
+ "type": "string"
48564
+ }
48565
+ },
48566
+ "type": "object"
48567
+ },
48568
+ "threads.profilePostsResponseDoc": {
48569
+ "properties": {
48570
+ "code": {
48571
+ "example": 200,
48572
+ "type": "integer"
48573
+ },
48574
+ "data": {
48575
+ "$ref": "#/definitions/threads.ProfilePostsResult"
48576
+ },
48577
+ "msg": {
48578
+ "example": "OK",
48579
+ "type": "string"
48580
+ }
48581
+ },
48582
+ "type": "object"
48583
+ },
48584
+ "threads.profileResponseDoc": {
48585
+ "properties": {
48586
+ "code": {
48587
+ "example": 200,
48588
+ "type": "integer"
48589
+ },
48590
+ "data": {
48591
+ "$ref": "#/definitions/threads.Profile"
48592
+ },
48593
+ "msg": {
48594
+ "example": "OK",
48595
+ "type": "string"
48596
+ }
48597
+ },
48598
+ "type": "object"
48599
+ },
48600
+ "threads.repliesResponseDoc": {
48601
+ "properties": {
48602
+ "code": {
48603
+ "example": 200,
48604
+ "type": "integer"
48605
+ },
48606
+ "data": {
48607
+ "$ref": "#/definitions/threads.RepliesResult"
48608
+ },
48609
+ "msg": {
48610
+ "example": "OK",
48611
+ "type": "string"
48612
+ }
48613
+ },
48614
+ "type": "object"
48615
+ },
48616
+ "threads.searchResponseDoc": {
48617
+ "properties": {
48618
+ "code": {
48619
+ "example": 200,
48620
+ "type": "integer"
48621
+ },
48622
+ "data": {
48623
+ "$ref": "#/definitions/threads.SearchResult"
48624
+ },
48625
+ "msg": {
48626
+ "example": "OK",
48627
+ "type": "string"
48628
+ }
48629
+ },
48630
+ "type": "object"
48631
+ },
48274
48632
  "tiktok.Category": {
48275
48633
  "properties": {
48276
48634
  "name": {
@@ -55251,18 +55609,33 @@
55251
55609
  },
55252
55610
  "x.Profile": {
55253
55611
  "properties": {
55612
+ "affiliate_label": {
55613
+ "description": "AffiliateLabel is the small highlighted-affiliation badge X shows next\nto the display name (e.g. \"Prime Video\" for an account run on behalf\nof that brand). Distinct from VerifiedType; empty when the account has\nno highlighted affiliation.",
55614
+ "type": "string"
55615
+ },
55254
55616
  "avatar_url": {
55255
55617
  "type": "string"
55256
55618
  },
55257
55619
  "banner_url": {
55258
55620
  "type": "string"
55259
55621
  },
55622
+ "bio_urls": {
55623
+ "description": "BioURLs are links written inside the bio, expanded from their t.co form.\nDistinct from ExternalURL, which is the single profile-header link.",
55624
+ "items": {
55625
+ "type": "string"
55626
+ },
55627
+ "type": "array"
55628
+ },
55260
55629
  "created_at": {
55261
55630
  "type": "string"
55262
55631
  },
55263
55632
  "description": {
55264
55633
  "type": "string"
55265
55634
  },
55635
+ "email": {
55636
+ "description": "Email is an address the account self-published in its own bio text. It is\nonly ever extracted, never inferred or de-obfuscated. Empty for the vast\nmajority of profiles.",
55637
+ "type": "string"
55638
+ },
55266
55639
  "external_url": {
55267
55640
  "type": "string"
55268
55641
  },
@@ -55272,6 +55645,10 @@
55272
55645
  "is_blue_verified": {
55273
55646
  "type": "boolean"
55274
55647
  },
55648
+ "is_default_profile_image": {
55649
+ "description": "IsDefaultProfileImage marks accounts still on the placeholder avatar --\na strong shell/abandoned-account signal.",
55650
+ "type": "boolean"
55651
+ },
55275
55652
  "is_protected": {
55276
55653
  "type": "boolean"
55277
55654
  },
@@ -55292,6 +55669,10 @@
55292
55669
  },
55293
55670
  "username": {
55294
55671
  "type": "string"
55672
+ },
55673
+ "verified_type": {
55674
+ "description": "VerifiedType distinguishes the flavour of verification (e.g. \"Business\",\n\"Government\"); empty for ordinary/blue accounts.",
55675
+ "type": "string"
55295
55676
  }
55296
55677
  },
55297
55678
  "type": "object"
@@ -55304,6 +55685,16 @@
55304
55685
  "following": {
55305
55686
  "type": "integer"
55306
55687
  },
55688
+ "likes": {
55689
+ "type": "integer"
55690
+ },
55691
+ "listed": {
55692
+ "description": "Listed is how many curated lists include this account -- the best\nauthority proxy in the payload. Media/Likes are activity signals.\nOnly the syndication source populates these; the x.com page parser\nleaves them zero.",
55693
+ "type": "integer"
55694
+ },
55695
+ "media": {
55696
+ "type": "integer"
55697
+ },
55307
55698
  "posts": {
55308
55699
  "type": "integer"
55309
55700
  }
@@ -71005,7 +71396,7 @@
71005
71396
  "consumes": [
71006
71397
  "application/json"
71007
71398
  ],
71008
- "description": "Searches the discovered company board registry — which companies are hiring, on which ATS, with how many open roles. status enum: `active`, `empty`, `gone`, `blocked`, `pending`. sort enum: `open_desc`, `company_asc`, `crawled_desc`.",
71399
+ "description": "Searches the discovered company board registry — which companies are hiring, on which ATS, with how many open roles. provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`. status enum: `active`, `empty`, `gone`, `blocked`, `pending`. sort enum: `open_desc`, `company_asc`, `crawled_desc`.",
71009
71400
  "operationId": "datasets-jobs-companies",
71010
71401
  "parameters": [
71011
71402
  {
@@ -71016,6 +71407,22 @@
71016
71407
  },
71017
71408
  {
71018
71409
  "description": "ATS provider filter",
71410
+ "enum": [
71411
+ "greenhouse",
71412
+ "lever",
71413
+ "ashby",
71414
+ "workday",
71415
+ "smartrecruiters",
71416
+ "workable",
71417
+ "recruitee",
71418
+ "rippling",
71419
+ "personio",
71420
+ "teamtailor",
71421
+ "oracle",
71422
+ "ukg",
71423
+ "icims",
71424
+ "eightfold"
71425
+ ],
71019
71426
  "in": "query",
71020
71427
  "name": "provider",
71021
71428
  "type": "string"
@@ -71079,7 +71486,63 @@
71079
71486
  "ApiKeyAuth": []
71080
71487
  }
71081
71488
  ],
71082
- "summary": "Find which companies are hiring (jobs board registry)",
71489
+ "summary": "Find which companies are hiring",
71490
+ "tags": [
71491
+ "Datasets"
71492
+ ]
71493
+ }
71494
+ },
71495
+ "/datasets/jobs/companies/{id}": {
71496
+ "get": {
71497
+ "consumes": [
71498
+ "application/json"
71499
+ ],
71500
+ "description": "Returns one discovered company board by its dataset board id. When the board carries a known domain (currently populated for iCIMS and Eightfold boards; most Common-Crawl-discovered boards do not), the response also includes a `tech_stack` field joined from the website tech-stack dataset -- a firmographic hint, not a guess: it is only attached when a structural domain signal exists. Returns 404 when the board id is not in the registry.",
71501
+ "operationId": "datasets-jobs-company-item",
71502
+ "parameters": [
71503
+ {
71504
+ "description": "Dataset board id",
71505
+ "in": "path",
71506
+ "name": "id",
71507
+ "required": true,
71508
+ "type": "string"
71509
+ }
71510
+ ],
71511
+ "produces": [
71512
+ "application/json"
71513
+ ],
71514
+ "responses": {
71515
+ "200": {
71516
+ "description": "OK",
71517
+ "schema": {
71518
+ "$ref": "#/definitions/datasets.jobsItemResponseDoc"
71519
+ }
71520
+ },
71521
+ "400": {
71522
+ "description": "Bad Request",
71523
+ "schema": {
71524
+ "$ref": "#/definitions/app.Response"
71525
+ }
71526
+ },
71527
+ "404": {
71528
+ "description": "Not Found",
71529
+ "schema": {
71530
+ "$ref": "#/definitions/app.Response"
71531
+ }
71532
+ },
71533
+ "500": {
71534
+ "description": "Internal Server Error",
71535
+ "schema": {
71536
+ "$ref": "#/definitions/app.Response"
71537
+ }
71538
+ }
71539
+ },
71540
+ "security": [
71541
+ {
71542
+ "ApiKeyAuth": []
71543
+ }
71544
+ ],
71545
+ "summary": "Get a single company by board id",
71083
71546
  "tags": [
71084
71547
  "Datasets"
71085
71548
  ]
@@ -71190,12 +71653,115 @@
71190
71653
  ]
71191
71654
  }
71192
71655
  },
71656
+ "/datasets/jobs/nearby": {
71657
+ "get": {
71658
+ "consumes": [
71659
+ "application/json"
71660
+ ],
71661
+ "description": "Finds crawled job postings within `radius_km` of a `lat`/`lon`, nearest first. Only geocoded postings participate (the geo-enrich worker back-fills coordinates from each posting's location). Open roles only by default. provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`.",
71662
+ "operationId": "datasets-jobs-nearby",
71663
+ "parameters": [
71664
+ {
71665
+ "description": "Latitude, -90..90",
71666
+ "in": "query",
71667
+ "name": "lat",
71668
+ "required": true,
71669
+ "type": "number"
71670
+ },
71671
+ {
71672
+ "description": "Longitude, -180..180",
71673
+ "in": "query",
71674
+ "name": "lon",
71675
+ "required": true,
71676
+ "type": "number"
71677
+ },
71678
+ {
71679
+ "description": "Search radius in km, default 50, max 500",
71680
+ "in": "query",
71681
+ "name": "radius_km",
71682
+ "type": "number"
71683
+ },
71684
+ {
71685
+ "description": "ATS provider filter",
71686
+ "enum": [
71687
+ "greenhouse",
71688
+ "lever",
71689
+ "ashby",
71690
+ "workday",
71691
+ "smartrecruiters",
71692
+ "workable",
71693
+ "recruitee",
71694
+ "rippling",
71695
+ "personio",
71696
+ "teamtailor",
71697
+ "oracle",
71698
+ "ukg",
71699
+ "icims",
71700
+ "eightfold"
71701
+ ],
71702
+ "in": "query",
71703
+ "name": "provider",
71704
+ "type": "string"
71705
+ },
71706
+ {
71707
+ "description": "Include closed/filled roles (default false)",
71708
+ "in": "query",
71709
+ "name": "include_closed",
71710
+ "type": "boolean"
71711
+ },
71712
+ {
71713
+ "description": "Page number, default 1",
71714
+ "in": "query",
71715
+ "name": "page",
71716
+ "type": "integer"
71717
+ },
71718
+ {
71719
+ "description": "Page size, default 20, max 100",
71720
+ "in": "query",
71721
+ "name": "page_size",
71722
+ "type": "integer"
71723
+ }
71724
+ ],
71725
+ "produces": [
71726
+ "application/json"
71727
+ ],
71728
+ "responses": {
71729
+ "200": {
71730
+ "description": "OK",
71731
+ "schema": {
71732
+ "$ref": "#/definitions/datasets.jobsSearchResponseDoc"
71733
+ }
71734
+ },
71735
+ "400": {
71736
+ "description": "Bad Request",
71737
+ "schema": {
71738
+ "$ref": "#/definitions/app.Response"
71739
+ }
71740
+ },
71741
+ "500": {
71742
+ "description": "Internal Server Error",
71743
+ "schema": {
71744
+ "$ref": "#/definitions/app.Response"
71745
+ }
71746
+ }
71747
+ },
71748
+ "security": [
71749
+ {
71750
+ "ApiKeyAuth": []
71751
+ }
71752
+ ],
71753
+ "summary": "Find postings near a coordinate",
71754
+ "tags": [
71755
+ "Datasets"
71756
+ ]
71757
+ }
71758
+ },
71193
71759
  "/datasets/jobs/search": {
71194
71760
  "get": {
71195
71761
  "consumes": [
71196
71762
  "application/json"
71197
71763
  ],
71198
- "description": "Full-text + faceted search over every job posting crawled from every discovered company ATS board (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Rippling, Personio, Teamtailor, Oracle, UKG). Open roles only by default (set include_closed=true for historical/filled roles). provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`. sort enum: `relevance`, `posted_desc`, `company_asc`.",
71764
+ "description": "Full-text + faceted search over every job posting crawled from every discovered company ATS board (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Rippling, Personio, Teamtailor, Oracle, UKG, iCIMS, Eightfold). Open roles only by default (set include_closed=true for historical/filled roles). provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`. sort enum: `relevance`, `posted_desc`, `company_asc`.",
71199
71765
  "operationId": "datasets-jobs-search",
71200
71766
  "parameters": [
71201
71767
  {
@@ -71211,7 +71777,23 @@
71211
71777
  "type": "string"
71212
71778
  },
71213
71779
  {
71214
- "description": "ATS provider filter. Enum: greenhouse, lever, ashby, workday, smartrecruiters, workable, recruitee, rippling, personio, teamtailor, oracle, ukg",
71780
+ "description": "ATS provider filter",
71781
+ "enum": [
71782
+ "greenhouse",
71783
+ "lever",
71784
+ "ashby",
71785
+ "workday",
71786
+ "smartrecruiters",
71787
+ "workable",
71788
+ "recruitee",
71789
+ "rippling",
71790
+ "personio",
71791
+ "teamtailor",
71792
+ "oracle",
71793
+ "ukg",
71794
+ "icims",
71795
+ "eightfold"
71796
+ ],
71215
71797
  "in": "query",
71216
71798
  "name": "provider",
71217
71799
  "type": "string"
@@ -71327,7 +71909,7 @@
71327
71909
  "type": "string"
71328
71910
  },
71329
71911
  {
71330
- "description": "Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news",
71912
+ "description": "Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business",
71331
71913
  "in": "query",
71332
71914
  "name": "vertical",
71333
71915
  "type": "string"
@@ -71459,7 +72041,7 @@
71459
72041
  "consumes": [
71460
72042
  "application/json"
71461
72043
  ],
71462
- "description": "Searches the journalists index (dataset id enum value `journalists`) — public journalist and reporter contact records crawled from news outlets' own staff/author pages, for PR outreach. Each record carries the outlet, title, best-effort beat topics, and any public contact info (a work email or a social handle) found on that outlet's own page. There is no cross-outlet upstream search; this dataset is built by crawling a curated roster of outlets ourselves. vertical enum: `tech`, `crypto`, `marketing`, `consumer_tech`, `consumer_policy`, `cybersecurity`, `health`, `gaming`, `climate`, `business`, `entertainment`, `sports`, `legal`, `science`, `politics`, `real_estate`, `automotive`, `travel`, `food`, `education`, `design`, `film_tv`, `fashion`, `music`, `personal_finance`, `tech_independent`, `culture_independent`, `local_news`. contact_type enum: `email`, `social`, `none`. sort enum: `relevance`, `name_asc`, `outlet_asc`, `crawled_desc`.",
72044
+ "description": "Searches the journalists index (dataset id enum value `journalists`) — public journalist and reporter contact records crawled from news outlets' own staff/author pages, for PR outreach. Each record carries the outlet, title, best-effort beat topics, and any public contact info (a work email or a social handle) found on that outlet's own page. There is no cross-outlet upstream search; this dataset is built by crawling a curated roster of outlets ourselves. vertical enum: `tech`, `crypto`, `marketing`, `consumer_tech`, `consumer_policy`, `cybersecurity`, `health`, `gaming`, `climate`, `business`, `entertainment`, `sports`, `legal`, `science`, `politics`, `real_estate`, `automotive`, `travel`, `food`, `education`, `design`, `film_tv`, `fashion`, `music`, `personal_finance`, `tech_independent`, `culture_independent`, `local_news`, `construction`, `banking`, `retail`, `aerospace_defense`, `energy`, `agriculture`, `local_business`. contact_type enum: `email`, `social`, `none`. sort enum: `relevance`, `name_asc`, `outlet_asc`, `crawled_desc`.",
71463
72045
  "operationId": "datasets-journalists-search",
71464
72046
  "parameters": [
71465
72047
  {
@@ -71475,7 +72057,7 @@
71475
72057
  "type": "string"
71476
72058
  },
71477
72059
  {
71478
- "description": "Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news",
72060
+ "description": "Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business",
71479
72061
  "in": "query",
71480
72062
  "name": "vertical",
71481
72063
  "type": "string"
@@ -73282,11 +73864,11 @@
73282
73864
  "consumes": [
73283
73865
  "application/json"
73284
73866
  ],
73285
- "description": "Returns terms-aggregation counts for one facet of the SEC companies dataset, scoped to the same filters as search. Facet enum: `sic`, `sic_description`, `exchange`, `state_of_incorporation`, `entity_type`, `revenue_band`, `forms_filed`. `revenue_band` buckets latest-annual revenue into: `unknown`, `under_1m`, `1m_10m`, `10m_100m`, `100m_1b`, `1b_10b`, `over_10b`.",
73867
+ "description": "Returns terms-aggregation counts for one facet of the SEC companies dataset, scoped to the same filters as search. Facet enum: `sic`, `sic_description`, `exchange`, `state_of_incorporation`, `entity_type`, `reporting_currency`, `revenue_band`, `forms_filed`. `revenue_band` buckets latest-annual revenue into: `unknown`, `under_1m`, `1m_10m`, `10m_100m`, `100m_1b`, `1b_10b`, `over_10b`.",
73286
73868
  "operationId": "datasets-sec-companies-facets",
73287
73869
  "parameters": [
73288
73870
  {
73289
- "description": "Facet enum: sic, sic_description, exchange, state_of_incorporation, entity_type, revenue_band, forms_filed",
73871
+ "description": "Facet enum: sic, sic_description, exchange, state_of_incorporation, entity_type, reporting_currency, revenue_band, forms_filed",
73290
73872
  "in": "query",
73291
73873
  "name": "facet",
73292
73874
  "required": true,
@@ -73329,7 +73911,19 @@
73329
73911
  "type": "string"
73330
73912
  },
73331
73913
  {
73332
- "description": "Minimum latest-annual revenue in USD, 0 or greater",
73914
+ "description": "Exact reporting-currency filter, ISO-4217 code, e.g. USD, JPY, EUR",
73915
+ "in": "query",
73916
+ "name": "reporting_currency",
73917
+ "type": "string"
73918
+ },
73919
+ {
73920
+ "description": "When true, keep only companies that have XBRL financial statements",
73921
+ "in": "query",
73922
+ "name": "has_financials",
73923
+ "type": "boolean"
73924
+ },
73925
+ {
73926
+ "description": "Minimum latest-annual revenue in USD (normalized at reference rates), 0 or greater",
73333
73927
  "in": "query",
73334
73928
  "name": "min_revenue",
73335
73929
  "type": "number"
@@ -73666,25 +74260,37 @@
73666
74260
  "type": "string"
73667
74261
  },
73668
74262
  {
73669
- "description": "Minimum latest-annual revenue in USD, 0 or greater",
74263
+ "description": "Exact reporting-currency filter, ISO-4217 code, e.g. USD, JPY, EUR",
74264
+ "in": "query",
74265
+ "name": "reporting_currency",
74266
+ "type": "string"
74267
+ },
74268
+ {
74269
+ "description": "When true, keep only companies that have XBRL financial statements",
74270
+ "in": "query",
74271
+ "name": "has_financials",
74272
+ "type": "boolean"
74273
+ },
74274
+ {
74275
+ "description": "Minimum latest-annual revenue in USD (normalized from the filer's reporting currency at reference rates), 0 or greater",
73670
74276
  "in": "query",
73671
74277
  "name": "min_revenue",
73672
74278
  "type": "number"
73673
74279
  },
73674
74280
  {
73675
- "description": "Maximum latest-annual revenue in USD, 0 or greater",
74281
+ "description": "Maximum latest-annual revenue in USD (normalized), 0 or greater",
73676
74282
  "in": "query",
73677
74283
  "name": "max_revenue",
73678
74284
  "type": "number"
73679
74285
  },
73680
74286
  {
73681
- "description": "Minimum latest-annual net income in USD (negative allowed)",
74287
+ "description": "Minimum latest-annual net income in USD (normalized; negative allowed)",
73682
74288
  "in": "query",
73683
74289
  "name": "min_net_income",
73684
74290
  "type": "number"
73685
74291
  },
73686
74292
  {
73687
- "description": "Minimum latest-annual total assets in USD, 0 or greater",
74293
+ "description": "Minimum latest-annual total assets in USD (normalized), 0 or greater",
73688
74294
  "in": "query",
73689
74295
  "name": "min_total_assets",
73690
74296
  "type": "number"
@@ -85222,6 +85828,161 @@
85222
85828
  ]
85223
85829
  }
85224
85830
  },
85831
+ "/jobs/eightfold/board": {
85832
+ "get": {
85833
+ "consumes": [
85834
+ "application/json"
85835
+ ],
85836
+ "description": "Lists a company's public Eightfold AI job board, paged via limit/offset. tenant is the {tenant}.eightfold.ai subdomain from the careers URL; domain is the hiring organization's own domain (e.g. microsoft.com), also visible on the tenant's careers page. Tries the newer PCSX search first, falling back to the legacy SmartApply generation when PCSX is not enabled for the tenant. Credential-free public ATS JSON.",
85837
+ "operationId": "jobs-eightfold-board",
85838
+ "parameters": [
85839
+ {
85840
+ "description": "Eightfold tenant subdomain (careers URL)",
85841
+ "example": "microsoft",
85842
+ "in": "query",
85843
+ "name": "tenant",
85844
+ "required": true,
85845
+ "type": "string"
85846
+ },
85847
+ {
85848
+ "description": "Hiring organization domain",
85849
+ "example": "microsoft.com",
85850
+ "in": "query",
85851
+ "name": "domain",
85852
+ "required": true,
85853
+ "type": "string"
85854
+ },
85855
+ {
85856
+ "description": "Free-text search",
85857
+ "in": "query",
85858
+ "name": "query",
85859
+ "type": "string"
85860
+ },
85861
+ {
85862
+ "description": "Filter: location contains",
85863
+ "in": "query",
85864
+ "name": "location",
85865
+ "type": "string"
85866
+ },
85867
+ {
85868
+ "description": "Page size, default 10, max 10 (upstream caps results per page regardless of a larger value)",
85869
+ "in": "query",
85870
+ "name": "limit",
85871
+ "type": "integer"
85872
+ },
85873
+ {
85874
+ "description": "Page offset, default 0",
85875
+ "in": "query",
85876
+ "name": "offset",
85877
+ "type": "integer"
85878
+ }
85879
+ ],
85880
+ "produces": [
85881
+ "application/json"
85882
+ ],
85883
+ "responses": {
85884
+ "200": {
85885
+ "description": "OK",
85886
+ "schema": {
85887
+ "$ref": "#/definitions/jobs.boardResponseDoc"
85888
+ }
85889
+ },
85890
+ "400": {
85891
+ "description": "Bad Request",
85892
+ "schema": {
85893
+ "$ref": "#/definitions/app.Response"
85894
+ }
85895
+ },
85896
+ "503": {
85897
+ "description": "Service Unavailable",
85898
+ "schema": {
85899
+ "$ref": "#/definitions/app.Response"
85900
+ }
85901
+ }
85902
+ },
85903
+ "security": [
85904
+ {
85905
+ "ApiKeyAuth": []
85906
+ }
85907
+ ],
85908
+ "summary": "List an Eightfold tenant's job board",
85909
+ "tags": [
85910
+ "Jobs"
85911
+ ]
85912
+ }
85913
+ },
85914
+ "/jobs/eightfold/job": {
85915
+ "get": {
85916
+ "consumes": [
85917
+ "application/json"
85918
+ ],
85919
+ "description": "Returns a single Eightfold position with its full HTML/text description. id is the position id from a board listing; tenant/domain as in the board endpoint. Tries the newer PCSX detail first, falling back to the legacy SmartApply detail generation. Credential-free public ATS JSON.",
85920
+ "operationId": "jobs-eightfold-job",
85921
+ "parameters": [
85922
+ {
85923
+ "description": "Eightfold tenant subdomain",
85924
+ "example": "microsoft",
85925
+ "in": "query",
85926
+ "name": "tenant",
85927
+ "required": true,
85928
+ "type": "string"
85929
+ },
85930
+ {
85931
+ "description": "Hiring organization domain",
85932
+ "example": "microsoft.com",
85933
+ "in": "query",
85934
+ "name": "domain",
85935
+ "required": true,
85936
+ "type": "string"
85937
+ },
85938
+ {
85939
+ "description": "Eightfold position id from a board listing",
85940
+ "in": "query",
85941
+ "name": "id",
85942
+ "required": true,
85943
+ "type": "string"
85944
+ }
85945
+ ],
85946
+ "produces": [
85947
+ "application/json"
85948
+ ],
85949
+ "responses": {
85950
+ "200": {
85951
+ "description": "OK",
85952
+ "schema": {
85953
+ "$ref": "#/definitions/jobs.jobResponseDoc"
85954
+ }
85955
+ },
85956
+ "400": {
85957
+ "description": "Bad Request",
85958
+ "schema": {
85959
+ "$ref": "#/definitions/app.Response"
85960
+ }
85961
+ },
85962
+ "404": {
85963
+ "description": "Not Found",
85964
+ "schema": {
85965
+ "$ref": "#/definitions/app.Response"
85966
+ }
85967
+ },
85968
+ "503": {
85969
+ "description": "Service Unavailable",
85970
+ "schema": {
85971
+ "$ref": "#/definitions/app.Response"
85972
+ }
85973
+ }
85974
+ },
85975
+ "security": [
85976
+ {
85977
+ "ApiKeyAuth": []
85978
+ }
85979
+ ],
85980
+ "summary": "Get a single Eightfold position",
85981
+ "tags": [
85982
+ "Jobs"
85983
+ ]
85984
+ }
85985
+ },
85225
85986
  "/jobs/greenhouse/board": {
85226
85987
  "get": {
85227
85988
  "consumes": [
@@ -85354,7 +86115,7 @@
85354
86115
  "consumes": [
85355
86116
  "application/json"
85356
86117
  ],
85357
- "description": "Aggregates a company's ATS board into a hiring snapshot: total open roles, breakdowns by department/location/title, remote share, and how many roles are new in the last 7/30 days — a leading indicator of company growth. Supply provider plus that provider's slug params (token / company / org / tenant+datacenter+site). Breakdowns are computed over the fetched postings. Credential-free public ATS JSON.",
86118
+ "description": "Aggregates a company's ATS board into a hiring snapshot: total open roles, breakdowns by department/location/title, remote share, and how many roles are new in the last 7/30 days — a leading indicator of company growth. Supply provider plus that provider's slug params (token / company / org / tenant+datacenter+site / domain). Breakdowns are computed over the fetched postings. Credential-free public ATS JSON.",
85358
86119
  "operationId": "jobs-hiring-signals",
85359
86120
  "parameters": [
85360
86121
  {
@@ -85371,7 +86132,9 @@
85371
86132
  "personio",
85372
86133
  "teamtailor",
85373
86134
  "oracle",
85374
- "ukg"
86135
+ "ukg",
86136
+ "icims",
86137
+ "eightfold"
85375
86138
  ],
85376
86139
  "in": "query",
85377
86140
  "name": "provider",
@@ -85397,7 +86160,7 @@
85397
86160
  "type": "string"
85398
86161
  },
85399
86162
  {
85400
- "description": "workday tenant",
86163
+ "description": "workday / eightfold tenant",
85401
86164
  "in": "query",
85402
86165
  "name": "tenant",
85403
86166
  "type": "string"
@@ -85425,6 +86188,12 @@
85425
86188
  "in": "query",
85426
86189
  "name": "board",
85427
86190
  "type": "string"
86191
+ },
86192
+ {
86193
+ "description": "icims careers domain / eightfold organization domain",
86194
+ "in": "query",
86195
+ "name": "domain",
86196
+ "type": "string"
85428
86197
  }
85429
86198
  ],
85430
86199
  "produces": [
@@ -85467,6 +86236,152 @@
85467
86236
  ]
85468
86237
  }
85469
86238
  },
86239
+ "/jobs/icims/board": {
86240
+ "get": {
86241
+ "consumes": [
86242
+ "application/json"
86243
+ ],
86244
+ "description": "Lists a company's public iCIMS job board (served through the tenant's white-labeled careers domain, e.g. careers.costco.com — not the bare {company}.icims.com subdomain, which is an OAuth-gated employee portal), paged via page/limit, with the full description inline per job. domain is the tenant's careers domain from its careers URL. Credential-free public ATS JSON.",
86245
+ "operationId": "jobs-icims-board",
86246
+ "parameters": [
86247
+ {
86248
+ "description": "iCIMS tenant careers domain (careers URL)",
86249
+ "example": "careers.costco.com",
86250
+ "in": "query",
86251
+ "name": "domain",
86252
+ "required": true,
86253
+ "type": "string"
86254
+ },
86255
+ {
86256
+ "description": "Free-text keyword search",
86257
+ "in": "query",
86258
+ "name": "keywords",
86259
+ "type": "string"
86260
+ },
86261
+ {
86262
+ "description": "Filter: location contains",
86263
+ "in": "query",
86264
+ "name": "location",
86265
+ "type": "string"
86266
+ },
86267
+ {
86268
+ "description": "Page number, default 1",
86269
+ "in": "query",
86270
+ "name": "page",
86271
+ "type": "integer"
86272
+ },
86273
+ {
86274
+ "description": "Page size, default 20, max 50",
86275
+ "in": "query",
86276
+ "name": "limit",
86277
+ "type": "integer"
86278
+ }
86279
+ ],
86280
+ "produces": [
86281
+ "application/json"
86282
+ ],
86283
+ "responses": {
86284
+ "200": {
86285
+ "description": "OK",
86286
+ "schema": {
86287
+ "$ref": "#/definitions/jobs.boardResponseDoc"
86288
+ }
86289
+ },
86290
+ "400": {
86291
+ "description": "Bad Request",
86292
+ "schema": {
86293
+ "$ref": "#/definitions/app.Response"
86294
+ }
86295
+ },
86296
+ "503": {
86297
+ "description": "Service Unavailable",
86298
+ "schema": {
86299
+ "$ref": "#/definitions/app.Response"
86300
+ }
86301
+ }
86302
+ },
86303
+ "security": [
86304
+ {
86305
+ "ApiKeyAuth": []
86306
+ }
86307
+ ],
86308
+ "summary": "List an iCIMS tenant's job board",
86309
+ "tags": [
86310
+ "Jobs"
86311
+ ]
86312
+ }
86313
+ },
86314
+ "/jobs/icims/job": {
86315
+ "get": {
86316
+ "consumes": [
86317
+ "application/json"
86318
+ ],
86319
+ "description": "Returns a single iCIMS job with its full HTML/text description, department, and benefits. id is the req_id/slug from a board listing; lang defaults to en-us. Credential-free public ATS JSON.",
86320
+ "operationId": "jobs-icims-job",
86321
+ "parameters": [
86322
+ {
86323
+ "description": "iCIMS tenant careers domain",
86324
+ "example": "careers.costco.com",
86325
+ "in": "query",
86326
+ "name": "domain",
86327
+ "required": true,
86328
+ "type": "string"
86329
+ },
86330
+ {
86331
+ "description": "iCIMS job req_id/slug from a board listing",
86332
+ "in": "query",
86333
+ "name": "id",
86334
+ "required": true,
86335
+ "type": "string"
86336
+ },
86337
+ {
86338
+ "description": "Language code, default en-us",
86339
+ "example": "en-us",
86340
+ "in": "query",
86341
+ "name": "lang",
86342
+ "type": "string"
86343
+ }
86344
+ ],
86345
+ "produces": [
86346
+ "application/json"
86347
+ ],
86348
+ "responses": {
86349
+ "200": {
86350
+ "description": "OK",
86351
+ "schema": {
86352
+ "$ref": "#/definitions/jobs.jobResponseDoc"
86353
+ }
86354
+ },
86355
+ "400": {
86356
+ "description": "Bad Request",
86357
+ "schema": {
86358
+ "$ref": "#/definitions/app.Response"
86359
+ }
86360
+ },
86361
+ "404": {
86362
+ "description": "Not Found",
86363
+ "schema": {
86364
+ "$ref": "#/definitions/app.Response"
86365
+ }
86366
+ },
86367
+ "503": {
86368
+ "description": "Service Unavailable",
86369
+ "schema": {
86370
+ "$ref": "#/definitions/app.Response"
86371
+ }
86372
+ }
86373
+ },
86374
+ "security": [
86375
+ {
86376
+ "ApiKeyAuth": []
86377
+ }
86378
+ ],
86379
+ "summary": "Get a single iCIMS job",
86380
+ "tags": [
86381
+ "Jobs"
86382
+ ]
86383
+ }
86384
+ },
85470
86385
  "/jobs/lever/posting": {
85471
86386
  "get": {
85472
86387
  "consumes": [
@@ -110560,6 +111475,11 @@
110560
111475
  }
110561
111476
  }
110562
111477
  },
111478
+ "security": [
111479
+ {
111480
+ "ApiKeyAuth": []
111481
+ }
111482
+ ],
110563
111483
  "summary": "Get people born on a TCDB date",
110564
111484
  "tags": [
110565
111485
  "tcdb"
@@ -110632,6 +111552,11 @@
110632
111552
  }
110633
111553
  }
110634
111554
  },
111555
+ "security": [
111556
+ {
111557
+ "ApiKeyAuth": []
111558
+ }
111559
+ ],
110635
111560
  "summary": "Get TCDB card detail",
110636
111561
  "tags": [
110637
111562
  "tcdb"
@@ -110684,6 +111609,11 @@
110684
111609
  }
110685
111610
  }
110686
111611
  },
111612
+ "security": [
111613
+ {
111614
+ "ApiKeyAuth": []
111615
+ }
111616
+ ],
110687
111617
  "summary": "List TCDB cards of the day",
110688
111618
  "tags": [
110689
111619
  "tcdb"
@@ -110729,6 +111659,11 @@
110729
111659
  }
110730
111660
  }
110731
111661
  },
111662
+ "security": [
111663
+ {
111664
+ "ApiKeyAuth": []
111665
+ }
111666
+ ],
110732
111667
  "summary": "List TCDB card companies",
110733
111668
  "tags": [
110734
111669
  "tcdb"
@@ -110801,6 +111736,11 @@
110801
111736
  }
110802
111737
  }
110803
111738
  },
111739
+ "security": [
111740
+ {
111741
+ "ApiKeyAuth": []
111742
+ }
111743
+ ],
110804
111744
  "summary": "Get TCDB person card checklist",
110805
111745
  "tags": [
110806
111746
  "tcdb"
@@ -110846,6 +111786,11 @@
110846
111786
  }
110847
111787
  }
110848
111788
  },
111789
+ "security": [
111790
+ {
111791
+ "ApiKeyAuth": []
111792
+ }
111793
+ ],
110849
111794
  "summary": "List TCDB release dates",
110850
111795
  "tags": [
110851
111796
  "tcdb"
@@ -110924,6 +111869,11 @@
110924
111869
  }
110925
111870
  }
110926
111871
  },
111872
+ "security": [
111873
+ {
111874
+ "ApiKeyAuth": []
111875
+ }
111876
+ ],
110927
111877
  "summary": "Search Trading Card Database",
110928
111878
  "tags": [
110929
111879
  "tcdb"
@@ -110996,6 +111946,11 @@
110996
111946
  }
110997
111947
  }
110998
111948
  },
111949
+ "security": [
111950
+ {
111951
+ "ApiKeyAuth": []
111952
+ }
111953
+ ],
110999
111954
  "summary": "Get TCDB set checklist",
111000
111955
  "tags": [
111001
111956
  "tcdb"
@@ -111075,6 +112030,11 @@
111075
112030
  }
111076
112031
  }
111077
112032
  },
112033
+ "security": [
112034
+ {
112035
+ "ApiKeyAuth": []
112036
+ }
112037
+ ],
111078
112038
  "summary": "Browse TCDB sets by sport and year",
111079
112039
  "tags": [
111080
112040
  "tcdb"
@@ -111179,6 +112139,11 @@
111179
112139
  }
111180
112140
  }
111181
112141
  },
112142
+ "security": [
112143
+ {
112144
+ "ApiKeyAuth": []
112145
+ }
112146
+ ],
111182
112147
  "summary": "Get TCDB cards by tag",
111183
112148
  "tags": [
111184
112149
  "tcdb"
@@ -111251,6 +112216,11 @@
111251
112216
  }
111252
112217
  }
111253
112218
  },
112219
+ "security": [
112220
+ {
112221
+ "ApiKeyAuth": []
112222
+ }
112223
+ ],
111254
112224
  "summary": "Get TCDB team card checklist",
111255
112225
  "tags": [
111256
112226
  "tcdb"
@@ -111296,12 +112266,296 @@
111296
112266
  }
111297
112267
  }
111298
112268
  },
112269
+ "security": [
112270
+ {
112271
+ "ApiKeyAuth": []
112272
+ }
112273
+ ],
111299
112274
  "summary": "List TCDB top-rated sets",
111300
112275
  "tags": [
111301
112276
  "tcdb"
111302
112277
  ]
111303
112278
  }
111304
112279
  },
112280
+ "/threads/post/{username}/{code}": {
112281
+ "get": {
112282
+ "description": "Returns the public text, author, canonical URL, and preview image for a Threads post.",
112283
+ "operationId": "threads-post",
112284
+ "parameters": [
112285
+ {
112286
+ "description": "Threads username",
112287
+ "in": "path",
112288
+ "name": "username",
112289
+ "required": true,
112290
+ "type": "string"
112291
+ },
112292
+ {
112293
+ "description": "Threads post code",
112294
+ "in": "path",
112295
+ "name": "code",
112296
+ "required": true,
112297
+ "type": "string"
112298
+ }
112299
+ ],
112300
+ "produces": [
112301
+ "application/json"
112302
+ ],
112303
+ "responses": {
112304
+ "200": {
112305
+ "description": "Wrapped post payload",
112306
+ "schema": {
112307
+ "$ref": "#/definitions/threads.postResponseDoc"
112308
+ }
112309
+ },
112310
+ "400": {
112311
+ "description": "Invalid username or post code",
112312
+ "schema": {
112313
+ "$ref": "#/definitions/app.Response"
112314
+ }
112315
+ },
112316
+ "404": {
112317
+ "description": "Post not found",
112318
+ "schema": {
112319
+ "$ref": "#/definitions/app.Response"
112320
+ }
112321
+ },
112322
+ "503": {
112323
+ "description": "Upstream error or parser drift",
112324
+ "schema": {
112325
+ "$ref": "#/definitions/app.Response"
112326
+ }
112327
+ }
112328
+ },
112329
+ "security": [
112330
+ {
112331
+ "ApiKeyAuth": []
112332
+ }
112333
+ ],
112334
+ "summary": "Retrieve a public Threads post",
112335
+ "tags": [
112336
+ "Threads"
112337
+ ]
112338
+ }
112339
+ },
112340
+ "/threads/post/{username}/{code}/replies": {
112341
+ "get": {
112342
+ "description": "Returns the public replies currently exposed to logged-out visitors. The response identifies when Threads reports additional replies but withholds a usable continuation cursor.",
112343
+ "operationId": "threads-post-replies",
112344
+ "parameters": [
112345
+ {
112346
+ "description": "Threads username",
112347
+ "in": "path",
112348
+ "name": "username",
112349
+ "required": true,
112350
+ "type": "string"
112351
+ },
112352
+ {
112353
+ "description": "Threads post code",
112354
+ "in": "path",
112355
+ "name": "code",
112356
+ "required": true,
112357
+ "type": "string"
112358
+ }
112359
+ ],
112360
+ "produces": [
112361
+ "application/json"
112362
+ ],
112363
+ "responses": {
112364
+ "200": {
112365
+ "description": "Wrapped replies payload",
112366
+ "schema": {
112367
+ "$ref": "#/definitions/threads.repliesResponseDoc"
112368
+ }
112369
+ },
112370
+ "400": {
112371
+ "description": "Invalid username or post code",
112372
+ "schema": {
112373
+ "$ref": "#/definitions/app.Response"
112374
+ }
112375
+ },
112376
+ "404": {
112377
+ "description": "Post not found",
112378
+ "schema": {
112379
+ "$ref": "#/definitions/app.Response"
112380
+ }
112381
+ },
112382
+ "503": {
112383
+ "description": "Upstream error or parser drift",
112384
+ "schema": {
112385
+ "$ref": "#/definitions/app.Response"
112386
+ }
112387
+ }
112388
+ },
112389
+ "security": [
112390
+ {
112391
+ "ApiKeyAuth": []
112392
+ }
112393
+ ],
112394
+ "summary": "Retrieve public replies to a Threads post",
112395
+ "tags": [
112396
+ "Threads"
112397
+ ]
112398
+ }
112399
+ },
112400
+ "/threads/profile/{username}": {
112401
+ "get": {
112402
+ "description": "Returns public profile metadata for a Threads username, including the visible biography and counts.",
112403
+ "operationId": "threads-profile",
112404
+ "parameters": [
112405
+ {
112406
+ "description": "Threads username",
112407
+ "in": "path",
112408
+ "name": "username",
112409
+ "required": true,
112410
+ "type": "string"
112411
+ }
112412
+ ],
112413
+ "produces": [
112414
+ "application/json"
112415
+ ],
112416
+ "responses": {
112417
+ "200": {
112418
+ "description": "Wrapped profile payload",
112419
+ "schema": {
112420
+ "$ref": "#/definitions/threads.profileResponseDoc"
112421
+ }
112422
+ },
112423
+ "400": {
112424
+ "description": "Invalid username",
112425
+ "schema": {
112426
+ "$ref": "#/definitions/app.Response"
112427
+ }
112428
+ },
112429
+ "404": {
112430
+ "description": "Profile not found",
112431
+ "schema": {
112432
+ "$ref": "#/definitions/app.Response"
112433
+ }
112434
+ },
112435
+ "503": {
112436
+ "description": "Upstream error or parser drift",
112437
+ "schema": {
112438
+ "$ref": "#/definitions/app.Response"
112439
+ }
112440
+ }
112441
+ },
112442
+ "security": [
112443
+ {
112444
+ "ApiKeyAuth": []
112445
+ }
112446
+ ],
112447
+ "summary": "Retrieve a public Threads profile",
112448
+ "tags": [
112449
+ "Threads"
112450
+ ]
112451
+ }
112452
+ },
112453
+ "/threads/profile/{username}/posts": {
112454
+ "get": {
112455
+ "description": "Returns public profile posts with an opaque continuation cursor when more posts are available.",
112456
+ "operationId": "threads-profile-posts",
112457
+ "parameters": [
112458
+ {
112459
+ "description": "Threads username",
112460
+ "in": "path",
112461
+ "name": "username",
112462
+ "required": true,
112463
+ "type": "string"
112464
+ },
112465
+ {
112466
+ "description": "Opaque cursor returned by the previous response",
112467
+ "in": "query",
112468
+ "name": "cursor",
112469
+ "type": "string"
112470
+ }
112471
+ ],
112472
+ "produces": [
112473
+ "application/json"
112474
+ ],
112475
+ "responses": {
112476
+ "200": {
112477
+ "description": "Wrapped profile posts payload",
112478
+ "schema": {
112479
+ "$ref": "#/definitions/threads.profilePostsResponseDoc"
112480
+ }
112481
+ },
112482
+ "400": {
112483
+ "description": "Invalid username or cursor",
112484
+ "schema": {
112485
+ "$ref": "#/definitions/app.Response"
112486
+ }
112487
+ },
112488
+ "404": {
112489
+ "description": "Profile not found",
112490
+ "schema": {
112491
+ "$ref": "#/definitions/app.Response"
112492
+ }
112493
+ },
112494
+ "503": {
112495
+ "description": "Upstream error or parser drift",
112496
+ "schema": {
112497
+ "$ref": "#/definitions/app.Response"
112498
+ }
112499
+ }
112500
+ },
112501
+ "security": [
112502
+ {
112503
+ "ApiKeyAuth": []
112504
+ }
112505
+ ],
112506
+ "summary": "Retrieve public posts from a Threads profile",
112507
+ "tags": [
112508
+ "Threads"
112509
+ ]
112510
+ }
112511
+ },
112512
+ "/threads/search": {
112513
+ "get": {
112514
+ "description": "Returns the public first page of Threads search results for a query. Logged-out search does not expose a continuation cursor.",
112515
+ "operationId": "threads-search",
112516
+ "parameters": [
112517
+ {
112518
+ "description": "Search query (1-100 characters)",
112519
+ "in": "query",
112520
+ "name": "q",
112521
+ "required": true,
112522
+ "type": "string"
112523
+ }
112524
+ ],
112525
+ "produces": [
112526
+ "application/json"
112527
+ ],
112528
+ "responses": {
112529
+ "200": {
112530
+ "description": "Wrapped search payload",
112531
+ "schema": {
112532
+ "$ref": "#/definitions/threads.searchResponseDoc"
112533
+ }
112534
+ },
112535
+ "400": {
112536
+ "description": "Invalid query",
112537
+ "schema": {
112538
+ "$ref": "#/definitions/app.Response"
112539
+ }
112540
+ },
112541
+ "503": {
112542
+ "description": "Upstream error or parser drift",
112543
+ "schema": {
112544
+ "$ref": "#/definitions/app.Response"
112545
+ }
112546
+ }
112547
+ },
112548
+ "security": [
112549
+ {
112550
+ "ApiKeyAuth": []
112551
+ }
112552
+ ],
112553
+ "summary": "Search public Threads posts",
112554
+ "tags": [
112555
+ "Threads"
112556
+ ]
112557
+ }
112558
+ },
111305
112559
  "/tiktok/category": {
111306
112560
  "get": {
111307
112561
  "consumes": [