@apifreaks/openapi-specs 0.2.0 → 0.3.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.
Files changed (214) hide show
  1. package/README.md +37 -38
  2. package/dist/index.cjs +5561 -2991
  3. package/dist/index.d.cts +2 -3
  4. package/dist/index.d.ts +2 -3
  5. package/dist/index.js +5561 -2991
  6. package/dist/specs/{general → billing}/usage-credits.yaml +11 -0
  7. package/dist/specs/commodity/commodity-fluctuation.yaml +14 -0
  8. package/dist/specs/commodity/commodity-prices.yaml +14 -0
  9. package/dist/specs/commodity/commodity-symbols.yaml +8 -0
  10. package/dist/specs/commodity/commodity-time-series.yaml +14 -0
  11. package/dist/specs/commodity/historical-commodity-prices.yaml +14 -0
  12. package/dist/specs/currency/currency-converter.yaml +14 -0
  13. package/dist/specs/currency/currency-fluctuation.yaml +14 -0
  14. package/dist/specs/currency/currency-historical-data-limit.yaml +11 -0
  15. package/dist/specs/currency/currency-rate.yaml +14 -0
  16. package/dist/specs/currency/currency-supported.yaml +11 -0
  17. package/dist/specs/currency/currency-symbols.yaml +11 -0
  18. package/dist/specs/currency/currency-time-series.yaml +14 -0
  19. package/dist/specs/currency/geolocalized-currency-conversion.yaml +14 -0
  20. package/dist/specs/currency/historical-currency-converter.yaml +14 -0
  21. package/dist/specs/currency/historical-currency-rate.yaml +14 -0
  22. package/dist/specs/dns/bulk-dns-lookup.yaml +14 -0
  23. package/dist/specs/dns/dns-history-lookup.yaml +14 -0
  24. package/dist/specs/dns/dns-lookup.yaml +11 -0
  25. package/dist/specs/dns/reverse-dns-lookup.yaml +34 -0
  26. package/dist/specs/domain/bulk-domain-checker.yaml +17 -0
  27. package/dist/specs/domain/domain-search-with-suggestions.yaml +14 -0
  28. package/dist/specs/domain/domain-search.yaml +14 -0
  29. package/dist/specs/domain/subdomain-lookup.yaml +14 -0
  30. package/dist/specs/email-validation/bulk-email-validation.yaml +76 -12
  31. package/dist/specs/email-validation/email-checker.yaml +93 -10
  32. package/dist/specs/financial/bulk-vat-rates-country.yaml +14 -0
  33. package/dist/specs/financial/financial-apis-supported-countries.yaml +8 -0
  34. package/dist/specs/financial/iban-validation.yaml +11 -0
  35. package/dist/specs/financial/swift-code-finder.yaml +11 -0
  36. package/dist/specs/financial/swift-code-lookup.yaml +14 -0
  37. package/dist/specs/financial/vat-number-validation.yaml +14 -0
  38. package/dist/specs/financial/vat-rates-by-ip.yaml +14 -0
  39. package/dist/specs/financial/vat-rates-country.yaml +14 -0
  40. package/dist/specs/geocoding/forward-geocoding.yaml +14 -0
  41. package/dist/specs/geocoding/reverse-geocoding.yaml +11 -0
  42. package/dist/specs/{geodb → geography}/administrative-units-details.yaml +14 -0
  43. package/dist/specs/{geodb → geography}/administrative-units-levels.yaml +14 -0
  44. package/dist/specs/{geodb → geography}/administrative-units.yaml +14 -0
  45. package/dist/specs/{geodb → geography}/cities.yaml +14 -0
  46. package/dist/specs/{geodb → geography}/countries-details.yaml +11 -0
  47. package/dist/specs/{geodb → geography}/countries.yaml +11 -0
  48. package/dist/specs/{geodb → geography}/flags-supported.yaml +8 -0
  49. package/dist/specs/{geodb → geography}/flags.yaml +14 -0
  50. package/dist/specs/{geodb → geography}/regions.yaml +8 -0
  51. package/dist/specs/{geodb → geography}/subregions.yaml +14 -0
  52. package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +14 -0
  53. package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +11 -0
  54. package/dist/specs/ip-intelligence/ip-locator.yaml +17 -0
  55. package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +14 -0
  56. package/dist/specs/pdf/bulk-pdf-generator.yaml +32 -0
  57. package/dist/specs/pdf/delete-pdf-page.yaml +14 -0
  58. package/dist/specs/pdf/linearize-pdf.yaml +14 -0
  59. package/dist/specs/pdf/merge-pdf.yaml +14 -0
  60. package/dist/specs/pdf/pdf-compress.yaml +14 -0
  61. package/dist/specs/pdf/pdf-decrypt.yaml +14 -0
  62. package/dist/specs/pdf/pdf-encrypt.yaml +14 -0
  63. package/dist/specs/pdf/pdf-extract-pages.yaml +14 -0
  64. package/dist/specs/pdf/pdf-file-status.yaml +14 -0
  65. package/dist/specs/pdf/pdf-file.yaml +14 -0
  66. package/dist/specs/pdf/pdf-files.yaml +8 -0
  67. package/dist/specs/pdf/pdf-generator.yaml +32 -0
  68. package/dist/specs/pdf/pdf-resource-download.yaml +14 -0
  69. package/dist/specs/pdf/pdf-resource-upload-binary.yaml +14 -0
  70. package/dist/specs/pdf/pdf-resource-upload.yaml +14 -0
  71. package/dist/specs/pdf/pdf-restrict.yaml +14 -0
  72. package/dist/specs/pdf/pdf-split-pages.yaml +14 -0
  73. package/dist/specs/pdf/pdf-task-status.yaml +14 -0
  74. package/dist/specs/pdf/pdf-to-image.yaml +35 -0
  75. package/dist/specs/pdf/pdf-unrestrict.yaml +14 -0
  76. package/dist/specs/pdf/rotate-pdf-pages.yaml +14 -0
  77. package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +23 -0
  78. package/dist/specs/phone-validation/phone-number-validation.yaml +20 -0
  79. package/dist/specs/scraper/web-scraper.yaml +34 -0
  80. package/dist/specs/screenshot/bulk-screenshot.yaml +34 -0
  81. package/dist/specs/screenshot/website-screenshot.yaml +34 -0
  82. package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +17 -0
  83. package/dist/specs/ssl/ssl-certificate-lookup.yaml +17 -0
  84. package/dist/specs/timezone/timezone-converter.yaml +14 -0
  85. package/dist/specs/timezone/timezone-lookup.yaml +14 -0
  86. package/dist/specs/user-agent/bulk-user-agent-parser.yaml +11 -0
  87. package/dist/specs/user-agent/user-agent-parser.yaml +11 -0
  88. package/dist/specs/weather/air-quality.yaml +14 -0
  89. package/dist/specs/{other → weather}/astronomy-data.yaml +14 -0
  90. package/dist/specs/weather/bulk-live-weather.yaml +11 -0
  91. package/dist/specs/weather/flood-forecast.yaml +14 -0
  92. package/dist/specs/weather/historical-weather.yaml +14 -0
  93. package/dist/specs/weather/live-weather.yaml +14 -0
  94. package/dist/specs/weather/marine-weather.yaml +14 -0
  95. package/dist/specs/weather/time-series-weather.yaml +11 -0
  96. package/dist/specs/weather/weather-forecast.yaml +11 -0
  97. package/dist/specs/whois/asn-lookup.yaml +14 -0
  98. package/dist/specs/whois/bulk-whois-lookup.yaml +17 -0
  99. package/dist/specs/whois/domain-whois-history-lookup.yaml +14 -0
  100. package/dist/specs/whois/reverse-whois.yaml +34 -0
  101. package/dist/specs/whois/whois-domain-lookup.yaml +17 -0
  102. package/dist/specs/whois/whois-ip-lookup.yaml +14 -0
  103. package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +14 -0
  104. package/dist/specs/zip-code/zip-code-api.yaml +14 -0
  105. package/dist/specs/zip-code/zip-code-distance-match.yaml +14 -0
  106. package/dist/specs/zip-code/zip-code-distance.yaml +14 -0
  107. package/dist/specs/zip-code/zip-codes-by-city.yaml +14 -0
  108. package/dist/specs/zip-code/zip-codes-by-region.yaml +14 -0
  109. package/dist/specs/zip-code/zip-codes-radius-search.yaml +34 -0
  110. package/package.json +1 -1
  111. package/specs/{general → billing}/usage-credits.json +18 -0
  112. package/specs/commodity/commodity-fluctuation.json +23 -0
  113. package/specs/commodity/commodity-prices.json +23 -0
  114. package/specs/commodity/commodity-symbols.json +13 -0
  115. package/specs/commodity/commodity-time-series.json +27 -13
  116. package/specs/commodity/historical-commodity-prices.json +23 -0
  117. package/specs/currency/currency-converter.json +23 -0
  118. package/specs/currency/currency-fluctuation.json +23 -0
  119. package/specs/currency/currency-historical-data-limit.json +18 -0
  120. package/specs/currency/currency-rate.json +23 -0
  121. package/specs/currency/currency-supported.json +18 -0
  122. package/specs/currency/currency-symbols.json +18 -0
  123. package/specs/currency/currency-time-series.json +23 -0
  124. package/specs/currency/geolocalized-currency-conversion.json +23 -0
  125. package/specs/currency/historical-currency-converter.json +23 -0
  126. package/specs/currency/historical-currency-rate.json +23 -0
  127. package/specs/dns/bulk-dns-lookup.json +23 -0
  128. package/specs/dns/dns-history-lookup.json +23 -0
  129. package/specs/dns/dns-lookup.json +18 -0
  130. package/specs/dns/reverse-dns-lookup.json +61 -1
  131. package/specs/domain/bulk-domain-checker.json +28 -0
  132. package/specs/domain/domain-search-with-suggestions.json +23 -0
  133. package/specs/domain/domain-search.json +23 -0
  134. package/specs/domain/subdomain-lookup.json +23 -0
  135. package/specs/email-validation/bulk-email-validation.json +118 -13
  136. package/specs/email-validation/email-checker.json +131 -11
  137. package/specs/financial/bulk-vat-rates-country.json +23 -0
  138. package/specs/financial/financial-apis-supported-countries.json +34 -5
  139. package/specs/financial/iban-validation.json +18 -0
  140. package/specs/financial/swift-code-finder.json +31 -2
  141. package/specs/financial/swift-code-lookup.json +23 -0
  142. package/specs/financial/vat-number-validation.json +23 -0
  143. package/specs/financial/vat-rates-by-ip.json +23 -0
  144. package/specs/financial/vat-rates-country.json +23 -0
  145. package/specs/geocoding/forward-geocoding.json +23 -0
  146. package/specs/geocoding/reverse-geocoding.json +18 -0
  147. package/specs/{geodb → geography}/administrative-units-details.json +23 -0
  148. package/specs/{geodb → geography}/administrative-units-levels.json +23 -0
  149. package/specs/{geodb → geography}/administrative-units.json +23 -0
  150. package/specs/{geodb → geography}/cities.json +23 -0
  151. package/specs/{geodb → geography}/countries-details.json +18 -0
  152. package/specs/{geodb → geography}/countries.json +18 -0
  153. package/specs/{geodb → geography}/flags-supported.json +13 -0
  154. package/specs/{geodb → geography}/flags.json +23 -0
  155. package/specs/{geodb → geography}/regions.json +13 -0
  156. package/specs/{geodb → geography}/subregions.json +23 -0
  157. package/specs/ip-intelligence/bulk-ip-lookup.json +23 -0
  158. package/specs/ip-intelligence/bulk-ip-threat-intelligence.json +18 -0
  159. package/specs/ip-intelligence/ip-locator.json +33 -5
  160. package/specs/ip-intelligence/ip-threat-intelligence.json +23 -0
  161. package/specs/pdf/bulk-pdf-generator.json +61 -8
  162. package/specs/pdf/delete-pdf-page.json +33 -21
  163. package/specs/pdf/linearize-pdf.json +31 -19
  164. package/specs/pdf/merge-pdf.json +30 -18
  165. package/specs/pdf/pdf-compress.json +32 -25
  166. package/specs/pdf/pdf-decrypt.json +32 -21
  167. package/specs/pdf/pdf-encrypt.json +31 -19
  168. package/specs/pdf/pdf-extract-pages.json +33 -21
  169. package/specs/pdf/pdf-file-status.json +23 -0
  170. package/specs/pdf/pdf-file.json +23 -0
  171. package/specs/pdf/pdf-files.json +13 -0
  172. package/specs/pdf/pdf-generator.json +61 -8
  173. package/specs/pdf/pdf-resource-download.json +23 -0
  174. package/specs/pdf/pdf-resource-upload-binary.json +29 -16
  175. package/specs/pdf/pdf-resource-upload.json +30 -19
  176. package/specs/pdf/pdf-restrict.json +32 -20
  177. package/specs/pdf/pdf-split-pages.json +33 -21
  178. package/specs/pdf/pdf-task-status.json +23 -0
  179. package/specs/pdf/pdf-to-image.json +90 -101
  180. package/specs/pdf/pdf-unrestrict.json +32 -20
  181. package/specs/pdf/rotate-pdf-pages.json +32 -20
  182. package/specs/phone-validation/bulk-phone-number-validation.json +54 -16
  183. package/specs/phone-validation/phone-number-validation.json +33 -0
  184. package/specs/scraper/web-scraper.json +53 -0
  185. package/specs/screenshot/bulk-screenshot.json +53 -0
  186. package/specs/screenshot/website-screenshot.json +53 -0
  187. package/specs/ssl/ssl-certificate-chain-lookup.json +28 -0
  188. package/specs/ssl/ssl-certificate-lookup.json +28 -0
  189. package/specs/timezone/timezone-converter.json +23 -0
  190. package/specs/timezone/timezone-lookup.json +25 -2
  191. package/specs/user-agent/bulk-user-agent-parser.json +20 -2
  192. package/specs/user-agent/user-agent-parser.json +18 -0
  193. package/specs/weather/air-quality.json +23 -0
  194. package/specs/{other → weather}/astronomy-data.json +24 -2
  195. package/specs/weather/bulk-live-weather.json +18 -0
  196. package/specs/weather/flood-forecast.json +23 -0
  197. package/specs/weather/historical-weather.json +23 -0
  198. package/specs/weather/live-weather.json +23 -0
  199. package/specs/weather/marine-weather.json +23 -0
  200. package/specs/weather/time-series-weather.json +18 -0
  201. package/specs/weather/weather-forecast.json +18 -0
  202. package/specs/whois/asn-lookup.json +23 -0
  203. package/specs/whois/bulk-whois-lookup.json +28 -0
  204. package/specs/whois/domain-whois-history-lookup.json +23 -0
  205. package/specs/whois/reverse-whois.json +53 -0
  206. package/specs/whois/whois-domain-lookup.json +28 -0
  207. package/specs/whois/whois-ip-lookup.json +23 -0
  208. package/specs/zip-code/bulk-zip-code-lookup.json +23 -0
  209. package/specs/zip-code/zip-code-api.json +23 -0
  210. package/specs/zip-code/zip-code-distance-match.json +23 -0
  211. package/specs/zip-code/zip-code-distance.json +23 -0
  212. package/specs/zip-code/zip-codes-by-city.json +23 -0
  213. package/specs/zip-code/zip-codes-by-region.json +24 -7
  214. package/specs/zip-code/zip-codes-radius-search.json +53 -0
