@apifreaks/openapi-specs 0.4.0 → 0.4.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.
package/dist/index.js CHANGED
@@ -9366,7 +9366,7 @@ var bulk_email_validation_default = {
9366
9366
  info: {
9367
9367
  title: "Bulk Email Validation API - Validate and Verify Emails in Bulk",
9368
9368
  version: "1.0.0",
9369
- description: "Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email, plus per-item error objects for failed validations. Maximum 10 email addresses per request.",
9369
+ description: "Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email (valid/accept_all/invalid/unknown/risky/app_server_blocked), plus per-item error objects for failed validations. Maximum 10 email addresses per request.",
9370
9370
  contact: {
9371
9371
  name: "APIFreaks Support",
9372
9372
  url: "https://apifreaks.com/contact",
@@ -9418,7 +9418,7 @@ var bulk_email_validation_default = {
9418
9418
  },
9419
9419
  examples: {
9420
9420
  bulkEmailsValidated: {
9421
- summary: "Mix of a valid and a syntactically invalid email",
9421
+ summary: "Mix of valid, syntactically invalid, accept_all, null-MX invalid, and unknown (no-MX probe) results",
9422
9422
  value: {
9423
9423
  emailResponse: [
9424
9424
  {
@@ -9457,6 +9457,74 @@ var bulk_email_validation_default = {
9457
9457
  name: "not-an-email",
9458
9458
  validDomain: false
9459
9459
  }
9460
+ },
9461
+ {
9462
+ success: true,
9463
+ email: "random12345@yahoo.com",
9464
+ validEmail: "accept_all",
9465
+ validSyntax: true,
9466
+ reason: "domain accepts all addresses.",
9467
+ domain: {
9468
+ name: "yahoo.com",
9469
+ disposable: false,
9470
+ spam: false,
9471
+ free: true,
9472
+ validDomain: true,
9473
+ catchAll: true
9474
+ },
9475
+ account: {
9476
+ role: false,
9477
+ fullMailBox: false
9478
+ },
9479
+ dns: {
9480
+ mxRecord: [
9481
+ "mta5.am0.yahoodns.net.",
9482
+ "mta6.am0.yahoodns.net.",
9483
+ "mta7.am0.yahoodns.net."
9484
+ ]
9485
+ }
9486
+ },
9487
+ {
9488
+ success: true,
9489
+ email: "test@example.com",
9490
+ validEmail: "invalid",
9491
+ validSyntax: true,
9492
+ reason: "domain does not accept mail.",
9493
+ domain: {
9494
+ name: "example.com",
9495
+ disposable: true,
9496
+ spam: false,
9497
+ free: false,
9498
+ validDomain: true,
9499
+ catchAll: false
9500
+ },
9501
+ account: {
9502
+ role: false
9503
+ },
9504
+ dns: {
9505
+ mxRecord: ["."]
9506
+ }
9507
+ },
9508
+ {
9509
+ success: true,
9510
+ email: "test@neverssl.com",
9511
+ validEmail: "unknown",
9512
+ validSyntax: true,
9513
+ reason: "We are unable to determine if email is valid or invalid.",
9514
+ domain: {
9515
+ name: "neverssl.com",
9516
+ disposable: false,
9517
+ spam: false,
9518
+ free: false,
9519
+ validDomain: true,
9520
+ catchAll: false
9521
+ },
9522
+ account: {
9523
+ role: false
9524
+ },
9525
+ dns: {
9526
+ aRecord: ["34.223.124.45"]
9527
+ }
9460
9528
  }
9461
9529
  ]
9462
9530
  }
@@ -9661,19 +9729,20 @@ var bulk_email_validation_default = {
9661
9729
  },
9662
9730
  reason: {
9663
9731
  type: "string",
9664
- description: "Detailed explanation returned when validEmail is not valid."
9732
+ description: "Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid."
9665
9733
  },
9666
9734
  validEmail: {
9667
9735
  type: "string",
9668
9736
  enum: [
9669
9737
  "valid",
9738
+ "accept_all",
9670
9739
  "invalid",
9671
9740
  "INVALID_EMAIL",
9672
9741
  "unknown",
9673
9742
  "risky",
9674
9743
  "app_server_blocked"
9675
9744
  ],
9676
- description: "Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. risky is a documented possibility not observed during testing. app_server_blocked is returned when the recipient mail server blocked the live verification attempt (reason explains that retrying later may succeed)."
9745
+ description: "Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason 'domain accepts all addresses.'. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid."
9677
9746
  },
9678
9747
  validSyntax: {
9679
9748
  type: "boolean",
@@ -9725,7 +9794,7 @@ var bulk_email_validation_default = {
9725
9794
  },
9726
9795
  catchAll: {
9727
9796
  type: "boolean",
9728
- description: "Detection flag for domains configured to accept mail for any recipient address."
9797
+ description: "Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all."
9729
9798
  }
9730
9799
  },
9731
9800
  description: "Domain validation details for the email address."
@@ -9747,24 +9816,24 @@ var bulk_email_validation_default = {
9747
9816
  },
9748
9817
  DnsObject: {
9749
9818
  type: "object",
9750
- required: ["mxRecord"],
9819
+ required: [],
9751
9820
  properties: {
9752
9821
  mxRecord: {
9753
9822
  type: "array",
9754
9823
  items: {
9755
9824
  type: "string"
9756
9825
  },
9757
- description: "Collection of MX (Mail Exchange) hostname records from DNS queries."
9826
+ description: `Every MX hostname at the domain's lowest preference (not just one). ["."] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.`
9758
9827
  },
9759
9828
  aRecord: {
9760
9829
  type: "array",
9761
9830
  items: {
9762
9831
  type: "string"
9763
9832
  },
9764
- description: "Collection of A (Address) records for the domain. Not observed in testing \u2014 may be rarely or never populated."
9833
+ description: "Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host."
9765
9834
  }
9766
9835
  },
9767
- description: "DNS records for the email domain."
9836
+ description: "DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record."
9768
9837
  },
9769
9838
  AddressObject: {
9770
9839
  type: "object",
@@ -10007,7 +10076,7 @@ var email_checker_default = {
10007
10076
  info: {
10008
10077
  title: "Email Checker API - Real-Time Validation, Deliverability & Risk Signals",
10009
10078
  version: "1.0.0",
10010
- description: "Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/invalid/unknown/risky/app_server_blocked status.",
10079
+ description: "Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/accept_all/invalid/unknown/risky/app_server_blocked status.",
10011
10080
  contact: {
10012
10081
  name: "APIFreaks Support",
10013
10082
  url: "https://apifreaks.com/contact",
@@ -10100,8 +10169,8 @@ var email_checker_default = {
10100
10169
  }
10101
10170
  }
10102
10171
  },
10103
- noMxRecord: {
10104
- summary: "Valid syntax, domain has no MX record",
10172
+ nonexistentDomain: {
10173
+ summary: "Valid syntax, domain does not exist (NXDOMAIN)",
10105
10174
  value: {
10106
10175
  success: true,
10107
10176
  email: "test@nonexistentdomainxyz123abc.com",
@@ -10121,6 +10190,83 @@ var email_checker_default = {
10121
10190
  }
10122
10191
  }
10123
10192
  },
10193
+ acceptAll: {
10194
+ summary: "Catch-all domain accepted the recipient \u2014 mailbox unconfirmed",
10195
+ value: {
10196
+ success: true,
10197
+ email: "random12345@yahoo.com",
10198
+ validEmail: "accept_all",
10199
+ validSyntax: true,
10200
+ reason: "domain accepts all addresses.",
10201
+ domain: {
10202
+ name: "yahoo.com",
10203
+ disposable: false,
10204
+ spam: false,
10205
+ free: true,
10206
+ validDomain: true,
10207
+ catchAll: true
10208
+ },
10209
+ account: {
10210
+ role: false,
10211
+ fullMailBox: false
10212
+ },
10213
+ dns: {
10214
+ mxRecord: [
10215
+ "mta5.am0.yahoodns.net.",
10216
+ "mta6.am0.yahoodns.net.",
10217
+ "mta7.am0.yahoodns.net."
10218
+ ]
10219
+ }
10220
+ }
10221
+ },
10222
+ nullMxDomain: {
10223
+ summary: 'Domain publishes a null MX (single ".") \u2014 accepts no mail at all',
10224
+ value: {
10225
+ success: true,
10226
+ email: "test@example.com",
10227
+ validEmail: "invalid",
10228
+ validSyntax: true,
10229
+ reason: "domain does not accept mail.",
10230
+ domain: {
10231
+ name: "example.com",
10232
+ disposable: true,
10233
+ spam: false,
10234
+ free: false,
10235
+ validDomain: true,
10236
+ catchAll: false
10237
+ },
10238
+ account: {
10239
+ role: false
10240
+ },
10241
+ dns: {
10242
+ mxRecord: ["."]
10243
+ }
10244
+ }
10245
+ },
10246
+ noMxAddressOnly: {
10247
+ summary: "Domain has no MX record but a working A record \u2014 gets a real SMTP probe",
10248
+ value: {
10249
+ success: true,
10250
+ email: "test@neverssl.com",
10251
+ validEmail: "unknown",
10252
+ validSyntax: true,
10253
+ reason: "We are unable to determine if email is valid or invalid.",
10254
+ domain: {
10255
+ name: "neverssl.com",
10256
+ disposable: false,
10257
+ spam: false,
10258
+ free: false,
10259
+ validDomain: true,
10260
+ catchAll: false
10261
+ },
10262
+ account: {
10263
+ role: false
10264
+ },
10265
+ dns: {
10266
+ aRecord: ["34.223.124.45"]
10267
+ }
10268
+ }
10269
+ },
10124
10270
  withIp: {
10125
10271
  summary: "With ip \u2014 adds geolocation/security enrichment under address",
10126
10272
  value: {
@@ -10391,12 +10537,12 @@ var email_checker_default = {
10391
10537
  },
10392
10538
  reason: {
10393
10539
  type: "string",
10394
- description: "Detailed explanation returned when validEmail is not valid."
10540
+ description: "Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid."
10395
10541
  },
10396
10542
  validEmail: {
10397
10543
  type: "string",
10398
- enum: ["valid", "invalid", "INVALID_EMAIL", "unknown", "risky", "app_server_blocked"],
10399
- description: "Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. risky is a documented possibility not observed during testing. app_server_blocked is returned when the recipient mail server blocked the live verification attempt (reason explains that retrying later may succeed)."
10544
+ enum: ["valid", "accept_all", "invalid", "INVALID_EMAIL", "unknown", "risky", "app_server_blocked"],
10545
+ description: "Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason 'domain accepts all addresses.'. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid."
10400
10546
  },
10401
10547
  validSyntax: {
10402
10548
  type: "boolean",
@@ -10448,7 +10594,7 @@ var email_checker_default = {
10448
10594
  },
10449
10595
  catchAll: {
10450
10596
  type: "boolean",
10451
- description: "Detection flag for domains configured to accept mail for any recipient address."
10597
+ description: "Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all."
10452
10598
  }
10453
10599
  },
10454
10600
  description: "Domain validation details for the email address."
@@ -10470,24 +10616,24 @@ var email_checker_default = {
10470
10616
  },
10471
10617
  DnsObject: {
10472
10618
  type: "object",
10473
- required: ["mxRecord"],
10619
+ required: [],
10474
10620
  properties: {
10475
10621
  mxRecord: {
10476
10622
  type: "array",
10477
10623
  items: {
10478
10624
  type: "string"
10479
10625
  },
10480
- description: "Collection of MX (Mail Exchange) hostname records from DNS queries."
10626
+ description: `Every MX hostname at the domain's lowest preference (not just one). ["."] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.`
10481
10627
  },
10482
10628
  aRecord: {
10483
10629
  type: "array",
10484
10630
  items: {
10485
10631
  type: "string"
10486
10632
  },
10487
- description: "Collection of A (Address) records for the domain. Not observed in testing \u2014 may be rarely or never populated."
10633
+ description: "Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host."
10488
10634
  }
10489
10635
  },
10490
- description: "DNS records for the email domain."
10636
+ description: "DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record."
10491
10637
  },
10492
10638
  AddressObject: {
10493
10639
  type: "object",
@@ -52838,8 +52984,605 @@ security:
52838
52984
  - ApiKeyAuthQuery: []
52839
52985
  `,
52840
52986
  "subdomain-lookup": "openapi: 3.1.1\ninfo:\n title: Subdomain Finder API - Discover Active, Inactive & Historical Subdomains\n version: 1.0.0\n description: Retrieve subdomains related to a given domain name. Returns paginated results with subdomain details including first seen and last seen dates. Supports filtering by date range, status (active/inactive), and pagination with configurable page numbers.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Subdomain Lookup API Server\npaths:\n /subdomains/lookup:\n get:\n tags:\n - Domain APIs\n summary: Get subdomains related to the given domain name.\n description: The Subdomain Lookup API is designed to retrieve subdomains related to the given domain name. It helps you explore subdomains that are available for registration or usage.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response.\n - name: domain\n in: query\n required: true\n schema:\n type: string\n description: Domain name for availability and suggestions.\n - name: after\n in: query\n required: false\n schema:\n type: string\n format: date\n description: Filter subdomains seen after this date (format YYYY-MM-DD).\n - name: before\n in: query\n required: false\n schema:\n type: string\n format: date\n description: Filter subdomains seen before this date( format YYYY-MM-DD).\n - name: status\n in: query\n required: false\n schema:\n type: string\n enum:\n - active\n - inactive\n default: active\n description: Filter subdomains by status (active or inactive).\n - name: page\n in: query\n required: false\n schema:\n type: integer\n default: 1\n description: Page number for paginated results.\n responses:\n '200':\n description: Success\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SubDomainResponse'\n examples:\n success:\n summary: Successful response\n value:\n domain: google.com\n status: true\n query_time: '2026-07-27T12:22:26.954268895'\n current_page: 1\n total_pages: 1543\n total_records: 154233\n subdomains:\n - subdomain: 49qq1sm.sites.google.com\n first_seen: '2024-03-03'\n last_seen: '2026-06-18'\n - subdomain: tvgkp5.feedproxy.ghs.google.com\n last_seen: '2026-07-04'\n - subdomain: www.reusablesec.sites.google.com\n first_seen: '2020-02-18'\n last_seen: '2026-06-20'\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '400':\n description: Bad Request \u2013 one or more parameters are invalid\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n missingDomain:\n summary: Missing required domain parameter\n value:\n error: Invalid Param Exception\n message: please pass correct parameters\n path: /v1.0/subdomains/lookup\n status: 400\n timestamp: '2026-07-27T12:22:27.587Z'\n invalidDomain:\n summary: domain is not a syntactically valid domain name\n value:\n timestamp: '2026-07-27T12:22:40.119716922Z'\n status: 400\n error: Invalid Param Exception\n message: 'Please pass domain param correct value[For Technical Support: support@whoisfreaks.com]'\n path: /v1.0/subdomains\n AfterDateError:\n summary: after is not earlier than before\n value:\n timestamp: '2026-07-27T12:22:28.233751455Z'\n status: 400\n error: Invalid Param Exception\n message: after date must be earlier than before date.\n path: /v1.0/subdomains\n AfterDateGreaterThanCurrent:\n summary: after is in the future\n value:\n timestamp: '2026-07-27T12:22:39.061042798Z'\n status: 400\n error: Invalid Param Exception\n message: after date cannot be greater than the current date.\n path: /v1.0/subdomains\n BeforeDateGreaterThanCurrent:\n summary: before is in the future\n value:\n timestamp: '2026-07-27T12:22:39.609545647Z'\n status: 400\n error: Invalid Param Exception\n message: before date cannot be greater than the current date.\n path: /v1.0/subdomains\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '408':\n description: Request Timeout \u2013 Unable to fetch WHOIS data\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n error:\n summary: Error response\n value:\n timestamp: '2025-08-14T10:37:21.871Z'\n status: 408\n error: Request Timeout\n message: 'Unable to fetch whois data. Please try again. [For Technical Support email at: support@apifreaks.com]'\n path: /v1.0/subdomains/lookup\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n operationId: lookupSubdomains\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n SubDomainResponse:\n type: object\n required:\n - domain\n - status\n - query_time\n - current_page\n - total_pages\n - total_records\n - subdomains\n properties:\n domain:\n type: string\n description: The domain name for which subdomains are retrieved.\n status:\n type: boolean\n description: Indicates whether the request was successfully processed or not.\n query_time:\n type: string\n description: Timestamp showing when the API request was executed.\n current_page:\n type: integer\n description: The current page number of the paginated response.\n total_pages:\n type: integer\n description: Total number of pages available for the given query. Each page has 100 subdomain entries.\n total_records:\n type: integer\n description: Total number of subdomains found for the domain.\n subdomains:\n type: array\n description: Returns an array of subdomain objects. Each object contains detailed information about an individual subdomain.\n items:\n $ref: '#/components/schemas/SubdomainItem'\n description: Subdomain lookup response containing paginated subdomain results.\n SubdomainItem:\n type: object\n description: A single subdomain record with discovery dates.\n required:\n - subdomain\n - last_seen\n properties:\n subdomain:\n type: string\n description: The discovered subdomain associated with the given domain.\n first_seen:\n type: string\n format: date\n description: The date when the subdomain was first discovered. Can be absent for some records.\n last_seen:\n type: string\n format: date\n description: The most recent date when the subdomain was observed.\n inactive_from:\n type: string\n format: date\n description: The date from which the subdomain is considered inactive. Appears only if inactive.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
52841
- "bulk-email-validation": "openapi: 3.1.1\ninfo:\n title: Bulk Email Validation API - Validate and Verify Emails in Bulk\n version: 1.0.0\n description: Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email, plus per-item error objects for failed validations. Maximum 10 email addresses per request.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Bulk Email Validation API Server\npaths:\n /email-validation/bulk:\n post:\n tags:\n - Email Validation APIs\n summary: Validate multiple email addresses\n description: Validates a bulk of email addresses and returns result for each. Maximum `10` email addresses per request.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailRequest'\n responses:\n '200':\n description: Successful response. Each item corresponds to one requested email, in the same order as the request; invalid emails are reflected via validEmail/validSyntax on that item, not as a separate error object \u2014 every item has success=true regardless of validation outcome.\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailValidationResponse'\n examples:\n bulkEmailsValidated:\n summary: Mix of a valid and a syntactically invalid email\n value:\n emailResponse:\n - success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n - success: true\n email: not-an-email\n validEmail: INVALID_EMAIL\n validSyntax: false\n domain:\n name: not-an-email\n validDomain: false\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '400':\n description: Bad Request \u2013 Invalid request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n invalidBody:\n summary: emailData field missing or malformed\n value:\n timestamp: '2026-07-27T12:53:14.628Z'\n path: /v1.0/email-validation/bulk\n status: 400\n error: Invalid request body Exception\n message: Please provide data in required format in request body\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '404':\n description: Not Found \u2013 The requested resource could not be found\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Resource Not Found:\n value:\n timestamp: '2026-09-02T11:57:55.592Z'\n path: /v1.0/email-validation/bulkx\n status: 404\n error: Resource Not Found\n message: The requested resource could not be found. Please verify the URL and try again.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '408':\n description: Request Timeout\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Request Timeout:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 408\n error: Request Timeout\n message: Timed out while connecting to the remote URL.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '413':\n description: Payload Too Large \u2013 emailData exceeds the maximum of 10 entries per request\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Payload Too Large:\n value:\n timestamp: '2026-09-02T11:57:34.223Z'\n path: /v2/email-validation/bulk\n status: 413\n error: Payload too large Exception\n message: Maximum request body size limit exceeded\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '429':\n description: Rate Limit Exceeded\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Rate Limit Exceeded:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 429\n error: Too Many Requests\n message: API rate limit exceeded.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n operationId: bulkCheckEmail\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n BulkEmailValidationResponse:\n type: object\n description: Wrapper containing the per-email results array.\n required:\n - emailResponse\n properties:\n emailResponse:\n type: array\n description: Array of per-email results, one entry per requested email, in the same order as the request. Invalid emails are reflected via validEmail/validSyntax, not a separate error shape.\n items:\n $ref: '#/components/schemas/SingleEmailValidationResponse'\n SingleEmailValidationResponse:\n type: object\n required:\n - success\n - email\n - validEmail\n - validSyntax\n - domain\n properties:\n success:\n type: boolean\n description: 'Indicates the processing status of the validation request. true: completed successfully.'\n email:\n type: string\n format: email\n description: The email address submitted for validation.\n name:\n type: string\n description: Optional identifier or label provided in the request for record tracking.\n reason:\n type: string\n description: Detailed explanation returned when validEmail is not valid.\n validEmail:\n type: string\n enum:\n - valid\n - invalid\n - INVALID_EMAIL\n - unknown\n - risky\n - app_server_blocked\n description: 'Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. risky is a documented possibility not observed during testing. app_server_blocked is returned when the recipient mail server blocked the live verification attempt (reason explains that retrying later may succeed).'\n validSyntax:\n type: boolean\n description: Validates email address format compliance with RFC 5322 standards.\n domain:\n $ref: '#/components/schemas/DomainObject'\n account:\n $ref: '#/components/schemas/AccountObject'\n dns:\n $ref: '#/components/schemas/DnsObject'\n address:\n $ref: '#/components/schemas/AddressObject'\n ip:\n type: string\n format: ip\n description: IP address provided for geolocation and security enrichment.\n description: Email validation response containing deliverability assessment and metadata.\n DomainObject:\n type: object\n required:\n - name\n - validDomain\n properties:\n name:\n type: string\n description: Extracted domain component from the email address.\n validDomain:\n type: boolean\n description: Domain validation status confirming DNS resolution capability.\n disposable:\n type: boolean\n description: Classification flag identifying domains from temporary email service providers.\n spam:\n type: boolean\n description: Reputation indicator flagging domains on spam databases.\n free:\n type: boolean\n description: Classification indicating free or consumer-grade email service providers.\n catchAll:\n type: boolean\n description: Detection flag for domains configured to accept mail for any recipient address.\n description: Domain validation details for the email address.\n AccountObject:\n type: object\n required:\n - role\n properties:\n role:\n type: boolean\n description: Detection flag identifying role-based email addresses (e.g., admin@, support@).\n fullMailBox:\n type: boolean\n description: Storage capacity status indicator for the recipient mailbox.\n description: Account-level validation details.\n DnsObject:\n type: object\n required:\n - mxRecord\n properties:\n mxRecord:\n type: array\n items:\n type: string\n description: Collection of MX (Mail Exchange) hostname records from DNS queries.\n aRecord:\n type: array\n items:\n type: string\n description: Collection of A (Address) records for the domain. Not observed in testing \u2014 may be rarely or never populated.\n description: DNS records for the email domain.\n AddressObject:\n type: object\n properties:\n validIpAddress:\n type: boolean\n description: IP recognized/reachable by the geolocation provider.\n location:\n $ref: '#/components/schemas/EmailLocation'\n security:\n $ref: '#/components/schemas/EmailSecurity'\n description: Geolocation and security enrichment data for the IP address.\n required: []\n EmailLocation:\n type: object\n description: Geolocation data derived from the IP address.\n properties:\n city:\n type: string\n description: Municipal or city name.\n district:\n type: string\n description: District or neighborhood.\n zipcode:\n type: string\n description: Postal or ZIP code.\n state_prov:\n type: string\n description: State or province.\n country_name:\n type: string\n description: Common country name.\n country_name_official:\n type: string\n description: Official country name.\n country_code2:\n type: string\n description: Two-character ISO country code.\n country_code3:\n type: string\n description: Three-character ISO country code.\n continent_name:\n type: string\n description: Continental region name.\n continent_code:\n type: string\n description: Continental region identifier.\n accuracy_radius:\n type: string\n description: Geolocation precision radius.\n confidence:\n type: string\n description: Confidence score for geolocation accuracy.\n is_eu:\n type: boolean\n description: European Union membership status.\n required: []\n EmailSecurity:\n type: object\n description: Threat and anonymity profile for the IP address.\n required:\n - threat_score\n - is_tor\n - is_proxy\n - proxy_type\n - proxy_provider\n - is_anonymous\n - is_known_attacker\n - is_spam\n - is_bot\n - is_cloud_provider\n - cloud_provider\n properties:\n threat_score:\n type: integer\n description: Quantitative risk assessment score. Higher values indicate elevated security risk.\n is_tor:\n type: boolean\n description: Detection flag for IP addresses routed through the Tor anonymity network.\n is_proxy:\n type: boolean\n description: Detection flag identifying IP addresses operating as proxy servers.\n proxy_type:\n type: string\n description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).\n proxy_provider:\n type: string\n description: Identified service provider operating the proxy infrastructure.\n is_anonymous:\n type: boolean\n description: Anonymization detection flag for IP addresses using identity obfuscation techniques.\n is_known_attacker:\n type: boolean\n description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.\n is_spam:\n type: boolean\n description: Reputation flag for IP addresses associated with spam transmission.\n is_bot:\n type: boolean\n description: Automated traffic detection flag for IP addresses from bot networks.\n is_cloud_provider:\n type: boolean\n description: Infrastructure classification flag for IP addresses from cloud computing providers.\n cloud_provider:\n type: string\n description: Identified cloud infrastructure or hosting service provider name.\n BulkEmailRequest:\n type: object\n description: Request body for bulk email validation.\n required:\n - emailData\n properties:\n emailData:\n type: array\n description: Array of email objects to validate. Maximum 10 per request.\n maxItems: 10\n items:\n $ref: '#/components/schemas/BulkEmailRequestItem'\n BulkEmailRequestItem:\n type: object\n description: A single email entry in a bulk validation request.\n required:\n - email\n properties:\n email:\n type: string\n format: email\n description: Email address to validate.\n name:\n type: string\n description: Optional name or label.\n ip:\n type: string\n format: ip\n description: Optional IP address for enrichment.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\n X-Concurrent-Threads:\n description: Specifies the maximum number of concurrent requests allowed.\n schema:\n type: integer\n X-Concurrent-Threads-Active:\n description: Indicates the number of active concurrent requests being processed.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
52842
- "email-checker": "openapi: 3.1.1\ninfo:\n title: Email Checker API - Real-Time Validation, Deliverability & Risk Signals\n version: 1.0.0\n description: Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/invalid/unknown/risky/app_server_blocked status.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Email Checker API Server\npaths:\n /email-validation/single:\n post:\n tags:\n - Email Validation APIs\n summary: Validate a single email\n description: Validates a single email address and returns result.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n description: Format of the response\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/EmailCheckRequest'\n responses:\n '200':\n description: Successful response with Email Validation\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SingleEmailValidationResponse'\n examples:\n validEmail:\n summary: Valid, deliverable email\n value:\n success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n invalidSyntax:\n summary: Syntactically invalid email \u2014 domain/account/dns are minimal or absent\n value:\n success: true\n email: not-an-email\n validEmail: INVALID_EMAIL\n validSyntax: false\n domain:\n name: not-an-email\n validDomain: false\n noMxRecord:\n summary: Valid syntax, domain has no MX record\n value:\n success: true\n email: test@nonexistentdomainxyz123abc.com\n validEmail: invalid\n validSyntax: true\n reason: mx record does not exist.\n domain:\n name: nonexistentdomainxyz123abc.com\n disposable: false\n spam: false\n free: false\n validDomain: false\n catchAll: false\n account:\n role: false\n withIp:\n summary: With ip \u2014 adds geolocation/security enrichment under address\n value:\n success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n ip: 8.8.8.8\n address:\n validIpAddress: true\n location:\n city: Mountain View\n district: Santa Clara\n confidence: low\n zipcode: 94043-1351\n state_prov: California\n country_name: United States\n continent_name: North America\n continent_code: NA\n country_code2: US\n country_code3: USA\n country_name_official: United States of America\n accuracy_radius: '27.42'\n is_eu: false\n security:\n threat_score: 5\n is_tor: false\n is_proxy: false\n proxy_type: ''\n proxy_provider: ''\n is_anonymous: false\n is_known_attacker: false\n is_spam: false\n is_bot: false\n is_cloud_provider: true\n cloud_provider: Google LLC\n appServerBlocked:\n summary: Valid syntax, but the recipient mail server blocked the verification attempt\n value:\n success: true\n email: randomuser98765zzz@gmx.com\n validEmail: app_server_blocked\n validSyntax: true\n reason: We are unable to determine the validity of email at the moment. Please try later.\n domain:\n name: gmx.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n dns:\n mxRecord:\n - mx00.gmx.net.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '400':\n description: Bad Request \u2013 Invalid request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n missingEmail:\n summary: email field missing from request body\n value:\n timestamp: '2026-09-02T11:56:23.462Z'\n path: /v2/email-validation/single\n status: 400\n error: Missing or Invalid Parameters\n message: Please pass valid value for 'email' in body.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '404':\n description: Not Found \u2013 The requested resource could not be found\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Resource Not Found:\n value:\n timestamp: '2026-09-02T11:56:23.937Z'\n path: /v1.0/email-validation/singlex\n status: 404\n error: Resource Not Found\n message: The requested resource could not be found. Please verify the URL and try again.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '408':\n description: Request Timeout\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Request Timeout:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/single\n status: 408\n error: Request Timeout\n message: Timed out while connecting to the remote URL.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '429':\n description: Rate Limit Exceeded\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Rate Limit Exceeded:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/single\n status: 429\n error: Too Many Requests\n message: API rate limit exceeded.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n operationId: checkEmail\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n SingleEmailValidationResponse:\n type: object\n required:\n - success\n - email\n - validEmail\n - validSyntax\n - domain\n properties:\n success:\n type: boolean\n description: 'Indicates the processing status of the validation request. true: completed successfully.'\n email:\n type: string\n format: email\n description: The email address submitted for validation.\n name:\n type: string\n description: Optional identifier or label provided in the request for record tracking.\n reason:\n type: string\n description: Detailed explanation returned when validEmail is not valid.\n validEmail:\n type: string\n enum:\n - valid\n - invalid\n - INVALID_EMAIL\n - unknown\n - risky\n - app_server_blocked\n description: 'Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. risky is a documented possibility not observed during testing. app_server_blocked is returned when the recipient mail server blocked the live verification attempt (reason explains that retrying later may succeed).'\n validSyntax:\n type: boolean\n description: Validates email address format compliance with RFC 5322 standards.\n domain:\n $ref: '#/components/schemas/DomainObject'\n account:\n $ref: '#/components/schemas/AccountObject'\n dns:\n $ref: '#/components/schemas/DnsObject'\n address:\n $ref: '#/components/schemas/AddressObject'\n ip:\n type: string\n format: ip\n description: IP address provided for geolocation and security enrichment.\n description: Email validation response containing deliverability assessment and metadata.\n DomainObject:\n type: object\n required:\n - name\n - validDomain\n properties:\n name:\n type: string\n description: Extracted domain component from the email address.\n validDomain:\n type: boolean\n description: Domain validation status confirming DNS resolution capability.\n disposable:\n type: boolean\n description: Classification flag identifying domains from temporary email service providers.\n spam:\n type: boolean\n description: Reputation indicator flagging domains on spam databases.\n free:\n type: boolean\n description: Classification indicating free or consumer-grade email service providers.\n catchAll:\n type: boolean\n description: Detection flag for domains configured to accept mail for any recipient address.\n description: Domain validation details for the email address.\n AccountObject:\n type: object\n required:\n - role\n properties:\n role:\n type: boolean\n description: Detection flag identifying role-based email addresses (e.g., admin@, support@).\n fullMailBox:\n type: boolean\n description: Storage capacity status indicator for the recipient mailbox.\n description: Account-level validation details.\n DnsObject:\n type: object\n required:\n - mxRecord\n properties:\n mxRecord:\n type: array\n items:\n type: string\n description: Collection of MX (Mail Exchange) hostname records from DNS queries.\n aRecord:\n type: array\n items:\n type: string\n description: Collection of A (Address) records for the domain. Not observed in testing \u2014 may be rarely or never populated.\n description: DNS records for the email domain.\n AddressObject:\n type: object\n properties:\n validIpAddress:\n type: boolean\n description: IP recognized/reachable by the geolocation provider.\n location:\n $ref: '#/components/schemas/EmailLocation'\n security:\n $ref: '#/components/schemas/EmailSecurity'\n description: Geolocation and security enrichment data for the IP address.\n required: []\n EmailLocation:\n type: object\n description: Geolocation data derived from the IP address.\n properties:\n city:\n type: string\n description: Municipal or city name.\n district:\n type: string\n description: District or neighborhood.\n zipcode:\n type: string\n description: Postal or ZIP code.\n state_prov:\n type: string\n description: State or province.\n country_name:\n type: string\n description: Common country name.\n country_name_official:\n type: string\n description: Official country name.\n country_code2:\n type: string\n description: Two-character ISO country code.\n country_code3:\n type: string\n description: Three-character ISO country code.\n continent_name:\n type: string\n description: Continental region name.\n continent_code:\n type: string\n description: Continental region identifier.\n accuracy_radius:\n type: string\n description: Geolocation precision radius.\n confidence:\n type: string\n description: Confidence score for geolocation accuracy.\n is_eu:\n type: boolean\n description: European Union membership status.\n required: []\n EmailSecurity:\n type: object\n description: Threat and anonymity profile for the IP address.\n required:\n - threat_score\n - is_tor\n - is_proxy\n - proxy_type\n - proxy_provider\n - is_anonymous\n - is_known_attacker\n - is_spam\n - is_bot\n - is_cloud_provider\n - cloud_provider\n properties:\n threat_score:\n type: integer\n description: Quantitative risk assessment score. Higher values indicate elevated security risk.\n is_tor:\n type: boolean\n description: Detection flag for IP addresses routed through the Tor anonymity network.\n is_proxy:\n type: boolean\n description: Detection flag identifying IP addresses operating as proxy servers.\n proxy_type:\n type: string\n description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).\n proxy_provider:\n type: string\n description: Identified service provider operating the proxy infrastructure.\n is_anonymous:\n type: boolean\n description: Anonymization detection flag for IP addresses using identity obfuscation techniques.\n is_known_attacker:\n type: boolean\n description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.\n is_spam:\n type: boolean\n description: Reputation flag for IP addresses associated with spam transmission.\n is_bot:\n type: boolean\n description: Automated traffic detection flag for IP addresses from bot networks.\n is_cloud_provider:\n type: boolean\n description: Infrastructure classification flag for IP addresses from cloud computing providers.\n cloud_provider:\n type: string\n description: Identified cloud infrastructure or hosting service provider name.\n EmailCheckRequest:\n type: object\n description: Request body for email validation.\n required:\n - email\n properties:\n email:\n type: string\n format: email\n description: Email address to validate.\n name:\n type: string\n description: Optional name or label for record tracking.\n ip:\n type: string\n format: ip\n description: Optional IP address for geolocation and security enrichment.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\n X-Concurrent-Threads:\n description: Specifies the maximum number of concurrent requests allowed.\n schema:\n type: integer\n X-Concurrent-Threads-Active:\n description: Indicates the number of active concurrent requests being processed.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
52987
+ "bulk-email-validation": "openapi: 3.1.1\ninfo:\n title: Bulk Email Validation API - Validate and Verify Emails in Bulk\n version: 1.0.0\n description: Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email (valid/accept_all/invalid/unknown/risky/app_server_blocked), plus per-item error objects for failed validations. Maximum 10 email addresses per request.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Bulk Email Validation API Server\npaths:\n /email-validation/bulk:\n post:\n tags:\n - Email Validation APIs\n summary: Validate multiple email addresses\n description: Validates a bulk of email addresses and returns result for each. Maximum `10` email addresses per request.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailRequest'\n responses:\n '200':\n description: Successful response. Each item corresponds to one requested email, in the same order as the request; invalid emails are reflected via validEmail/validSyntax on that item, not as a separate error object \u2014 every item has success=true regardless of validation outcome.\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailValidationResponse'\n examples:\n bulkEmailsValidated:\n summary: Mix of valid, syntactically invalid, accept_all, null-MX invalid, and unknown (no-MX probe) results\n value:\n emailResponse:\n - success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n - success: true\n email: not-an-email\n validEmail: INVALID_EMAIL\n validSyntax: false\n domain:\n name: not-an-email\n validDomain: false\n - success: true\n email: random12345@yahoo.com\n validEmail: accept_all\n validSyntax: true\n reason: domain accepts all addresses.\n domain:\n name: yahoo.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: true\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - mta5.am0.yahoodns.net.\n - mta6.am0.yahoodns.net.\n - mta7.am0.yahoodns.net.\n - success: true\n email: test@example.com\n validEmail: invalid\n validSyntax: true\n reason: domain does not accept mail.\n domain:\n name: example.com\n disposable: true\n spam: false\n free: false\n validDomain: true\n catchAll: false\n account:\n role: false\n dns:\n mxRecord:\n - .\n - success: true\n email: test@neverssl.com\n validEmail: unknown\n validSyntax: true\n reason: We are unable to determine if email is valid or invalid.\n domain:\n name: neverssl.com\n disposable: false\n spam: false\n free: false\n validDomain: true\n catchAll: false\n account:\n role: false\n dns:\n aRecord:\n - 34.223.124.45\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '400':\n description: Bad Request \u2013 Invalid request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n invalidBody:\n summary: emailData field missing or malformed\n value:\n timestamp: '2026-07-27T12:53:14.628Z'\n path: /v1.0/email-validation/bulk\n status: 400\n error: Invalid request body Exception\n message: Please provide data in required format in request body\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '404':\n description: Not Found \u2013 The requested resource could not be found\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Resource Not Found:\n value:\n timestamp: '2026-09-02T11:57:55.592Z'\n path: /v1.0/email-validation/bulkx\n status: 404\n error: Resource Not Found\n message: The requested resource could not be found. Please verify the URL and try again.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '408':\n description: Request Timeout\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Request Timeout:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 408\n error: Request Timeout\n message: Timed out while connecting to the remote URL.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '413':\n description: Payload Too Large \u2013 emailData exceeds the maximum of 10 entries per request\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Payload Too Large:\n value:\n timestamp: '2026-09-02T11:57:34.223Z'\n path: /v2/email-validation/bulk\n status: 413\n error: Payload too large Exception\n message: Maximum request body size limit exceeded\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '429':\n description: Rate Limit Exceeded\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Rate Limit Exceeded:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 429\n error: Too Many Requests\n message: API rate limit exceeded.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n operationId: bulkCheckEmail\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n BulkEmailValidationResponse:\n type: object\n description: Wrapper containing the per-email results array.\n required:\n - emailResponse\n properties:\n emailResponse:\n type: array\n description: Array of per-email results, one entry per requested email, in the same order as the request. Invalid emails are reflected via validEmail/validSyntax, not a separate error shape.\n items:\n $ref: '#/components/schemas/SingleEmailValidationResponse'\n SingleEmailValidationResponse:\n type: object\n required:\n - success\n - email\n - validEmail\n - validSyntax\n - domain\n properties:\n success:\n type: boolean\n description: 'Indicates the processing status of the validation request. true: completed successfully.'\n email:\n type: string\n format: email\n description: The email address submitted for validation.\n name:\n type: string\n description: Optional identifier or label provided in the request for record tracking.\n reason:\n type: string\n description: Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid.\n validEmail:\n type: string\n enum:\n - valid\n - accept_all\n - invalid\n - INVALID_EMAIL\n - unknown\n - risky\n - app_server_blocked\n description: 'Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason ''domain accepts all addresses.''. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid.'\n validSyntax:\n type: boolean\n description: Validates email address format compliance with RFC 5322 standards.\n domain:\n $ref: '#/components/schemas/DomainObject'\n account:\n $ref: '#/components/schemas/AccountObject'\n dns:\n $ref: '#/components/schemas/DnsObject'\n address:\n $ref: '#/components/schemas/AddressObject'\n ip:\n type: string\n format: ip\n description: IP address provided for geolocation and security enrichment.\n description: Email validation response containing deliverability assessment and metadata.\n DomainObject:\n type: object\n required:\n - name\n - validDomain\n properties:\n name:\n type: string\n description: Extracted domain component from the email address.\n validDomain:\n type: boolean\n description: Domain validation status confirming DNS resolution capability.\n disposable:\n type: boolean\n description: Classification flag identifying domains from temporary email service providers.\n spam:\n type: boolean\n description: Reputation indicator flagging domains on spam databases.\n free:\n type: boolean\n description: Classification indicating free or consumer-grade email service providers.\n catchAll:\n type: boolean\n description: Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all.\n description: Domain validation details for the email address.\n AccountObject:\n type: object\n required:\n - role\n properties:\n role:\n type: boolean\n description: Detection flag identifying role-based email addresses (e.g., admin@, support@).\n fullMailBox:\n type: boolean\n description: Storage capacity status indicator for the recipient mailbox.\n description: Account-level validation details.\n DnsObject:\n type: object\n required: []\n properties:\n mxRecord:\n type: array\n items:\n type: string\n description: Every MX hostname at the domain's lowest preference (not just one). [\".\"] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.\n aRecord:\n type: array\n items:\n type: string\n description: Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host.\n description: DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record.\n AddressObject:\n type: object\n properties:\n validIpAddress:\n type: boolean\n description: IP recognized/reachable by the geolocation provider.\n location:\n $ref: '#/components/schemas/EmailLocation'\n security:\n $ref: '#/components/schemas/EmailSecurity'\n description: Geolocation and security enrichment data for the IP address.\n required: []\n EmailLocation:\n type: object\n description: Geolocation data derived from the IP address.\n properties:\n city:\n type: string\n description: Municipal or city name.\n district:\n type: string\n description: District or neighborhood.\n zipcode:\n type: string\n description: Postal or ZIP code.\n state_prov:\n type: string\n description: State or province.\n country_name:\n type: string\n description: Common country name.\n country_name_official:\n type: string\n description: Official country name.\n country_code2:\n type: string\n description: Two-character ISO country code.\n country_code3:\n type: string\n description: Three-character ISO country code.\n continent_name:\n type: string\n description: Continental region name.\n continent_code:\n type: string\n description: Continental region identifier.\n accuracy_radius:\n type: string\n description: Geolocation precision radius.\n confidence:\n type: string\n description: Confidence score for geolocation accuracy.\n is_eu:\n type: boolean\n description: European Union membership status.\n required: []\n EmailSecurity:\n type: object\n description: Threat and anonymity profile for the IP address.\n required:\n - threat_score\n - is_tor\n - is_proxy\n - proxy_type\n - proxy_provider\n - is_anonymous\n - is_known_attacker\n - is_spam\n - is_bot\n - is_cloud_provider\n - cloud_provider\n properties:\n threat_score:\n type: integer\n description: Quantitative risk assessment score. Higher values indicate elevated security risk.\n is_tor:\n type: boolean\n description: Detection flag for IP addresses routed through the Tor anonymity network.\n is_proxy:\n type: boolean\n description: Detection flag identifying IP addresses operating as proxy servers.\n proxy_type:\n type: string\n description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).\n proxy_provider:\n type: string\n description: Identified service provider operating the proxy infrastructure.\n is_anonymous:\n type: boolean\n description: Anonymization detection flag for IP addresses using identity obfuscation techniques.\n is_known_attacker:\n type: boolean\n description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.\n is_spam:\n type: boolean\n description: Reputation flag for IP addresses associated with spam transmission.\n is_bot:\n type: boolean\n description: Automated traffic detection flag for IP addresses from bot networks.\n is_cloud_provider:\n type: boolean\n description: Infrastructure classification flag for IP addresses from cloud computing providers.\n cloud_provider:\n type: string\n description: Identified cloud infrastructure or hosting service provider name.\n BulkEmailRequest:\n type: object\n description: Request body for bulk email validation.\n required:\n - emailData\n properties:\n emailData:\n type: array\n description: Array of email objects to validate. Maximum 10 per request.\n maxItems: 10\n items:\n $ref: '#/components/schemas/BulkEmailRequestItem'\n BulkEmailRequestItem:\n type: object\n description: A single email entry in a bulk validation request.\n required:\n - email\n properties:\n email:\n type: string\n format: email\n description: Email address to validate.\n name:\n type: string\n description: Optional name or label.\n ip:\n type: string\n format: ip\n description: Optional IP address for enrichment.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\n X-Concurrent-Threads:\n description: Specifies the maximum number of concurrent requests allowed.\n schema:\n type: integer\n X-Concurrent-Threads-Active:\n description: Indicates the number of active concurrent requests being processed.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
52988
+ "email-checker": `openapi: 3.1.1
52989
+ info:
52990
+ title: Email Checker API - Real-Time Validation, Deliverability & Risk Signals
52991
+ version: 1.0.0
52992
+ description: Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/accept_all/invalid/unknown/risky/app_server_blocked status.
52993
+ contact:
52994
+ name: APIFreaks Support
52995
+ url: https://apifreaks.com/contact
52996
+ email: support@apifreaks.com
52997
+ servers:
52998
+ - url: https://api.apifreaks.com/v1.0
52999
+ description: Email Checker API Server
53000
+ paths:
53001
+ /email-validation/single:
53002
+ post:
53003
+ tags:
53004
+ - Email Validation APIs
53005
+ summary: Validate a single email
53006
+ description: Validates a single email address and returns result.
53007
+ parameters:
53008
+ - name: format
53009
+ in: query
53010
+ required: false
53011
+ schema:
53012
+ type: string
53013
+ enum:
53014
+ - json
53015
+ - xml
53016
+ description: Format of the response
53017
+ requestBody:
53018
+ required: true
53019
+ content:
53020
+ application/json:
53021
+ schema:
53022
+ $ref: '#/components/schemas/EmailCheckRequest'
53023
+ responses:
53024
+ '200':
53025
+ description: Successful response with Email Validation
53026
+ content:
53027
+ application/json:
53028
+ schema:
53029
+ $ref: '#/components/schemas/SingleEmailValidationResponse'
53030
+ examples:
53031
+ validEmail:
53032
+ summary: Valid, deliverable email
53033
+ value:
53034
+ success: true
53035
+ email: abc.def@gmail.com
53036
+ validEmail: valid
53037
+ validSyntax: true
53038
+ domain:
53039
+ name: gmail.com
53040
+ disposable: false
53041
+ spam: false
53042
+ free: true
53043
+ validDomain: true
53044
+ catchAll: false
53045
+ account:
53046
+ role: false
53047
+ fullMailBox: false
53048
+ dns:
53049
+ mxRecord:
53050
+ - gmail-smtp-in.l.google.com.
53051
+ - alt1.gmail-smtp-in.l.google.com.
53052
+ - alt2.gmail-smtp-in.l.google.com.
53053
+ - alt3.gmail-smtp-in.l.google.com.
53054
+ - alt4.gmail-smtp-in.l.google.com.
53055
+ invalidSyntax:
53056
+ summary: Syntactically invalid email \u2014 domain/account/dns are minimal or absent
53057
+ value:
53058
+ success: true
53059
+ email: not-an-email
53060
+ validEmail: INVALID_EMAIL
53061
+ validSyntax: false
53062
+ domain:
53063
+ name: not-an-email
53064
+ validDomain: false
53065
+ nonexistentDomain:
53066
+ summary: Valid syntax, domain does not exist (NXDOMAIN)
53067
+ value:
53068
+ success: true
53069
+ email: test@nonexistentdomainxyz123abc.com
53070
+ validEmail: invalid
53071
+ validSyntax: true
53072
+ reason: mx record does not exist.
53073
+ domain:
53074
+ name: nonexistentdomainxyz123abc.com
53075
+ disposable: false
53076
+ spam: false
53077
+ free: false
53078
+ validDomain: false
53079
+ catchAll: false
53080
+ account:
53081
+ role: false
53082
+ acceptAll:
53083
+ summary: Catch-all domain accepted the recipient \u2014 mailbox unconfirmed
53084
+ value:
53085
+ success: true
53086
+ email: random12345@yahoo.com
53087
+ validEmail: accept_all
53088
+ validSyntax: true
53089
+ reason: domain accepts all addresses.
53090
+ domain:
53091
+ name: yahoo.com
53092
+ disposable: false
53093
+ spam: false
53094
+ free: true
53095
+ validDomain: true
53096
+ catchAll: true
53097
+ account:
53098
+ role: false
53099
+ fullMailBox: false
53100
+ dns:
53101
+ mxRecord:
53102
+ - mta5.am0.yahoodns.net.
53103
+ - mta6.am0.yahoodns.net.
53104
+ - mta7.am0.yahoodns.net.
53105
+ nullMxDomain:
53106
+ summary: Domain publishes a null MX (single ".") \u2014 accepts no mail at all
53107
+ value:
53108
+ success: true
53109
+ email: test@example.com
53110
+ validEmail: invalid
53111
+ validSyntax: true
53112
+ reason: domain does not accept mail.
53113
+ domain:
53114
+ name: example.com
53115
+ disposable: true
53116
+ spam: false
53117
+ free: false
53118
+ validDomain: true
53119
+ catchAll: false
53120
+ account:
53121
+ role: false
53122
+ dns:
53123
+ mxRecord:
53124
+ - .
53125
+ noMxAddressOnly:
53126
+ summary: Domain has no MX record but a working A record \u2014 gets a real SMTP probe
53127
+ value:
53128
+ success: true
53129
+ email: test@neverssl.com
53130
+ validEmail: unknown
53131
+ validSyntax: true
53132
+ reason: We are unable to determine if email is valid or invalid.
53133
+ domain:
53134
+ name: neverssl.com
53135
+ disposable: false
53136
+ spam: false
53137
+ free: false
53138
+ validDomain: true
53139
+ catchAll: false
53140
+ account:
53141
+ role: false
53142
+ dns:
53143
+ aRecord:
53144
+ - 34.223.124.45
53145
+ withIp:
53146
+ summary: With ip \u2014 adds geolocation/security enrichment under address
53147
+ value:
53148
+ success: true
53149
+ email: abc.def@gmail.com
53150
+ validEmail: valid
53151
+ validSyntax: true
53152
+ domain:
53153
+ name: gmail.com
53154
+ disposable: false
53155
+ spam: false
53156
+ free: true
53157
+ validDomain: true
53158
+ catchAll: false
53159
+ account:
53160
+ role: false
53161
+ fullMailBox: false
53162
+ dns:
53163
+ mxRecord:
53164
+ - gmail-smtp-in.l.google.com.
53165
+ - alt1.gmail-smtp-in.l.google.com.
53166
+ - alt2.gmail-smtp-in.l.google.com.
53167
+ - alt3.gmail-smtp-in.l.google.com.
53168
+ - alt4.gmail-smtp-in.l.google.com.
53169
+ ip: 8.8.8.8
53170
+ address:
53171
+ validIpAddress: true
53172
+ location:
53173
+ city: Mountain View
53174
+ district: Santa Clara
53175
+ confidence: low
53176
+ zipcode: 94043-1351
53177
+ state_prov: California
53178
+ country_name: United States
53179
+ continent_name: North America
53180
+ continent_code: NA
53181
+ country_code2: US
53182
+ country_code3: USA
53183
+ country_name_official: United States of America
53184
+ accuracy_radius: '27.42'
53185
+ is_eu: false
53186
+ security:
53187
+ threat_score: 5
53188
+ is_tor: false
53189
+ is_proxy: false
53190
+ proxy_type: ''
53191
+ proxy_provider: ''
53192
+ is_anonymous: false
53193
+ is_known_attacker: false
53194
+ is_spam: false
53195
+ is_bot: false
53196
+ is_cloud_provider: true
53197
+ cloud_provider: Google LLC
53198
+ appServerBlocked:
53199
+ summary: Valid syntax, but the recipient mail server blocked the verification attempt
53200
+ value:
53201
+ success: true
53202
+ email: randomuser98765zzz@gmx.com
53203
+ validEmail: app_server_blocked
53204
+ validSyntax: true
53205
+ reason: We are unable to determine the validity of email at the moment. Please try later.
53206
+ domain:
53207
+ name: gmx.com
53208
+ disposable: false
53209
+ spam: false
53210
+ free: true
53211
+ validDomain: true
53212
+ catchAll: false
53213
+ account:
53214
+ role: false
53215
+ dns:
53216
+ mxRecord:
53217
+ - mx00.gmx.net.
53218
+ headers:
53219
+ X-AF-Credits-Cost:
53220
+ $ref: '#/components/headers/X-AF-Credits-Cost'
53221
+ X-Concurrent-Threads:
53222
+ $ref: '#/components/headers/X-Concurrent-Threads'
53223
+ X-Concurrent-Threads-Active:
53224
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
53225
+ '400':
53226
+ description: Bad Request \u2013 Invalid request body
53227
+ content:
53228
+ application/json:
53229
+ schema:
53230
+ $ref: '#/components/schemas/ErrorResponse'
53231
+ examples:
53232
+ missingEmail:
53233
+ summary: email field missing from request body
53234
+ value:
53235
+ timestamp: '2026-09-02T11:56:23.462Z'
53236
+ path: /v2/email-validation/single
53237
+ status: 400
53238
+ error: Missing or Invalid Parameters
53239
+ message: Please pass valid value for 'email' in body.
53240
+ headers:
53241
+ X-AF-Credits-Cost:
53242
+ $ref: '#/components/headers/X-AF-Credits-Cost'
53243
+ X-Concurrent-Threads:
53244
+ $ref: '#/components/headers/X-Concurrent-Threads'
53245
+ X-Concurrent-Threads-Active:
53246
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
53247
+ '404':
53248
+ description: Not Found \u2013 The requested resource could not be found
53249
+ content:
53250
+ application/json:
53251
+ schema:
53252
+ $ref: '#/components/schemas/ErrorResponse'
53253
+ examples:
53254
+ Resource Not Found:
53255
+ value:
53256
+ timestamp: '2026-09-02T11:56:23.937Z'
53257
+ path: /v1.0/email-validation/singlex
53258
+ status: 404
53259
+ error: Resource Not Found
53260
+ message: The requested resource could not be found. Please verify the URL and try again.
53261
+ headers:
53262
+ X-AF-Credits-Cost:
53263
+ $ref: '#/components/headers/X-AF-Credits-Cost'
53264
+ X-Concurrent-Threads:
53265
+ $ref: '#/components/headers/X-Concurrent-Threads'
53266
+ X-Concurrent-Threads-Active:
53267
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
53268
+ '408':
53269
+ description: Request Timeout
53270
+ content:
53271
+ application/json:
53272
+ schema:
53273
+ $ref: '#/components/schemas/ErrorResponse'
53274
+ examples:
53275
+ Request Timeout:
53276
+ value:
53277
+ timestamp: '2026-06-06T13:00:00.000Z'
53278
+ path: /v1.0/email-validation/single
53279
+ status: 408
53280
+ error: Request Timeout
53281
+ message: Timed out while connecting to the remote URL.
53282
+ headers:
53283
+ X-AF-Credits-Cost:
53284
+ $ref: '#/components/headers/X-AF-Credits-Cost'
53285
+ X-Concurrent-Threads:
53286
+ $ref: '#/components/headers/X-Concurrent-Threads'
53287
+ X-Concurrent-Threads-Active:
53288
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
53289
+ '429':
53290
+ description: Rate Limit Exceeded
53291
+ content:
53292
+ application/json:
53293
+ schema:
53294
+ $ref: '#/components/schemas/ErrorResponse'
53295
+ examples:
53296
+ Rate Limit Exceeded:
53297
+ value:
53298
+ timestamp: '2026-06-06T13:00:00.000Z'
53299
+ path: /v1.0/email-validation/single
53300
+ status: 429
53301
+ error: Too Many Requests
53302
+ message: API rate limit exceeded.
53303
+ headers:
53304
+ X-AF-Credits-Cost:
53305
+ $ref: '#/components/headers/X-AF-Credits-Cost'
53306
+ X-Concurrent-Threads:
53307
+ $ref: '#/components/headers/X-Concurrent-Threads'
53308
+ X-Concurrent-Threads-Active:
53309
+ $ref: '#/components/headers/X-Concurrent-Threads-Active'
53310
+ operationId: checkEmail
53311
+ components:
53312
+ securitySchemes:
53313
+ ApiKeyAuthHeader:
53314
+ type: apiKey
53315
+ in: header
53316
+ name: X-apiKey
53317
+ description: Pass your API key via the X-apiKey request header.
53318
+ ApiKeyAuthQuery:
53319
+ type: apiKey
53320
+ in: query
53321
+ name: apiKey
53322
+ description: Pass your API key via the apiKey query parameter.
53323
+ schemas:
53324
+ SingleEmailValidationResponse:
53325
+ type: object
53326
+ required:
53327
+ - success
53328
+ - email
53329
+ - validEmail
53330
+ - validSyntax
53331
+ - domain
53332
+ properties:
53333
+ success:
53334
+ type: boolean
53335
+ description: 'Indicates the processing status of the validation request. true: completed successfully.'
53336
+ email:
53337
+ type: string
53338
+ format: email
53339
+ description: The email address submitted for validation.
53340
+ name:
53341
+ type: string
53342
+ description: Optional identifier or label provided in the request for record tracking.
53343
+ reason:
53344
+ type: string
53345
+ description: Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid.
53346
+ validEmail:
53347
+ type: string
53348
+ enum:
53349
+ - valid
53350
+ - accept_all
53351
+ - invalid
53352
+ - INVALID_EMAIL
53353
+ - unknown
53354
+ - risky
53355
+ - app_server_blocked
53356
+ description: 'Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason ''domain accepts all addresses.''. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid.'
53357
+ validSyntax:
53358
+ type: boolean
53359
+ description: Validates email address format compliance with RFC 5322 standards.
53360
+ domain:
53361
+ $ref: '#/components/schemas/DomainObject'
53362
+ account:
53363
+ $ref: '#/components/schemas/AccountObject'
53364
+ dns:
53365
+ $ref: '#/components/schemas/DnsObject'
53366
+ address:
53367
+ $ref: '#/components/schemas/AddressObject'
53368
+ ip:
53369
+ type: string
53370
+ format: ip
53371
+ description: IP address provided for geolocation and security enrichment.
53372
+ description: Email validation response containing deliverability assessment and metadata.
53373
+ DomainObject:
53374
+ type: object
53375
+ required:
53376
+ - name
53377
+ - validDomain
53378
+ properties:
53379
+ name:
53380
+ type: string
53381
+ description: Extracted domain component from the email address.
53382
+ validDomain:
53383
+ type: boolean
53384
+ description: Domain validation status confirming DNS resolution capability.
53385
+ disposable:
53386
+ type: boolean
53387
+ description: Classification flag identifying domains from temporary email service providers.
53388
+ spam:
53389
+ type: boolean
53390
+ description: Reputation indicator flagging domains on spam databases.
53391
+ free:
53392
+ type: boolean
53393
+ description: Classification indicating free or consumer-grade email service providers.
53394
+ catchAll:
53395
+ type: boolean
53396
+ description: Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all.
53397
+ description: Domain validation details for the email address.
53398
+ AccountObject:
53399
+ type: object
53400
+ required:
53401
+ - role
53402
+ properties:
53403
+ role:
53404
+ type: boolean
53405
+ description: Detection flag identifying role-based email addresses (e.g., admin@, support@).
53406
+ fullMailBox:
53407
+ type: boolean
53408
+ description: Storage capacity status indicator for the recipient mailbox.
53409
+ description: Account-level validation details.
53410
+ DnsObject:
53411
+ type: object
53412
+ required: []
53413
+ properties:
53414
+ mxRecord:
53415
+ type: array
53416
+ items:
53417
+ type: string
53418
+ description: Every MX hostname at the domain's lowest preference (not just one). ["."] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.
53419
+ aRecord:
53420
+ type: array
53421
+ items:
53422
+ type: string
53423
+ description: Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host.
53424
+ description: DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record.
53425
+ AddressObject:
53426
+ type: object
53427
+ properties:
53428
+ validIpAddress:
53429
+ type: boolean
53430
+ description: IP recognized/reachable by the geolocation provider.
53431
+ location:
53432
+ $ref: '#/components/schemas/EmailLocation'
53433
+ security:
53434
+ $ref: '#/components/schemas/EmailSecurity'
53435
+ description: Geolocation and security enrichment data for the IP address.
53436
+ required: []
53437
+ EmailLocation:
53438
+ type: object
53439
+ description: Geolocation data derived from the IP address.
53440
+ properties:
53441
+ city:
53442
+ type: string
53443
+ description: Municipal or city name.
53444
+ district:
53445
+ type: string
53446
+ description: District or neighborhood.
53447
+ zipcode:
53448
+ type: string
53449
+ description: Postal or ZIP code.
53450
+ state_prov:
53451
+ type: string
53452
+ description: State or province.
53453
+ country_name:
53454
+ type: string
53455
+ description: Common country name.
53456
+ country_name_official:
53457
+ type: string
53458
+ description: Official country name.
53459
+ country_code2:
53460
+ type: string
53461
+ description: Two-character ISO country code.
53462
+ country_code3:
53463
+ type: string
53464
+ description: Three-character ISO country code.
53465
+ continent_name:
53466
+ type: string
53467
+ description: Continental region name.
53468
+ continent_code:
53469
+ type: string
53470
+ description: Continental region identifier.
53471
+ accuracy_radius:
53472
+ type: string
53473
+ description: Geolocation precision radius.
53474
+ confidence:
53475
+ type: string
53476
+ description: Confidence score for geolocation accuracy.
53477
+ is_eu:
53478
+ type: boolean
53479
+ description: European Union membership status.
53480
+ required: []
53481
+ EmailSecurity:
53482
+ type: object
53483
+ description: Threat and anonymity profile for the IP address.
53484
+ required:
53485
+ - threat_score
53486
+ - is_tor
53487
+ - is_proxy
53488
+ - proxy_type
53489
+ - proxy_provider
53490
+ - is_anonymous
53491
+ - is_known_attacker
53492
+ - is_spam
53493
+ - is_bot
53494
+ - is_cloud_provider
53495
+ - cloud_provider
53496
+ properties:
53497
+ threat_score:
53498
+ type: integer
53499
+ description: Quantitative risk assessment score. Higher values indicate elevated security risk.
53500
+ is_tor:
53501
+ type: boolean
53502
+ description: Detection flag for IP addresses routed through the Tor anonymity network.
53503
+ is_proxy:
53504
+ type: boolean
53505
+ description: Detection flag identifying IP addresses operating as proxy servers.
53506
+ proxy_type:
53507
+ type: string
53508
+ description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).
53509
+ proxy_provider:
53510
+ type: string
53511
+ description: Identified service provider operating the proxy infrastructure.
53512
+ is_anonymous:
53513
+ type: boolean
53514
+ description: Anonymization detection flag for IP addresses using identity obfuscation techniques.
53515
+ is_known_attacker:
53516
+ type: boolean
53517
+ description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.
53518
+ is_spam:
53519
+ type: boolean
53520
+ description: Reputation flag for IP addresses associated with spam transmission.
53521
+ is_bot:
53522
+ type: boolean
53523
+ description: Automated traffic detection flag for IP addresses from bot networks.
53524
+ is_cloud_provider:
53525
+ type: boolean
53526
+ description: Infrastructure classification flag for IP addresses from cloud computing providers.
53527
+ cloud_provider:
53528
+ type: string
53529
+ description: Identified cloud infrastructure or hosting service provider name.
53530
+ EmailCheckRequest:
53531
+ type: object
53532
+ description: Request body for email validation.
53533
+ required:
53534
+ - email
53535
+ properties:
53536
+ email:
53537
+ type: string
53538
+ format: email
53539
+ description: Email address to validate.
53540
+ name:
53541
+ type: string
53542
+ description: Optional name or label for record tracking.
53543
+ ip:
53544
+ type: string
53545
+ format: ip
53546
+ description: Optional IP address for geolocation and security enrichment.
53547
+ ErrorResponse:
53548
+ type: object
53549
+ description: Standard error envelope returned by the API on failed requests.
53550
+ required:
53551
+ - message
53552
+ properties:
53553
+ error:
53554
+ type: string
53555
+ description: Short error category or exception type.
53556
+ message:
53557
+ type: string
53558
+ description: Human-readable error message describing the failure.
53559
+ path:
53560
+ type: string
53561
+ description: API endpoint path that produced the error.
53562
+ status:
53563
+ type: integer
53564
+ description: HTTP status code returned with the error.
53565
+ timestamp:
53566
+ type: string
53567
+ format: date-time
53568
+ description: Timestamp when the error occurred (ISO 8601).
53569
+ headers:
53570
+ X-AF-Credits-Cost:
53571
+ description: Specifies the number of credits consumed by the current request.
53572
+ schema:
53573
+ type: integer
53574
+ X-Concurrent-Threads:
53575
+ description: Specifies the maximum number of concurrent requests allowed.
53576
+ schema:
53577
+ type: integer
53578
+ X-Concurrent-Threads-Active:
53579
+ description: Indicates the number of active concurrent requests being processed.
53580
+ schema:
53581
+ type: integer
53582
+ security:
53583
+ - ApiKeyAuthHeader: []
53584
+ - ApiKeyAuthQuery: []
53585
+ `,
52843
53586
  "bulk-vat-rates-country": "openapi: 3.1.1\ninfo:\n title: Bulk VAT Rates by Country API Reference\n version: 1.0.0\n description: Get VAT rates for up to 100 countries or country/state combinations in a single API call. Returns a JSON array of VAT rate results, one entry per country that resolves successfully \u2014 entries with an invalid country/state are silently omitted rather than returned as per-item errors, so the array can be shorter than the requested list. Returns a 400 for a missing/malformed request body and a 413 if the payload exceeds the size limit.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Bulk VAT Rates by Country API Server\npaths:\n /vat/rates/country:\n post:\n tags:\n - Financial APIs\n summary: Bulk VAT lookup by country\n description: Retrieves VAT details for multiple countries or country-state combinations in a single request. Maximum of `100` entries per request are allowed.\n operationId: bulkVatRatesByCountry\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: 'Specify the desired response format. Options: ''json'' (default) or ''xml''.'\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkVatRequest'\n examples:\n typicalRequest:\n summary: Typical bulk VAT lookup request\n value:\n countries:\n - country: DE\n - country: United_States\n state: New_York\n responses:\n '200':\n description: Successful response \u2014 a JSON array of VAT results, one entry per country that resolved successfully, in request order. Countries that fail to resolve are omitted rather than represented as error entries.\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/VatCountryBulkResponse'\n examples:\n typicalSuccess:\n summary: All requested countries resolved\n value:\n - country: DE\n type: vat\n currency: EUR\n standard_rate: 0.19\n reduced_rate:\n - 0.07\n - 0\n categories:\n books: 0.07\n newspapers: 0.07\n periodicals: 0.07\n broadcasting: 0\n - country: United_States\n state: New_York\n type: vat\n currency: ''\n standard_rate: 0.04\n partialMatch:\n summary: One of two requested countries resolved \u2014 the unresolved one is simply absent\n value:\n - country: DE\n type: vat\n currency: EUR\n standard_rate: 0.19\n reduced_rate:\n - 0.07\n - 0\n categories:\n books: 0.07\n newspapers: 0.07\n periodicals: 0.07\n broadcasting: 0\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '400':\n description: Bad Request \u2014 Missing or malformed request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n InvalidBody:\n summary: countries field missing or malformed\n value:\n error: Invalid request body Exception\n message: Please provide data in required format in request body\n path: /v1.0/vat/rates/country\n status: 400\n timestamp: '2026-07-27T11:46:29.315Z'\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '413':\n description: Payload Too Large \u2014 Request body exceeds the size limit\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n PayloadTooLarge:\n summary: Too many entries / body too large\n value:\n error: Payload too large Exception\n message: Maximum request body size limit exceeded\n path: /v1.0/vat/rates/country\n status: 413\n timestamp: '2026-07-27T11:46:29.925Z'\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n VatCountryBulkResponse:\n type: array\n description: Array of VAT rate results, one entry per country that resolved successfully, in request order. Countries that fail to resolve are omitted, so this array can be shorter than the requested countries list.\n items:\n $ref: '#/components/schemas/VatBulkResponseItem'\n VatBulkResponseItem:\n type: object\n description: A VAT rate result for a single country or state in a bulk response.\n required:\n - country\n - type\n - currency\n - standard_rate\n properties:\n country:\n type: string\n description: Country identifier returned in the result item.\n state:\n type: string\n description: State or region returned for sub-national lookups. Only present when the request included a state.\n type:\n type: string\n description: Tax type applied for the country or state.\n currency:\n type: string\n description: ISO 4217 currency code for the returned location. Can be an empty string for some state-level entries.\n standard_rate:\n type: number\n format: float\n description: Standard VAT or sales tax rate for the returned location.\n reduced_rate:\n type: array\n description: Reduced VAT rates when defined for the location.\n items:\n $ref: '#/components/schemas/VatRateDecimal'\n super_reduced_rate:\n type: array\n description: Super-reduced VAT rates for specific categories, when defined.\n items:\n $ref: '#/components/schemas/VatRateDecimal'\n parking_rate:\n type: number\n format: float\n description: Parking rate, when applicable.\n categories:\n description: Category-specific VAT rates, where defined (EU/UK only).\n $ref: '#/components/schemas/VatCategories'\n VatRateDecimal:\n type: number\n format: float\n description: A VAT rate expressed as a decimal (e.g., 0.19 = 19%).\n VatCategories:\n type: object\n description: Category-specific VAT rates, where defined (EU/UK only). Keys vary by country.\n properties:\n books:\n type: number\n format: float\n description: VAT rate for books, as a decimal (e.g., 0.07 = 7%).\n newspapers:\n type: number\n format: float\n description: VAT rate for newspapers, as a decimal (e.g., 0.07 = 7%).\n periodicals:\n type: number\n format: float\n description: VAT rate for periodicals, as a decimal (e.g., 0.07 = 7%).\n broadcasting:\n type: number\n format: float\n description: VAT rate for broadcasting services, as a decimal (e.g., 0.19 = 19%).\n BulkVatRequest:\n type: object\n description: Request body for bulk VAT rate lookup by country.\n required:\n - countries\n properties:\n countries:\n type: array\n description: Array of country entries to look up. Maximum 100 entries.\n items:\n $ref: '#/components/schemas/BulkVatRequestItem'\n BulkVatRequestItem:\n type: object\n description: A single country entry in a bulk VAT request.\n required:\n - country\n properties:\n country:\n type: string\n description: Country identifier in Alpha-2, Alpha-3, or full name.\n state:\n type: string\n description: Optional state or region for sub-national VAT.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
52844
53587
  "financial-apis-supported-countries": "openapi: 3.1.1\ninfo:\n title: Financial APIs Supported Countries Reference\n version: 1.0.0\n description: Retrieve the countries and states supported by the VAT, IBAN, and SWIFT APIs. The response always includes all three categories \u2014 VAT_Supported_Countries_And_States, IBAN_Supported_Countries, and SWIFT_Supported_Countries \u2014 each with a different shape. VAT entries are keyed by lowercase country name and include an ISO code plus, for a handful of countries (US, Canada, Spain), a nested map of sub-national state/region codes. IBAN and SWIFT entries are flat arrays of {name, countryCode} objects.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Financial APIs Supported Countries API Server\npaths:\n /vat/supported-countries:\n get:\n tags:\n - Financial APIs\n summary: Get supported countries\n description: Returns the countries and states supported by the VAT, IBAN, and SWIFT APIs.\n operationId: getSupportedCountries\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response. Default is JSON.\n - name: type\n in: query\n required: false\n schema:\n type: string\n description: Accepted by the endpoint but currently has no effect \u2014 all three categories (VAT, IBAN, SWIFT) are always returned regardless of this value.\n responses:\n '200':\n description: Successful response \u2014 always returns all three categories\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SupportedCountriesResponse'\n examples:\n typicalSuccess:\n summary: Typical successful response (truncated)\n value:\n VAT_Supported_Countries_And_States:\n - germany:\n code: de\n - united_states:\n code: us\n states:\n california: us:ca\n new_york: us:ny\n texas: us:tx\n IBAN_Supported_Countries:\n - countryCode: DE\n name: Germany\n - countryCode: GB\n name: United Kingdom\n SWIFT_Supported_Countries:\n - name: Germany\n countryCode: DE\n - name: United States\n countryCode: US\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n SupportedCountriesResponse:\n type: object\n description: Countries and states supported by the VAT, IBAN, and SWIFT APIs.\n required:\n - VAT_Supported_Countries_And_States\n - IBAN_Supported_Countries\n - SWIFT_Supported_Countries\n properties:\n VAT_Supported_Countries_And_States:\n type: array\n description: Array of single-key objects, one per supported VAT country. Each key is the lowercase, underscore-separated country name.\n items:\n type: object\n description: A single VAT-supported country, keyed by its lowercase name.\n additionalProperties:\n title: VatCountryEntry\n $ref: '#/components/schemas/VatCountryEntry'\n IBAN_Supported_Countries:\n type: array\n description: Array of countries supported by the IBAN Validation API.\n items:\n $ref: '#/components/schemas/IbanCountryEntry'\n SWIFT_Supported_Countries:\n type: array\n description: Array of countries supported by the SWIFT/BIC Code Lookup and Finder APIs.\n items:\n $ref: '#/components/schemas/SwiftCountryEntry'\n VatCountryEntry:\n type: object\n description: 'VAT country metadata: an ISO 3166-1 alpha-2 code, plus an optional map of sub-national states/regions for countries with state-level VAT (US, Canada, Spain).'\n required:\n - code\n properties:\n code:\n type: string\n description: ISO 3166-1 alpha-2 country code, lowercase.\n states:\n type: object\n description: Map of state/region name to its combined country:state code. Only present for countries with sub-national VAT rates.\n additionalProperties:\n title: StateCode\n type: string\n description: Combined country:state identifier (e.g. us:ca).\n IbanCountryEntry:\n type: object\n description: A single country supported by the IBAN Validation API.\n required:\n - countryCode\n - name\n properties:\n countryCode:\n type: string\n description: ISO 3166-1 alpha-2 country code.\n name:\n type: string\n description: Full country name.\n SwiftCountryEntry:\n type: object\n description: A single country supported by the SWIFT/BIC Code Lookup and Finder APIs.\n required:\n - name\n - countryCode\n properties:\n name:\n type: string\n description: Full country name.\n countryCode:\n type: string\n description: ISO 3166-1 alpha-2 country code.\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
52845
53588
  "iban-validation": `openapi: 3.1.1