@@ -93,6 +93,9 @@ paths:
93
93
  region: US
94
94
  possible: false
95
95
  valid: false
96
+ headers:
97
+ X-AF-Credits-Cost:
98
+ $ref: '#/components/headers/X-AF-Credits-Cost'
96
99
  '400':
97
100
  description: Bad Request – e.g. missing required field or both region codes provided
98
101
  content:
@@ -148,6 +151,9 @@ paths:
148
151
  error: Number Too Long
149
152
  message: The phone number has more digits than any valid phone number can have.
150
153
  path: /v1.0/phone-number/info
154
+ headers:
155
+ X-AF-Credits-Cost:
156
+ $ref: '#/components/headers/X-AF-Credits-Cost'
151
157
  '404':
152
158
  description: Not Found – Wrong HTTP method used on the endpoint (e.g. GET instead of POST)
153
159
  content:
@@ -163,6 +169,9 @@ paths:
163
169
  path: /v1.0/phone/validation
164
170
  status: 404
165
171
  timestamp: '2026-07-27T12:56:14.351Z'
172
+ headers:
173
+ X-AF-Credits-Cost:
174
+ $ref: '#/components/headers/X-AF-Credits-Cost'
166
175
  '408':
167
176
  description: Request Timeout – Timed out while connecting to the remote server
168
177
  content:
@@ -178,6 +187,9 @@ paths:
178
187
  status: 408
179
188
  error: Request Timeout
180
189
  message: Timed out while connecting to the remote URL.
190
+ headers:
191
+ X-AF-Credits-Cost:
192
+ $ref: '#/components/headers/X-AF-Credits-Cost'
181
193
  '429':
182
194
  description: Rate Limit Exceeded – API rate limit exceeded
183
195
  content:
@@ -193,6 +205,9 @@ paths:
193
205
  status: 429
194
206
  error: Too Many Requests
195
207
  message: API rate limit exceeded.
208
+ headers:
209
+ X-AF-Credits-Cost:
210
+ $ref: '#/components/headers/X-AF-Credits-Cost'
196
211
  operationId: validatePhoneNumber
197
212
  components:
198
213
  securitySchemes:
@@ -339,6 +354,11 @@ components:
339
354
  description: Standard error envelope returned by the API on failed requests.
340
355
  required:
341
356
  - message
357
+ headers:
358
+ X-AF-Credits-Cost:
359
+ description: Specifies the number of credits consumed by the current request.
360
+ schema:
361
+ type: integer
342
362
  security:
343
363
  - ApiKeyAuthHeader: []
344
364
  - ApiKeyAuthQuery: []
@@ -142,6 +142,13 @@ paths:
142
142
  - <small class="author" itemprop="author">Thomas A. Edison</small>
143
143
  - <small class="author" itemprop="author">Eleanor Roosevelt</small>
144
144
  - <small class="author" itemprop="author">Steve Martin</small>
145
+ headers:
146
+ X-AF-Credits-Cost:
147
+ $ref: '#/components/headers/X-AF-Credits-Cost'
148
+ X-Concurrent-Threads:
149
+ $ref: '#/components/headers/X-Concurrent-Threads'
150
+ X-Concurrent-Threads-Active:
151
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
145
152
  '400':
146
153
  description: Bad Request — Missing/invalid parameters, malformed request body, unparseable selectors, or the target URL could not be fetched
147
154
  content:
@@ -197,6 +204,13 @@ paths:
197
204
  error: Bad Request
198
205
  message: Check the url or links
199
206
  path: /v1/scraping/params
207
+ headers:
208
+ X-AF-Credits-Cost:
209
+ $ref: '#/components/headers/X-AF-Credits-Cost'
210
+ X-Concurrent-Threads:
211
+ $ref: '#/components/headers/X-Concurrent-Threads'
212
+ X-Concurrent-Threads-Active:
213
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
200
214
  '404':
201
215
  description: Not Found — Wrong HTTP method or path used against this endpoint
202
216
  content:
@@ -212,6 +226,13 @@ paths:
212
226
  path: /v1.0/scraping
213
227
  status: 404
214
228
  timestamp: '2026-07-23T11:51:33.926Z'
229
+ headers:
230
+ X-AF-Credits-Cost:
231
+ $ref: '#/components/headers/X-AF-Credits-Cost'
232
+ X-Concurrent-Threads:
233
+ $ref: '#/components/headers/X-Concurrent-Threads'
234
+ X-Concurrent-Threads-Active:
235
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
215
236
  components:
216
237
  securitySchemes:
217
238
  ApiKeyAuthHeader:
@@ -474,6 +495,19 @@ components:
474
495
  type: string
475
496
  format: date-time
476
497
  description: Timestamp when the error occurred (ISO 8601).
498
+ headers:
499
+ X-AF-Credits-Cost:
500
+ description: Specifies the number of credits consumed by the current request.
501
+ schema:
502
+ type: integer
503
+ X-Concurrent-Threads:
504
+ description: Specifies the maximum number of concurrent requests allowed.
505
+ schema:
506
+ type: integer
507
+ X-Concurrent-Threads-Active:
508
+ description: Indicates the number of active concurrent requests being processed.
509
+ schema:
510
+ type: integer
477
511
  security:
478
512
  - ApiKeyAuthHeader: []
479
513
  - ApiKeyAuthQuery: []
@@ -80,6 +80,13 @@ paths:
80
80
  path: /v3/screenshot
81
81
  status: fulfilled
82
82
  error_message: null
83
+ headers:
84
+ X-AF-Credits-Cost:
85
+ $ref: '#/components/headers/X-AF-Credits-Cost'
86
+ X-Concurrent-Threads:
87
+ $ref: '#/components/headers/X-Concurrent-Threads'
88
+ X-Concurrent-Threads-Active:
89
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
83
90
  '400':
84
91
  description: Invalid request body
85
92
  content:
@@ -95,6 +102,13 @@ paths:
95
102
  timestamp: '2026-07-27T10:18:42.036Z'
96
103
  schema:
97
104
  $ref: '#/components/schemas/ErrorResponse'
105
+ headers:
106
+ X-AF-Credits-Cost:
107
+ $ref: '#/components/headers/X-AF-Credits-Cost'
108
+ X-Concurrent-Threads:
109
+ $ref: '#/components/headers/X-Concurrent-Threads'
110
+ X-Concurrent-Threads-Active:
111
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
98
112
  '413':
99
113
  description: Payload too large
100
114
  content:
@@ -110,6 +124,13 @@ paths:
110
124
  timestamp: '2026-07-27T10:18:57.172Z'
111
125
  schema:
112
126
  $ref: '#/components/schemas/ErrorResponse'
127
+ headers:
128
+ X-AF-Credits-Cost:
129
+ $ref: '#/components/headers/X-AF-Credits-Cost'
130
+ X-Concurrent-Threads:
131
+ $ref: '#/components/headers/X-Concurrent-Threads'
132
+ X-Concurrent-Threads-Active:
133
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
113
134
  components:
114
135
  securitySchemes:
115
136
  ApiKeyAuthHeader:
@@ -723,6 +744,19 @@ components:
723
744
  type: string
724
745
  format: date-time
725
746
  description: Timestamp when the error occurred (ISO 8601).
747
+ headers:
748
+ X-AF-Credits-Cost:
749
+ description: Specifies the number of credits consumed by the current request.
750
+ schema:
751
+ type: integer
752
+ X-Concurrent-Threads:
753
+ description: Specifies the maximum number of concurrent requests allowed.
754
+ schema:
755
+ type: integer
756
+ X-Concurrent-Threads-Active:
757
+ description: Indicates the number of active concurrent requests being processed.
758
+ schema:
759
+ type: integer
726
760
  security:
727
761
  - ApiKeyAuthHeader: []
728
762
  - ApiKeyAuthQuery: []
@@ -521,6 +521,13 @@ paths:
521
521
  created_at: '2026-07-27T10:19:08.668Z'
522
522
  format: json
523
523
  ttl: '2026-08-26T10:19:05.486Z'
524
+ headers:
525
+ X-AF-Credits-Cost:
526
+ $ref: '#/components/headers/X-AF-Credits-Cost'
527
+ X-Concurrent-Threads:
528
+ $ref: '#/components/headers/X-Concurrent-Threads'
529
+ X-Concurrent-Threads-Active:
530
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
524
531
  '400':
525
532
  description: Bad Request — Invalid or missing parameters
526
533
  content:
@@ -544,6 +551,13 @@ paths:
544
551
  timestamp: '2026-07-27T10:19:11.922Z'
545
552
  schema:
546
553
  $ref: '#/components/schemas/ErrorResponse'
554
+ headers:
555
+ X-AF-Credits-Cost:
556
+ $ref: '#/components/headers/X-AF-Credits-Cost'
557
+ X-Concurrent-Threads:
558
+ $ref: '#/components/headers/X-Concurrent-Threads'
559
+ X-Concurrent-Threads-Active:
560
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
547
561
  '408':
548
562
  description: Request Timeout — Screenshot capture exceeded the configured timeout
549
563
  content:
@@ -559,6 +573,13 @@ paths:
559
573
  path: /v3/screenshot
560
574
  schema:
561
575
  $ref: '#/components/schemas/ErrorResponse'
576
+ headers:
577
+ X-AF-Credits-Cost:
578
+ $ref: '#/components/headers/X-AF-Credits-Cost'
579
+ X-Concurrent-Threads:
580
+ $ref: '#/components/headers/X-Concurrent-Threads'
581
+ X-Concurrent-Threads-Active:
582
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
562
583
  components:
563
584
  securitySchemes:
564
585
  ApiKeyAuthHeader:
@@ -817,6 +838,19 @@ components:
817
838
  type: string
818
839
  format: date-time
819
840
  description: Timestamp when the error occurred (ISO 8601).
841
+ headers:
842
+ X-AF-Credits-Cost:
843
+ description: Specifies the number of credits consumed by the current request.
844
+ schema:
845
+ type: integer
846
+ X-Concurrent-Threads:
847
+ description: Specifies the maximum number of concurrent requests allowed.
848
+ schema:
849
+ type: integer
850
+ X-Concurrent-Threads-Active:
851
+ description: Indicates the number of active concurrent requests being processed.
852
+ schema:
853
+ type: integer
820
854
  security:
821
855
  - ApiKeyAuthHeader: []
822
856
  - ApiKeyAuthQuery: []
@@ -217,6 +217,9 @@ paths:
217
217
  -----BEGIN CERTIFICATE-----
218
218
  MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAQaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbtifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhl
219
219
  -----END CERTIFICATE-----
220
+ headers:
221
+ X-AF-Credits-Cost:
222
+ $ref: '#/components/headers/X-AF-Credits-Cost'
220
223
  '400':
221
224
  description: Bad Request – Invalid domain parameter
222
225
  content:
@@ -231,6 +234,9 @@ paths:
231
234
  error: Invalid Param Exception
232
235
  message: ' Please pass domain param correct value e.g. whoisfreaks.com, https://whoisfreaks.com, http://whoisfreaks.com [For Technical Support: support@apifreaks.com]'
233
236
  path: /v1.0/domain/ssl/live/chain
237
+ headers:
238
+ X-AF-Credits-Cost:
239
+ $ref: '#/components/headers/X-AF-Credits-Cost'
234
240
  '403':
235
241
  description: Forbidden – Domain extension unavailable
236
242
  content:
@@ -245,6 +251,9 @@ paths:
245
251
  error: Forbidden
246
252
  message: Unavailable domain extension.
247
253
  path: /v1.0/domain/ssl/live/chain
254
+ headers:
255
+ X-AF-Credits-Cost:
256
+ $ref: '#/components/headers/X-AF-Credits-Cost'
248
257
  '404':
249
258
  description: Not Found – No SSL certificate exists
250
259
  content:
@@ -259,6 +268,9 @@ paths:
259
268
  error: SSL Data Not Found
260
269
  message: No Ssl Certificate exists for entered Domain
261
270
  path: /v1.0/domain/ssl/live/chain
271
+ headers:
272
+ X-AF-Credits-Cost:
273
+ $ref: '#/components/headers/X-AF-Credits-Cost'
262
274
  components:
263
275
  securitySchemes:
264
276
  ApiKeyAuthHeader:
@@ -588,6 +600,11 @@ components:
588
600
  type: string
589
601
  format: date-time
590
602
  description: Timestamp when the error occurred (ISO 8601).
603
+ headers:
604
+ X-AF-Credits-Cost:
605
+ description: Specifies the number of credits consumed by the current request.
606
+ schema:
607
+ type: integer
591
608
  security:
592
609
  - ApiKeyAuthHeader: []
593
610
  - ApiKeyAuthQuery: []
@@ -102,6 +102,9 @@ paths:
102
102
  -----BEGIN CERTIFICATE-----
103
103
  MIIIdTCCB12gAwIBAgIRANUqWWhJo86bEGQWm8fr30swDQYJKoZIhvcNAQELBQAwOzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczEMMAoGA1UEAxMDV1IyMB4XDTI2MDUxODE4MzUyMVoXDTI2MDgxMDE4MzUyMFowFzEVMBMGA1UEAwwMKi5nb29nbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErGwQHDlGZHg4bCpvaBQKF07hm4v6puRsRi7O6JQH78GTcBkGAHRZSLqvlH8K+wDBOiTKlDh3sWlmEJDUJDdoKKOCBmEwggZdMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQu7DS5PpeDw37l0PSrVtQlmWd9azAfBgNVHSMEGDAWgBTeGx7teRXUPjckwyG77DQ5bUKyMDBYBggrBgEFBQcBAQRMMEowIQYIKwYBBQUHMAGGFWh0dHA6Ly9vLnBraS5nb29nL3dyMjAlBggrBgEFBQcwAoYZaHR0cDovL2kucGtpLmdvb2cvd3IyLmNydDCCBDgGA1UdEQSCBC8wggQrggwqLmdvb2dsZS5jb22CFiouYXBwZW5naW5lLmdvb2dsZS5jb22CCSouYmRuLmRldoIVKi5vcmlnaW4tdGVzdC5iZG4uZGV2ghIqLmNsb3VkLmdvb2dsZS5jb22CGCouY3Jvd2Rzb3VyY2UuZ29vZ2xlLmNvbYIYKi5kYXRhY29tcHV0ZS5nb29nbGUuY29tggsqLmdvb2dsZS5jYYILKi5nb29nbGUuY2yCDiouZ29vZ2xlLmNvLmlugg4qLmdvb2dsZS5jby5qcIIOKi5nb29nbGUuY28udWuCDyouZ29vZ2xlLmNvbS5hcoIPKi5nb29nbGUuY29tLmF1gg8qLmdvb2dsZS5jb20uYnKCDyouZ29vZ2xlLmNvbS5jb4IPKi5nb29nbGUuY29tLm14gg8qLmdvb2dsZS5jb20udHKCDyouZ29vZ2xlLmNvbS52boILKi5nb29nbGUuZGWCCyouZ29vZ2xlLmVzggsqLmdvb2dsZS5mcoILKi5nb29nbGUuaHWCCyouZ29vZ2xlLml0ggsqLmdvb2dsZS5ubIILKi5nb29nbGUucGyCCyouZ29vZ2xlLnB0ghkqLmdlbWluaS5jbG91ZC5nb29nbGUuY29tgg0qLmdzdGF0aWMuY29tghQqLm1ldHJpYy5nc3RhdGljLmNvbYIKKi5ndnQxLmNvbYIRKi5nY3BjZG4uZ3Z0MS5jb22CCiouZ3Z0Mi5jb22CDiouZ2NwLmd2dDIuY29tghAqLnVybC5nb29nbGUuY29tghYqLnlvdXR1YmUtbm9jb29raWUuY29tggsqLnl0aW1nLmNvbYIKYWkuYW5kcm9pZIILYW5kcm9pZC5jb22CDSouYW5kcm9pZC5jb22CEyouZmxhc2guYW5kcm9pZC5jb22CBGcuY28CBDEwLmdvb2dsZS5jb22CEiouZ29vZ2xlLWNhcnRzLmNvbYIKZ29vZ2xlLmNvbYISZ29vZ2xlY29tbWVyY2UuY29tghQqLmdvb2dsZWNvbW1lcmNlLmNvbYIKdXJjaGluLmNvbYIMKi51cmNoaW4uY29tggh5b3V0dS5iZYILeW91dHViZS5jb22CDSoueW91dHViZS5jb22CEW11c2ljLnlvdXR1YmUuY29tghMqLm11c2ljLnlvdXR1YmUuY29tghR5b3V0dWJlZWR1Y2F0aW9uLmNvbYIWKi55b3V0dWJlZWR1Y2F0aW9uLmNvbYIPeW91dHViZWtpZHMuY29tghEqLnlvdXR1YmVraWRzLmNvbYIFeXQuYmWCByoueXQuYmWCGmFuZHJvaWQuY2xpZW50cy5nb29nbGUuY29tghUqLmFpc3R1ZGlvLmdvb2dsZS5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2MucGtpLmdvb2cvd3IyL0dTeVQxTjRQQnJnLmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB2AMs49xWJfIShRF9bwd37yW7ymlnNRwppBYWwyxTDFFjnAAABnjyV+/0AAAQDAEcwRQIgCgvqLruYdmtREQIJopZQVZEAux/EdciE9ThPK5WLOIwCIQDJjNYSb4sTv+LnXVHnirnD6kTT5FY8gLI6mKR0WI/m1AB1ANgJVTuUT3r/yBYZb5RPhauw+Pxeh1UmDxXRLnK7RUsUAAABnjyV+8EAAAQDAEYwRAIgQvDSSJRos+D8Lk6bpjH2ZlYxD/N6Gv2TqkFZhUlFKeQCIBq55PPw4e5N89gLgzFC2kp1X+YvFsURPsLrz1LqOAymMA0GCSqGSIb3DQEBCwUAA4IBAQBtZusj1ojCxhZxk5KpZ92eZuTkDVJgJGtDq8gPRehf50mZiu2gDK1JgXIzKRey3tHmgNrCmTon5QJAL9yDyrOGs2GoQsfMkenH0+/hTsLB+n03ni9+9jghfPvE9CZbFimniiqGznhnW5mNOZGy2AnXz79ZfHr4J8AuPh4HVvPc6q/2coyl7Vlxp2XDo6j1eoZARVSske22WvE34U4Yunq+SE0E0a8aKTV7Q7YHeu8/NAsFmG7V6QSSqAyFyxqeEzuz8ylBPxS/cejBk+29tGlfqqrR1JEKdcFLF7EuRyvRWAuQMQBHRA9boa3/lz1f+jEkkUbfqEMrDAnxLthdKKJk
104
104
  -----END CERTIFICATE-----
105
+ headers:
106
+ X-AF-Credits-Cost:
107
+ $ref: '#/components/headers/X-AF-Credits-Cost'
105
108
  '400':
106
109
  description: Bad Request – Invalid domain parameter
107
110
  content:
@@ -116,6 +119,9 @@ paths:
116
119
  error: Invalid Param Exception
117
120
  message: 'Please pass domain param correct value[For Technical Support: support@apifreaks.com]'
118
121
  path: /v1.0/ssl/live
122
+ headers:
123
+ X-AF-Credits-Cost:
124
+ $ref: '#/components/headers/X-AF-Credits-Cost'
119
125
  '403':
120
126
  description: Forbidden – Domain extension unavailable
121
127
  content:
@@ -130,6 +136,9 @@ paths:
130
136
  error: Forbidden
131
137
  message: Unavailable domain extension.
132
138
  path: /v1.0/ssl/live
139
+ headers:
140
+ X-AF-Credits-Cost:
141
+ $ref: '#/components/headers/X-AF-Credits-Cost'
133
142
  '404':
134
143
  description: Not Found – No SSL certificate exists for entered domain
135
144
  content:
@@ -144,6 +153,9 @@ paths:
144
153
  error: SSL Data Not Found
145
154
  message: No Ssl Certificate exists for entered Domain
146
155
  path: /v1.0/ssl/live
156
+ headers:
157
+ X-AF-Credits-Cost:
158
+ $ref: '#/components/headers/X-AF-Credits-Cost'
147
159
  components:
148
160
  securitySchemes:
149
161
  ApiKeyAuthHeader:
@@ -473,6 +485,11 @@ components:
473
485
  type: string
474
486
  format: date-time
475
487
  description: Timestamp when the error occurred (ISO 8601).
488
+ headers:
489
+ X-AF-Credits-Cost:
490
+ description: Specifies the number of credits consumed by the current request.
491
+ schema:
492
+ type: integer
476
493
  security:
477
494
  - ApiKeyAuthHeader: []
478
495
  - ApiKeyAuthQuery: []
@@ -145,6 +145,9 @@ paths:
145
145
  converted_time: '2026-07-24 02:30:00'
146
146
  diff_hour: 9.5
147
147
  diff_min: 570
148
+ headers:
149
+ X-AF-Credits-Cost:
150
+ $ref: '#/components/headers/X-AF-Credits-Cost'
148
151
  '400':
149
152
  description: Bad Request — Incomplete parameter combination, invalid timezone name, invalid coordinates, or location address not found
150
153
  content:
@@ -172,6 +175,9 @@ paths:
172
175
  summary: Target (to) location address not found
173
176
  value:
174
177
  message: We couldn't find the (to) location (ZZZNOTEXIST). Try a city or state level address only.
178
+ headers:
179
+ X-AF-Credits-Cost:
180
+ $ref: '#/components/headers/X-AF-Credits-Cost'
175
181
  '404':
176
182
  description: Not Found — Airport (IATA/ICAO) code or UN/LOCODE has no matching data
177
183
  content:
@@ -187,6 +193,9 @@ paths:
187
193
  summary: UN/LOCODE not found
188
194
  value:
189
195
  message: '''Data not found for the provided LO code: ZZZZZ Please contact at support@ipgeolocation.io if provided LO code exists.'''
196
+ headers:
197
+ X-AF-Credits-Cost:
198
+ $ref: '#/components/headers/X-AF-Credits-Cost'
190
199
  components:
191
200
  securitySchemes:
192
201
  ApiKeyAuthHeader:
@@ -244,6 +253,11 @@ components:
244
253
  type: string
245
254
  format: date-time
246
255
  description: Timestamp when the error occurred (ISO 8601).
256
+ headers:
257
+ X-AF-Credits-Cost:
258
+ description: Specifies the number of credits consumed by the current request.
259
+ schema:
260
+ type: integer
247
261
  security:
248
262
  - ApiKeyAuthHeader: []
249
263
  - ApiKeyAuthQuery: []
@@ -356,6 +356,9 @@ paths:
356
356
  date_time_after: 2026-11-01 TIME 01:00
357
357
  date_time_before: 2026-11-01 TIME 02:00
358
358
  overlap: true
359
+ headers:
360
+ X-AF-Credits-Cost:
361
+ $ref: '#/components/headers/X-AF-Credits-Cost'
359
362
  '400':
360
363
  description: Bad Request — Invalid coordinates, timezone name, IP address, or airport code
361
364
  content:
@@ -383,6 +386,9 @@ paths:
383
386
  summary: Invalid ICAO code
384
387
  value:
385
388
  message: 'Invalid ICAO code: INVALID. ICAO code must be in the format of AAAA.'
389
+ headers:
390
+ X-AF-Credits-Cost:
391
+ $ref: '#/components/headers/X-AF-Credits-Cost'
386
392
  '404':
387
393
  description: Not Found — Location address not found, or LO code has no matching data
388
394
  content:
@@ -398,6 +404,9 @@ paths:
398
404
  summary: UN/LOCODE not found
399
405
  value:
400
406
  message: '''Data not found for the provided LO code: XXXXX Please contact at support@ipgeolocation.io if provided LO code exists.'''
407
+ headers:
408
+ X-AF-Credits-Cost:
409
+ $ref: '#/components/headers/X-AF-Credits-Cost'
401
410
  components:
402
411
  securitySchemes:
403
412
  ApiKeyAuthHeader:
@@ -707,6 +716,11 @@ components:
707
716
  type: string
708
717
  format: date-time
709
718
  description: Timestamp when the error occurred (ISO 8601).
719
+ headers:
720
+ X-AF-Credits-Cost:
721
+ description: Specifies the number of credits consumed by the current request.
722
+ schema:
723
+ type: integer
710
724
  security:
711
725
  - ApiKeyAuthHeader: []
712
726
  - ApiKeyAuthQuery: []
@@ -162,6 +162,9 @@ paths:
162
162
  version: ??
163
163
  version_major: ??
164
164
  build: ??
165
+ headers:
166
+ X-AF-Credits-Cost:
167
+ $ref: '#/components/headers/X-AF-Credits-Cost'
165
168
  '400':
166
169
  description: Bad Request — Invalid/missing request body, or an empty/null string anywhere in uaStrings (fails the whole batch, not a per-item error)
167
170
  content:
@@ -181,6 +184,9 @@ paths:
181
184
  summary: Empty string or null inside uaStrings array
182
185
  value:
183
186
  message: '''userAgentString'' must not be empty or null'
187
+ headers:
188
+ X-AF-Credits-Cost:
189
+ $ref: '#/components/headers/X-AF-Credits-Cost'
184
190
  components:
185
191
  securitySchemes:
186
192
  ApiKeyAuthHeader:
@@ -335,6 +341,11 @@ components:
335
341
  type: string
336
342
  format: date-time
337
343
  description: Timestamp when the error occurred (ISO 8601).
344
+ headers:
345
+ X-AF-Credits-Cost:
346
+ description: Specifies the number of credits consumed by the current request.
347
+ schema:
348
+ type: integer
338
349
  security:
339
350
  - ApiKeyAuthHeader: []
340
351
  - ApiKeyAuthQuery: []
@@ -115,6 +115,9 @@ paths:
115
115
  version: Hacker
116
116
  version_major: Hacker
117
117
  build: ??
118
+ headers:
119
+ X-AF-Credits-Cost:
120
+ $ref: '#/components/headers/X-AF-Credits-Cost'
118
121
  '400':
119
122
  description: Bad Request — Missing or empty User-Agent header
120
123
  content:
@@ -130,6 +133,9 @@ paths:
130
133
  path: /v1.0/user-agent/lookup
131
134
  status: 400
132
135
  timestamp: '2026-07-24T10:12:15.828Z'
136
+ headers:
137
+ X-AF-Credits-Cost:
138
+ $ref: '#/components/headers/X-AF-Credits-Cost'
133
139
  components:
134
140
  securitySchemes:
135
141
  ApiKeyAuthHeader:
@@ -266,6 +272,11 @@ components:
266
272
  type: string
267
273
  format: date-time
268
274
  description: Timestamp when the error occurred (ISO 8601).
275
+ headers:
276
+ X-AF-Credits-Cost:
277
+ description: Specifies the number of credits consumed by the current request.
278
+ schema:
279
+ type: integer
269
280
  security:
270
281
  - ApiKeyAuthHeader: []
271
282
  - ApiKeyAuthQuery: []
@@ -157,6 +157,9 @@ paths:
157
157
  uv_index: 0
158
158
  aerosol_optical_depth: 0.2
159
159
  uv_index_clear_sky: 0
160
+ headers:
161
+ X-AF-Credits-Cost:
162
+ $ref: '#/components/headers/X-AF-Credits-Cost'
160
163
  '400':
161
164
  description: Bad Request — Invalid or incomplete parameters
162
165
  content:
@@ -220,6 +223,9 @@ paths:
220
223
  message: Forecast date range must be within 2026-07-24 to 2026-07-29
221
224
  error: params-exception-error
222
225
  path: /v1.0/weather/air-quality
226
+ headers:
227
+ X-AF-Credits-Cost:
228
+ $ref: '#/components/headers/X-AF-Credits-Cost'
223
229
  '404':
224
230
  description: Not Found — Location could not be resolved
225
231
  content:
@@ -235,6 +241,9 @@ paths:
235
241
  message: Location not found
236
242
  error: error
237
243
  path: /v1.0/weather/air-quality
244
+ headers:
245
+ X-AF-Credits-Cost:
246
+ $ref: '#/components/headers/X-AF-Credits-Cost'
238
247
  components:
239
248
  securitySchemes:
240
249
  ApiKeyAuthHeader:
@@ -585,6 +594,11 @@ components:
585
594
  description: Array of hourly air quality readings for this day.
586
595
  items:
587
596
  $ref: '#/components/schemas/AirQualityHourly'
597
+ headers:
598
+ X-AF-Credits-Cost:
599
+ description: Specifies the number of credits consumed by the current request.
600
+ schema:
601
+ type: integer
588
602
  security:
589
603
  - ApiKeyAuthHeader: []
590
604
  - ApiKeyAuthQuery: []
@@ -287,6 +287,9 @@ paths:
287
287
  moon_parallactic_angle: 53.576490644915204
288
288
  moon_illumination_percentage: '77.00'
289
289
  moon_angle: 122.67689249117335
290
+ headers:
291
+ X-AF-Credits-Cost:
292
+ $ref: '#/components/headers/X-AF-Credits-Cost'
290
293
  '400':
291
294
  description: Bad Request – Invalid parameters provided
292
295
  content:
@@ -306,6 +309,9 @@ paths:
306
309
  summary: Invalid date format
307
310
  value:
308
311
  message: You must provide date in the 'yyyy-MM-dd' format
312
+ headers:
313
+ X-AF-Credits-Cost:
314
+ $ref: '#/components/headers/X-AF-Credits-Cost'
309
315
  '404':
310
316
  description: Not Found
311
317
  content:
@@ -317,6 +323,9 @@ paths:
317
323
  summary: Location not found
318
324
  value:
319
325
  message: We couldn't find the location (ZZZNOTEXIST). Try a city or state level location address only.
326
+ headers:
327
+ X-AF-Credits-Cost:
328
+ $ref: '#/components/headers/X-AF-Credits-Cost'
320
329
  components:
321
330
  securitySchemes:
322
331
  ApiKeyAuthHeader:
@@ -627,6 +636,11 @@ components:
627
636
  type: string
628
637
  format: date-time
629
638
  description: Timestamp when the error occurred (ISO 8601).
639
+ headers:
640
+ X-AF-Credits-Cost:
641
+ description: Specifies the number of credits consumed by the current request.
642
+ schema:
643
+ type: integer
630
644
  security:
631
645
  - ApiKeyAuthHeader: []
632
646
  - ApiKeyAuthQuery: []
@@ -122,6 +122,9 @@ paths:
122
122
  bulk:
123
123
  - error: Missing required location parameters
124
124
  - error: Location not found
125
+ headers:
126
+ X-AF-Credits-Cost:
127
+ $ref: '#/components/headers/X-AF-Credits-Cost'
125
128
  '400':
126
129
  description: Bad Request — Missing/malformed request body, or a non-object item in the locations array
127
130
  content:
@@ -145,6 +148,9 @@ paths:
145
148
  message: '"locations[0]" must be of type object'
146
149
  error: error
147
150
  path: /v1.0/weather/current/bulk
151
+ headers:
152
+ X-AF-Credits-Cost:
153
+ $ref: '#/components/headers/X-AF-Credits-Cost'
148
154
  operationId: bulkLiveWeather
149
155
  components:
150
156
  securitySchemes:
@@ -649,6 +655,11 @@ components:
649
655
  format: date-time
650
656
  description: Timestamp when the error occurred (ISO 8601).
651
657
  description: Standard error envelope returned by the API on failed requests.
658
+ headers:
659
+ X-AF-Credits-Cost:
660
+ description: Specifies the number of credits consumed by the current request.
661
+ schema:
662
+ type: integer
652
663
  security:
653
664
  - ApiKeyAuthHeader: []
654
665
  - ApiKeyAuthQuery: []
@@ -168,6 +168,9 @@ paths:
168
168
  river_discharge_min: 0
169
169
  river_discharge_p25: 0
170
170
  river_discharge_p75: 0
171
+ headers:
172
+ X-AF-Credits-Cost:
173
+ $ref: '#/components/headers/X-AF-Credits-Cost'
171
174
  '400':
172
175
  description: Bad Request — Missing, malformed, or out-of-range parameters
173
176
  content:
@@ -239,6 +242,9 @@ paths:
239
242
  message: Forecast date range must be within 2026-07-24 to 2026-08-08
240
243
  error: params-exception-error
241
244
  path: /v1.0/weather/flood
245
+ headers:
246
+ X-AF-Credits-Cost:
247
+ $ref: '#/components/headers/X-AF-Credits-Cost'
242
248
  '404':
243
249
  description: Not Found — Location could not be resolved
244
250
  content:
@@ -254,6 +260,9 @@ paths:
254
260
  message: Location not found
255
261
  error: error
256
262
  path: /v1.0/weather/flood
263
+ headers:
264
+ X-AF-Credits-Cost:
265
+ $ref: '#/components/headers/X-AF-Credits-Cost'
257
266
  components:
258
267
  securitySchemes:
259
268
  ApiKeyAuthHeader:
@@ -514,6 +523,11 @@ components:
514
523
  properties:
515
524
  daily:
516
525
  $ref: '#/components/schemas/FloodDaily'
526
+ headers:
527
+ X-AF-Credits-Cost:
528
+ description: Specifies the number of credits consumed by the current request.
529
+ schema:
530
+ type: integer
517
531
  security:
518
532
  - ApiKeyAuthHeader: []
519
533
  - ApiKeyAuthQuery: []